前提条件

1、创建集群的服务器证书,包括公钥证书和私钥。
您可通过以下命令快速创建集群的服务器证书。
openssl genrsa -out tls.key 2048

2、也可以选择购买其他机构签发的SSL证书

根据访问的方式不同,当前可以分为两种配置证书的方式:

A、在前端SLB上配置证书。

这里具体不做详解,可以参考https://help.aliyun.com/document_detail/93804.html

B、在Ingress中配置证书。

1、根据前提条件中准备好的证书执行以下命令创建Secret。

说明 在这里需要正确配置域名,否则后续通过HTTPS访问会有问题。

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

2、在k8s集群的ingress服务中引用上面的的secret-https

这里配置的前提是已经创建好服务的pod和ingress。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
   name: tomcat-https
spec:
  tls:
  - hosts:
    - foo.bar.com
    secretName: secret-https          #服务中引用上面第一步配置的证书名
......

3、在浏览器中访问https://foo.bar.com

image.png
解析完ingress IP对应的域名打开域名即可