前提条件
1、创建集群的服务器证书,包括公钥证书和私钥。
您可通过以下命令快速创建集群的服务器证书。
openssl genrsa -out tls.key 2048
2、也可以选择购买其他机构签发的SSL证书
A、在前端SLB上配置证书。
这里具体不做详解,可以参考https://help.aliyun.com/document_detail/93804.html
B、在Ingress中配置证书。
1、根据前提条件中准备好的证书执行以下命令创建Secret。
说明 在这里需要正确配置域名,否则后续通过HTTPS访问会有问题。
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
解析完ingress IP对应的域名打开域名即可