操作场景
本文档介绍工作负载如何通过 Service 和 Ingress 对外暴露服务入口。
服务类型介绍
Service
Service 定义访问后端 Pod 的访问策略,提供固定的虚拟访问 IP。您可以通过 Service 负载均衡地访问到后端的 Pod。
Service 支持以下类型:
公网访问: 使用 Service 的 Loadbalance 模式,自动创建公网 CLB。公网 IP 可直接访问到后端的 Pod。
集群内访问:使用 Service 的 ClusterIP 模式,用于集群内访问。
VPC 内网访问:使用 Service 的 Loadbalance 模式,自动创建内网 CLB。指定
annotations:service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxxxxxx
,VPC 内网即可通过内网 IP 直接访问到后端的 Pod。注意
当 Service 类型为公网访问时,默认不为该 Service 开启 ClusterIP。可通过在 yaml 中增加如下 annotations 开启 ClusterIP:
service.kubernetes.io/qcloud-clusterip-loadbalancer-subnetid: #Service CIDR使用的子网ID
Ingress
Ingress 是允许访问到集群内 Service 的规则的集合,您可以通过配置转发规则,实现不同 URL 可以访问到集群内不同的 Service。
为了使 Ingress 资源正常工作,集群必须运行 Ingress-controller。腾讯云容器服务在集群内默认启用了基于腾讯云负载均衡器实现的
l7-lb-controller
,支持 HTTP、HTTPS 及 nginx-ingress 类型,您可以根据您的业务需要选择不同的 Ingress 类型。前提条件
已创建状态为“运行中”的 Serverless 集群,详情请参见 创建集群。
集群有合适的且为 Active 状态的命名空间。
操作步骤
注意事项
Serverless 集群内创建 ClusterIP Service 会占用 Service CIDR 所选子网 IP,请确保该子网剩余 IP 足够。
Serverless 集群 Service 创建的 CLB 会直接绑定 Endpoint 内所有 Pod 的弹性网卡。
Serverless 集群 Service 仅支持 应用型负载均衡。
使用已有 CLB 创建 Service 时,仅支持使用当前未创建监听器的 CLB。