容器(ingress-ingress)安装证书

操作场景
  • 本文档指导您如何在 ingress-nginx中安装 SSL 证书。以证书名称 ubn.cn通配符证书,域名test.ubn.cn为例。
  • 以操作系统centos7.9为例,kubernetes v1.18,ingress v1.1为例。由于操作系统的版本不同,详细操作步骤略有区别。
  • SSL 证书文件上传至服务器方法可参考 如何将本地文件拷贝到云服务器
操作步骤
1.登录网站控制中心下载证书,可参考帮助文档中,证书下载
2.解压缩ssl证书压缩包
  • 解压后文件夹内容:
文件名称路径 作用 使用类型
ubn_cn.key 证书私钥 iis/apache/nginx通用私钥
Apache/ubn_cn.crt 证书文件 apache使用
IIS/ubn_cn.pfx 证书文件 iis使用
Nginx/ubn_cn.crt 证书文件 nginx、防火墙、cdn、负载均衡、对象存储等通用
  • 解压后文件示例:
3.将ubn_cn.key及nginx目录下ubn_cn.crt上传到ingress服务器。
4.到证书存储目录生成tls secret文件。

命令如下:

kubectl create secret tls ubn-tls --key ubn_cn.key --cert ubn_cn.crt
  • 参数详解:
  • ubn-tls创建的secret名称
  • –key –cert指定证书及秘钥文件
5.编辑ingress配置文件,应用证书

命令如下,根据实际情况修改:

#ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test
  namespace: default
spec:
  tls:
  - hosts:
    - test.ubn.cn
    secretName: ubn-tls
  rules:
  - host: test.ubn.cn
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: test
            port:
              number: 80