kubernetes支持Base認證/Token認證/CA認證三種,這篇文章用于記錄一下CA認證所需要的最簡單程度的命令。
kubernetes構成

測試版本為1.10,但不限于此版本,為openssl證書較為通用的方式。
所需證書
所需要的證書相關文件的說明如下:

CA證書
CA證書私鑰

命令:openssl genrsa -out ca.key 2048
[root@host121 k8scert]# openssl genrsa -out ca.key 2048
Generating RSA private key, 2048 bit long modulus
........................................................+++
..................+++
e is 65537 (0x10001)
[root@host121 k8scert]#
CA證書

命令:openssl genrsa -out ca.key 2048
[root@host121 k8scert]# openssl req -x509 -new -nodes -key ca.key -subj "/CN=host121" -days 5000 -out ca.crt
[root@host121 k8scert]# ls
archive ca.crt ca.key
[root@host121 k8scert]#
XXX用證書
apiserver/ControllerManager/kublet等所需證書可用如下方式創建
證書私鑰

命令:openssl genrsa -out server.key 2048
[root@host121 k8scert]# openssl genrsa -out server.key 2048
Generating RSA private key, 2048 bit long modulus
..............................+++
........................................................................+++
e is 65537 (0x10001)
[root@host121 k8scert]#
證書簽名請求文件

命令:openssl req -new -key server.key -subj “/CN=host121” -out server.csr
[root@host121 k8scert]# openssl req -new -key server.key -subj "/CN=host121" -out server.csr
[root@host121 k8scert]#
subj中設定的subject的信息為用戶自己的數據,一般將CN設定為域名/機器名/或者IP名稱,比如kubelet為所在node的IP即可
證書

命令:openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
[root@host121 k8scert]# openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 5000
Signature ok
subject=/CN=host121
Getting CA Private Key
[root@host121 k8scert]#
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接