当前位置: 首页 > news >正文

网页设计做军事网站的感想百度热词搜索指数

网页设计做军事网站的感想,百度热词搜索指数,做地方网站论坛,购物商城网站制作文章目录 制作延期的CA证书获取CA全名准备签发申请配置生成新CA验证并替换CA 更新master组件的CA配置kube-apiserverkube-controller-managerkube-schedulerkube-admin检查证书过期时间 更新ServiceAccount secret更新node组件配置的CA更新kubelet连接配置签发kubelet自动申请的…

文章目录

  • 制作延期的CA证书
    • 获取CA全名
    • 准备签发申请配置
    • 生成新CA
    • 验证并替换CA
  • 更新master组件的CA配置
    • kube-apiserver
    • kube-controller-manager
    • kube-scheduler
    • kube-admin
    • 检查证书过期时间
  • 更新ServiceAccount secret
  • 更新node组件配置的CA
    • 更新kubelet连接配置
    • 签发kubelet自动申请的客户端证书
  • 更新master组件的服务端/客户端证书(可选)
    • kube-apiserver
    • kube-admin

不改变原CA的公私钥,安全地在线地更新集群CA

制作延期的CA证书

使用go语言开发的证书生成工具cfssl(必须)

获取CA全名

cfssl certinfo -cert /etc/kubernetes/pki/ca.crt

准备签发申请配置

把原CA的组织、名称信息写入申请配置,并设置新CA证书的过期时间为10年后

tee ca-cfssl-csr.json <<-'EOF'
{"CA": {"expiry": "87600h","pathlen": 2},"names":[{"C": "","ST": "","L": "","O": "","OU": ""}],"CN": "kubernetes"
}
EOF

生成新CA

cfssl开启参数initca,传入原CA私钥,保持新生成的CA公钥与之前一致

cfssl gencert -initca=true -ca-key ca.key ca-cfssl-csr.json | cfssljson -bare ca-20240406

不能使用openssl来生成CA,因为kubeadm、kube-apiserver是golang开发的,golang的pki工具包核对证书链时,要求CA证书的rawSubject、客户端证书里记录的rawIssuer完全一致;而cfssl、kubeadm都是golang开发的,能够把信息相同的Subject对象(即CA证书的组织、名称)序列化为一致的rawSubject(DER字节数组)

验证并替换CA

确认新CA是否可以用于验证原CA签发的证书

openssl verify -CAfile ca-20240406.pem apiserver.crt
# 备份原CA
mv ca.crt ca-20191001.crt
mv ca-20240406.pem ca.crt

更新master组件的CA配置

kube-apiserver

apiserver的client-ca-file参数,用于验证其他master组件、kubelet的客户端证书的合法性,默认指向/etc/kubernetes/pki/ca.crt;
ca.crt文件更新后,重启apiserver即可。
requestheader-client-ca-fileetcd-cafile参数指向的其他ca文件,如需延期,也是按照相同步骤来生成延期的新ca文件

kube-controller-manager

controller-manager连接apiserver的配置信息,默认放在/etc/kubernetes/controller-manager.conf文件里;
controller-manager.conf文件里certificate-authority-data字段的值,就是对/etc/kubernetes/pki/ca.crt文件的base64 with padding编码;
root-ca-file参数控制的是注入到ServiceAccount secret里的CA数据,也是指向/etc/kubernetes/pki/ca.crt;
cluster-signing-cert-file参数控制的是签发客户端证书的CA,也是指向/etc/kubernetes/pki/ca.crt;
需要替换certificate-authority-data字段后重启controller-manager

kube-scheduler

更新/etc/kubernetes/scheduler.conf里的certificate-authority-data后重启scheduler

kube-admin

更新/etc/kubernetes/admin.conf里的certificate-authority-data;
把admin.conf复制到~/.kube/config里,供kubectl使用

检查证书过期时间

检查apiserver服务端证书、检查配置文件里的客户端证书(client-certificate-data)、检查CA证书:

kubeadm certs check-expiration

更新ServiceAccount secret

controller-manager的root-ca-file更新后,会自动更新所有ServiceAccount secret里的ca.crt字段(用于验证apiserver服务端证书的合法性);
使用了ServiceAccount来查询/管理集群配置的系统组件,如kube-proxy、calico、coredns,需要手动重启,以重新加载由ServiceAccount secret注入的CA文件

kubectl rollout restart deployment coredns -n kube-system

ServiceAccount secret里的token部分,就是一个JWT,且不含expire信息,不会过期

更新node组件配置的CA

更新kubelet连接配置

更新/etc/kubernetes/kubelet.conf里的certificate-authority-data后重启kubelet;
kubelet及时恢复与apiserver的通讯,不会影响宿主机已运行的pod

签发kubelet自动申请的客户端证书

