kubernetes支持base认证/token认证/ca认证三种,这篇文章用于记录一下ca认证所需要的最简单程度的命令。
kubernetes构成
测试版本为1.10,但不限于此版本,为openssl证书较为通用的方式。
所需证书
所需要的证书相关文件的说明如下:
ca证书
ca证书私钥
命令:openssl genrsa -out ca.key 2048
1
2
3
4
5
6
|
[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
1
2
3
4
|
[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
1
2
3
4
5
6
|
[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
1
2
|
[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
1
2
3
4
5
|
[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]# |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/liumiaocn/article/details/79835633