用户指南

最佳实践

API 文档

服务管理

最近更新时间:2020-10-20 14:39:10

操作场景

本文档介绍工作负载如何通过 Service 和 Ingress 对外暴露服务入口。

前提条件

  • 已创建状态为“运行中”的弹性集群,详情请参见 创建集群
  • 集群有合适的且为 Active 状态的命名空间。

服务类型介绍

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 类型。

操作步骤

具体操作请参考 Service 管理Ingress 管理

注意事项

  • 弹性集群内创建 ClusterIP Service 会占用 Service CIDR 所选子网 IP,请确保该子网剩余 IP 足够。
  • 弹性集群 Service 创建的 CLB 会直接绑定 Endpoint 内所有 Pod 的弹性网卡。
  • 弹性集群 Service 仅支持 应用型负载均衡
  • 使用已有 CLB 创建 Service 时,仅支持使用当前未创建监听器的 CLB。
目录