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 Namekube-apiserver从证书中提取该字段作为请求的用户名(User Name),浏览
器使用该字段验证网站是否合法。RBAC,用于client auth,放到客户端证书中。
O # Organizationkube-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.csrkube-apiserver-key.pemkube-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
验证信息如下: