1、使用以下命令检查OpenSSL命令的安装版本

openssl version

2、生成证书文件

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt

按提示输入城市信息,注意Common Name为你需要指定域名

生成的正式都是pem格式的

3、创建secret

kubectl create secret tls https-secret --key tls.key --cert tls.crt

ingress需要指定到ingress所在命名空间,istio gateway则指定到istio-gateway

4、引用secret

Ingress-nginx在配置中添加一下参数

spec:
  ingressClassName: nginx
  rules:
  - host: www.example.com
    http:
      paths:
      - backend:
          service:
            name: nginx
            port:
              number: 80
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - www.example.com
    secretName: https-secret


Istio gateway在配置中添加一下参数

spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - '*'
    port:
      name: http
      number: 80
      protocol: HTTP
  - hosts:
    - www.example.com
    port:
      name: https
      number: 443
      protocol: HTTPS
    tls:
      credentialName: https-secret
      mode: SIMPLE        

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