上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群 - Ingress 混合使用 HTTP 及 HTTPS 协议
容器服务 TKE
腾讯云容器服务 TKE 标准集群 - Ingress 混合使用 HTTP 及 HTTPS 协议

文档简介:
混合规则: 默认场景下,当 Ingress 中不配置 TLS 时,服务将以 HTTP 协议的方式对外暴露。当 Ingress 配置 TLS 时,服务将以 HTTPS 协议的方式对外暴露。Ingress 描述的服务只能以其中一种协议暴露服务,基于此规则的局限性,腾讯云容器服务 TKE 提供了混合协议的支持。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

混合规则

默认场景下,当 Ingress 中不配置 TLS 时,服务将以 HTTP 协议的方式对外暴露。当 Ingress 配置 TLS 时,服务将以 HTTPS 协议的方式对外暴露。Ingress 描述的服务只能以其中一种协议暴露服务,基于此规则的局限性,腾讯云容器服务 TKE 提供了混合协议的支持。
用户需要同时暴露 HTTP 及 HTTPS 服务时,只需参考本文,开启混合协议并配置所有的转发规则到 kubernetes.io/ingress.http-ruleskubernetes.io/ingress.https-rules 注解中即可。

规则格式

kubernetes.io/ingress.http-ruleskubernetes.io/ingress.https-rules 的规则格式是一个 Json Array。每个对象的格式如下:
		
{
"host": "<domain>",
"path": "<path>",
"backend": {
"serviceName": "<service name>",
"servicePort": "<service port>"
}
}

混合规则配置步骤

TKE Ingress Controller 支持混合配置 HTTPHTTPS 规则,步骤如下:
1. 开启混合规则 在 Ingress 中添加注解 kubernetes.io/ingress.rule-mix,并设置为 true。
2. 规则匹配将 Ingress 中的每条转发规则与 kubernetes.io/ingress.http-ruleskubernetes.io/ingress.https-rules 进行匹配,并添加到对应规则集中。若 Ingress 注解中的未找到对应规则,则默认添加到 HTTPS 规则集中。
3. 校验匹配项 匹配时请注意校验 Host、Path、ServiceName 及 ServicePort,其中 Host 默认为 VIP、Path 默认为 /
注意
IPv6 的负载均衡没有 IPv4 地址,不具备提供默认域名的功能。

示例

Ingress 示例:sample-ingress.yaml

		
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.http-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
kubernetes.io/ingress.https-rules: '[{"host":"www.tencent.com","path":"/","backend":{"serviceName":"sample-service","servicePort":"80"}}]'
kubernetes.io/ingress.rule-mix: "true"
name: sample-ingress
namespace: default
spec:
rules:
- host: www.tencent.com
http:
paths:
- backend:
serviceName: sample-service
servicePort: 80
path: /
tls:
- secretName: tencent-com-cert
该示例包含以下配置:
描述了默认证书,证书 ID 应该存在于名为 tencent-com-cert 的 Secret 资源中。
开启了混合协议,并在 kubernetes.io/ingress.http-ruleskubernetes.io/
相似文档
  • 简介: 基于接入层直连 Pod 的场景,当后端进行滚动更新或后端 Pod 被删除时,如果直接将 Pod 从 LB 的后端摘除,则无法处理 Pod 已接收但还未处理的请求。 特别是长链接的场景,例如会议业务,如果直接更新或删除工作负载的 Pod,此时会议会直接中断。
  • 操作场景: 本文档介绍 Ingress 证书使用相关的内容,您可在以下场景中进行 Ingress 证书配置: 创建 Ingress 选用 HTTPS 监听协议时,选用合适的服务器证书能够确保访问安全。 为所有的 HTTPS 域名绑定同一个证书,简化配置 Ingress 下所有 HTTPS 规则的证书,使更新操作更加便捷。 为不同的域名绑定不同的证书,改善服务器与客户端 SSL/TLS。
  • 您可以通过以下 Annotation 注解配置 Ingress,以实现更丰富的负载均衡的能力。 注解使用方式: apiVersion: kind: Ingress metadata: annotations: kubernetes.io/ingress.class: "qcloud" name: test ........
  • Nginx-ingress 介绍: Nginx 可以用作反向代理、负载平衡器和 HTTP 缓存。 Nginx-ingress 是使用 Nginx 作为反向代理和负载平衡器的 Kubernetes 的 Ingress 控制器。您可以部署 Nginx-ingress 组件,在集群中使用 Nginx-ingress。容器服务 TKE 提供了产品化的能力,帮助您在集群内安装和使用 Nginx-ingress。
  • 安装 NginxIngress 组件: 1. 登录 容器服务控制台,选择左侧导航栏中的集群。 2. 在集群管理页面,单击目标集群 ID,进入集群详情页。 3. 选择左侧导航中的组件管理,在组件管理页面,单击新建。 4. 在新建组件管理页面中勾选 NginxIngress。 5. 单击完成即可安装组件。安装完成后,您可以在组件管理中查看组件详情。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部