如何获取TLS密钥证书?
场景
当您的Ingress需要使用HTTPS协议时,创建Ingress时必须配置IngressTLS或kubernetes.io/tls类型的密钥。
以创建IngressTLS密钥证书为例,如图1:
这里上传的证书文件和私钥文件必须是配套的,不然会出现无效的情况。
解决方法
一般情况下,您需要从证书提供商处获取有效的合法证书。如果您需要在测试环境下使用,您可以自建证书和私钥,方法如下:
自建的证书通常只适用于测试场景,使用时界面会提示证书不合法,影响正常访问,建议您选择手动上传合法证书,以便通过浏览器校验,保证连接的安全性。
- 自己生成tls.key。
openssl genrsa -out tls.key 2048
将在当前目录生成一个tls.key的私钥。
- 用此私钥去签发生成自己的证书。
openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=******/O=Devops/CN=example.com -days 3650
生成的私钥格式必须为:
----BEGIN RSA PRIVATE KEY----- …………………………………………….. -----END RSA PRIVATE KEY-----
生成的证书格式必须为:
-----BEGIN CERTIFICATE----- …………………………………………………………… -----END CERTIFICATE-----
- 导入证书。
验证
通过浏览器访问Ingress地址可以正常访问,但因为是自己签发的证书和密钥,所以这里CA不认可,显示不安全。