kubelet发现自己的证书快过期后,会自动申请续期自己的客户端证书;如果申请的证书可用时间超过了ca本身的有效期,则不允许申请;集群ca更新后,就可以看到待签发的证书申请记录

kubectl get csr
# 批量通过申请
kubectl get csr | grep 'Pending'| cut -d ' ' -f 1 |xargs -I{} kubectl certificate approve {}

批准签发证书后,到宿主机查看新的kubelet证书

# 默认的kubelet证书存放位置
ls -al /var/lib/kubelet/pki/

更新master组件的服务端/客户端证书(可选)

如果不想每年手动生成新的证书,可以自己制作长期证书

kube-apiserver

使用原证书的信息,使用原证书的私钥,制作csr文件;
csr文件包含了证书subject(所属组织、证书名称)、公钥原文这两个关键信息,并使用私钥进行了自签名

/usr/bin/openssl x509 -x509toreq -in apiserver.crt -signkey apiserver.key -out apiserver.csr
# 查看csr内容
/usr/bin/openssl req -text -noout -in apiserver.csr

根据csr文件,使用CA私钥签发证书

# 指定证书的密钥用法(TLS密钥协商)、扩展用途(服务端证书)、可选名称(域名和IP)
tee apiserver_ext.cnf <<-'EOF'
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1= kubernetes
DNS.2 = kubernetes.default
DNS.3 = kubernetes.default.svc
DNS.4 = kubernetes.default.svc.cluster.local
DNS.5 = <服务器名字/域名>
IP.1 = 10.96.0.1
IP.2 = <服务器IP/反向代理IP>
EOF
# 制作10年有效期的证书
/usr/bin/openssl x509 -req -days 3650 -in apiserver.csr -extfile apiserver_ext.cnf -CA ca.crt -CAkey ca.key -CAcreateserial -out apiserver-new20240305.crt
# 验证新证书
/usr/bin/openssl verify -CAfile ca.crt -verbose apiserver-new20240305.crt

覆盖原先的apiserver.crt文件,重启apiserver即可

kube-admin

从/etc/kubernetes/admin.conf里获取admin的客户端证书和私钥;
client-certificate-data,进行base64 decode后得到的文本保存为kube-admin.crt文件;
client-key-data,进行base64 decode后得到的文本保存为kube-admin.key文件

/usr/bin/openssl x509 -x509toreq -in kube-admin.crt -signkey kube-admin.key -out kube-admin.csr

使用CA私钥签发证书

tee kube-admin_ext.cnf <<-'EOF'
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
EOF
# 制作10年有效期的证书
/usr/bin/openssl x509 -req -days 3650 -in kube-admin.csr -extfile kube-admin_ext.cnf -CA ca.crt -CAkey ca.key -CAcreateserial -out kube-admin-new20240305.crt
# 验证新证书
/usr/bin/openssl verify -CAfile ca.crt -verbose kube-admin-new20240305.crt

更新admin.conf文件,把kube-admin-new20240305.crt文件进行base64 with padding编码,填回client-certificate-data字段;
把admin.conf复制到~/.kube/config里,供kubectl使用

http://www.ds6.com.cn/news/119941.html

相关文章:

  • 太原网站建设名录百度seo优化服务
  • 互联网公司网站建设ppt模板关键词优化排名首页
  • 给我看免费观看天津seo网站排名优化公司
  • 一元云购 网站开发产品推广的目的和意义
  • 网站推广哪个平台好排名优化外包公司
  • 焦作百姓网seo关键词优化怎么收费
  • 广州建站网站前十名十大经典营销案例
  • 做智能家居网站需要的参考文献软文广告案例500字
  • 网站在互联网营销中的作用网络营销推广seo
  • 蒙古文网站建设汇报百度权重查询
  • 申请域名需要多久优化培训方式
  • 网站网页优化怎么做手机百度识图网页版入口
  • 帮别人起名 做ppt的网站免费好用的网站
  • 支付网站开发软文的目的是什么
  • 做网站用到什么软件百度关键词搜索指数查询
  • 网站页面设计模板图片seo比较好的优化方法
  • 学做网站看什么深圳网站设计专家乐云seo
  • 淘宝做个网站多少钱百度关键词优化师
  • 自己的网站怎么编辑器百度账号怎么改用户名
  • 哪家公司做网站便宜nba最快的绝杀
  • 网站开发工程师需要什么技术关键词的优化和推广
  • 网站做支付功能seo如何挖掘关键词
  • 网站建设普通发票税点广告资源网
  • 做网站所需要的代码搜索引擎seo关键词优化方法
  • 公司做网站推广今日热搜前十名
  • 电子商务网站建设的需求关键词搜索趋势
  • 简单的购物网站怎么做网页开发公司
  • 济南网站建设yigeseo360渠道推广系统
  • 上海弄网站的国内广告投放平台
  • 汕尾海丰建设规划局网站小网站关键词搜什么