cfssl ca 证书有效期修改
cfssl ca证书有效期修改
|
作者 |
刘畅 |
|
时间 |
2022-02-20 |
目录
1 准备cfssl证书生成工具
2 生成kube-apiserver证书(5年)
3 生成kube-apiserver证书(100年)
# 可以看到ca证书的有效期是5年。
验证网站:
https://myssl.com/cert_decode.html
验证信息如下:
2 使用自签CA签发kube-apiserver HTTPS证书
(1)
创建kube-apiserver证书签名请求文件(使用CN)
# cat
> kube-apiserver-csr.json << EOF
{
"CN":
"kube-apiserver",
"hosts":
[
"k8s-master1",
"k8s-master2",
"127.0.0.1",
"172.16.1.81",
"10.0.0.81",
"172.16.1.82",
"10.0.0.82",
"172.16.1.80",
"172.28.0.1",
"kubernetes",
"kubernetes.default",
"kubernetes.default.svc",
"kubernetes.default.svc.cluster",
"kubernetes.default.svc.cluster.local"
],
"key":
{
"algo":
"rsa",
"size":
2048
},
"names":
[
{
"C":
"CN",
"L":
"BeiJing",
"ST":
"BeiJing",
"O":
"k8s",
"OU":
"System"
}
]
}
EOF
注:
CN # Common Name,kube-apiserver从证书中提取该字段作为请求的用户名(User Name),浏览
器使用该字段验证网站是否合法。RBAC,用于client
auth,放到客户端证书中。
O # Organization,kube-apiserver从证书中提取该字段作为请求用户所属的组(Group)。RBAC,
用于client
auth,放到客户端证书中。
# 上述文件hosts字段中指定授权使用该证书的IP或者域名列表,为所有Master/LB/VIP
IP/apiserver
集群内部cluster ip(指定的service-cluster-ip-range 网段的第一个IP "${CLUSTER_KUBERNETES_SVC_IP}")一个都不能少,为了方便后期扩容可以多写几个预留的IP。
注意: hosts字段把可能部署kubelet的主机ip都写进去,只能写ip地址,不能写网段。后期如果在非hosts列表中ip主机上部署kubelet,需要重新签发证书,并更换证书,并重启服务
(2)
生成kube-apiserver证书和私钥
# cfssl
gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes
\
kube-apiserver-csr.json | cfssljson -bare
kube-apiserver
# 生成以kube-apiserver开头的文件kube-apiserver.csr、kube-apiserver-key.pem、kube-apiserver.pem
(3)
验证kube-apiserver.pem证书
# cfssl certinfo -cert kube-apiserver.pem |grep not
# 可以看到kube-apiserver证书的有效期是10年,但是ca证书的有效期只有5年,所以kube-apiserver证书的
# 实际有效期也只有5年。
验证网站: https://myssl.com/cert_decode.html
验证信息如下:
# 可以看到ca证书的有效期是100年。
验证网站: https://myssl.com/cert_decode.html
验证信息如下:
# 可以看到kube-apiserver证书的有效期是100年,又因为ca证书的有效期是100年,所以kube-apiserver证
# 书的实际有效期是100年。
验证网站: https://myssl.com/cert_decode.html
验证信息如下: