-
生成证书前会先生成一个csr文件和一个key文件,保存下来(generated-csr.txt,generated-private-key.txt)
-
下载适用于nginx的Apache证书,解压之后文件(7992884781312df0.crt,7992884781312df0.pem,gd_bundle-g2-g1.crt)
$ ll total 24 -rw-rw-r--. 1 root root 2342 Sep 29 22:19 7992884781312df0.crt -rw-rw-r--. 1 root root 2342 Sep 29 22:19 7992884781312df0.pem -rw-rw-r--. 1 root root 4795 Sep 29 22:19 gd_bundle-g2-g1.crt -rw-r--r--. 1 root root 898 Sep 30 13:18 generated-csr.txt -rw-r--r--. 1 root root 1707 Sep 30 13:18 generated-private-key.txt
我们需要用到的7992884781312df0.crt、gd_bundle-g2-g1.crt、generated-private-key.txt这三个文件
-
处理文件
[root@k8s tls]# cp generated-private-key.txt tls.key [root@k8s tls]# cat 7992884781312df0.crt gd_bundle-g2-g1.crt > tls.crt
-
创建TLS密钥
[root@k8s tls]# kubectl create secret tls https-5ren --cert tls.crt --key tls.key -n 5ren error: tls: failed to find any PEM data in key input
出现
tls: failed to find any PEM data in key input
错误,使用Notepad++打开原generated-private-key.txt文件,发现文件的编码格式为UTF-8-BOM,切换文件编码为UTF-8,重新保存
密钥创建成功[root@k8s tls]# cp generated-private-key.txt tls.key cp: overwrite ‘tls.key’? y [root@k8s-portal-master1 tls]#kubectl create secret tls https-5ren --cert tls.crt --key tls.key -n 5ren secret/https-5ren created
-
更新需要使用证书的ingress,启用TLS认证
-
参考ingress-nginx配置https的一些文章