kubernetes ApiServer CA证书续期

该文详细阐述了在Kubernetes环境中管理证书和密钥的过程,包括复制根证书、根私钥和apiserver证书,获取证书主题,创建扩展文件,生成CSR,签发新证书,以及使用openssl工具进行证书内容查看和有效性校验。此外,还介绍了openssl命令行工具的相关用法,如查看和处理私钥及公钥文件。
摘要由CSDN通过智能技术生成

目录

将根证书、根私钥、apiserver证书拷到一个目录下

获取subject

生成extfile

生成csr

查看新签发的csr

生成新证书

查看证书内容

校验证书是否有效 

常用命令 


将根证书、根私钥、apiserver证书拷到一个目录下

cp /etc/kubernetes/pki/ca.key /etc/kubernetes/pki/ca.crt /etc/kubernetes/pki/apiserver.crt /home/sunwenbo

获取subject

openssl x509 -text -noout -in ca.crt | grep "Subject:" | sed 's/Subject:/\//g;s/\,/\//;s/[[:space:]]//g'
subj=`openssl x509 -text -noout -in ca.crt | grep "Subject:" | sed 's/Subject:/\//g;s/\,/\//;s/[[:space:]]//g'`

生成extfile

cat > extfile.conf << EOF
distinguished_name = dn
[dn]
[v3_ext]
keyUsage = critical, digitalSignature, keyEncipherment, keyCertSign 
basicConstraints = critical, CA:TRUE
EOF

生成csr

根据获取到的subject  ca私钥  extfile 生成新的请求文件

v3_ext说明:实际上就是x.509 v3_ext (extension 扩展)证书主要是基于ITU X.509标准的一种数字证书,x.509标准定义了PKI(public key infrastructure)证书的格式。x.509证书主要是用来管理互联网通讯中的身份和安全。v3代表

简单来说,x.509证书就是基于x.509标准的PKI。指明了如何颁发和管理证书。

openssl req -new -key ca.key -subj "${subj}" -reqexts v3_ext  -config extfile.conf -out ca.csr

查看新签发的csr

openssl req -text -noout -in ca.csr 

生成新证书

openssl x509 -req -days 36500 -in ca.csr -signkey ca.key  -set_serial  0 -extensions v3_ext -extfile extfile.conf -out ca1.crt

查看证书内容

openssl x509 -noout -text -in ca1.crt

校验证书是否有效 

 openssl verify -CAfile ca1.crt apiserver.crt 

常用命令 

查看私钥内容 #以纯文本格式输出私钥内容
openssl rsa -in docker2.yidian.com.key  -text

#不输出私钥内容
openssl rsa -in docker2.yidian.com.key  -text -noout

#将生成私钥加密
openssl rsa -in docker2.yidian.com.key -des3 -passout pass:123456  -out docker2.yidian.com.key

#读取加密的私钥
openssl rsa -in docker2.yidian.com.key -passin pass:123456

#从私钥中提取公钥
openssl rsa -in docker2.yidian.com.key -passin pass:123456   -pubout -out public.key 

#读取公钥内容
openssl rsa  -pubin -in public.key       

#以文本格式输出公钥内容
openssl rsa -pubin -in public.key -text

#不输出公钥内容
openssl rsa -pubin -in public.key -text -noout    

check检测私钥文件的一致性,查看私钥文件被修改过。
openssl rsa -in docker2.yidian.com.key -check


查看crt证书的内容
openssl x509 -in apiserver.crt -text -noout 

查看csr证书的内容
openssl req -text -noout -in ca.csr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要生成kube-apiserver证书,您需要使用以下步骤: 1. 生成证书签名请求(Certificate Signing Request,CSR): ``` openssl genrsa -out apiserver.key 2048 openssl req -new -key apiserver.key -out apiserver.csr -subj "/CN=kube-apiserver" ``` 这将生成一个2048位的私钥文件`apiserver.key`和一个CSR文件`apiserver.csr`,其中`/CN=kube-apiserver`表示证书的通用名称为`kube-apiserver`。 2. 创建证书签名请求的配置文件: ``` cat > csr.conf <<EOF [req] req_extensions = v3_req distinguished_name = req_distinguished_name [req_distinguished_name] [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = localhost DNS.2 = kubernetes DNS.3 = kubernetes.default DNS.4 = kubernetes.default.svc DNS.5 = kubernetes.default.svc.cluster.local IP.1 = 10.96.0.1 IP.2 = <apiserver_ip_address> EOF ``` 其中`<apiserver_ip_address>`为kube-apiserver所在节点的IP地址。 3. 使用集群CA证书签名CSR,生成kube-apiserver证书: ``` openssl x509 -req -in apiserver.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apiserver.crt -days 365 -extensions v3_req -extfile csr.conf ``` 这将使用CA证书`ca.crt`和私钥`ca.key`签名CSR文件`apiserver.csr`,并生成一个有效期为365天的kube-apiserver证书文件`apiserver.crt`。 4. 将证书和私钥文件复制到kube-apiserver节点的相应目录中。 ``` sudo mkdir -p /etc/kubernetes/pki/apiserver/ sudo cp apiserver.crt apiserver.key /etc/kubernetes/pki/apiserver/ ``` 这将在kube-apiserver节点的`/etc/kubernetes/pki/apiserver/`目录中创建一个证书目录,并将生成的证书和私钥文件复制到该目录中。 现在,您已经成功地生成了kube-apiserver证书,可以将其用于Kubernetes集群中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloud孙文波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值