容器服务 Ingress 配置双算法证书

TKE Ingress 支持为一个域名配置一个证书,参见 Ingress 证书配置。同时,也支持为一个域名配置两个不同算法类型的证书,如 ECC 和 RSA。这篇将介绍其具体使用方法。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、支持版本

配置双证书的 ingress-controller 组件版本最低要求为 v2.5.0。

注意:说明:

注意:你可以通过 提交工单 确认组件版本是否满足要求,也可以通过查看 kube-system 命名空间下 tke-service-controller-config 和 tke-ingress-controller-config 的 ConfigMap 中的 VERSION 字段值来确认 service-controller 和 ingress-controller 版本。

二、注意事项

·Secret 最多支持两个不同算法类型的证书。

·Secret 的类型必须为Opaque。

·使用双算法证书的 Secret,暂不支持在 SSL 控制台自动更新,用户需要手动在 Secret 中替换新的证书 ID,TKE 会将新的证书 ID 同步到 CLB。

·使用双算法证书的 Secret 暂时只支持配置给 Ingress,不支持特殊协议监听器。

·Secret 需与 Ingress 在同一个命名空间。

三、方式1:使用 stringData 区域的键值对,value 会自动 BASE64 加密

apiVersion: v1stringData: qcloud_cert_id: CertID1,CertID2 # 填写证书ID,用逗号(英文)作为分隔符kind: Secretmetadata: name: kateway-certtype: Opaque

四、方式2:用户手动对证书 ID 进行 BASE64 加密

apiVersion: v1data: qcloud_cert_id: (base64) CertID1,CertID2 # 提前对 CertID1,CertID2 BASE64加密kind: Secretmetadata: name: kateway-certtype: Opaque

五、方式3:在控制台创建 Secret(无需手动 BASE64 加密)

通过控制台创建 Secret,操作步骤请参见 创建 Secret。

六、2. 部署工作负载

apiVersion: apps/v1kind: Deploymentmetadata: name: nginxspec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: – image: nginx:latest imagePullPolicy: Always name: nginx

七、3. 创建 NodePort Service

apiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginx service: nginxspec: ports: – name: http port: 80 targetPort: 80 selector: app: nginx type: NodePort

八、4. 创建 Ingress,域名关联 Secret

apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: nginxspec: rules: – host: <domain> http: paths: – backend: service: name: nginx port: number: 80 path: / pathType: ImplementationSpecific tls: – hosts: # 有 hosts 会默认开启 sni, 这样证书会配置到 rule 级别 – <domain> secretName: <secret>

注意:说明:

赞 (0)
上一篇 4天前
下一篇 4天前