kubernetes集群证书重签
依照https://github.com/strongit/kubeadm-ha/安装步骤,kubeadm init安装后的集群存在证书过期问题。现修复如下:
思路如下,
1,保留ca。crt ca.key front-proxy-ca。crt front-proxy-ca。键,根证书有效期十年
2, openssl重新签注
3, kubeadmα相生成配置
<代码类="语言python "> (root@k8s-master01 pki) #猫csr.conf (要求) default_bits=2048 提示=没有 default_md=sha256 req_extensions=req_ext distinguished_name=dn (dn) C=CN 北京圣=L=北京 O=美丽 OU=系统 CN=kubernetes (req_ext) subjectAltName=@alt_names (alt_names) DNS.1=kubernetes DNS.2=kubernetes.default DNS.3=kubernetes.default.svc DNS.4=kubernetes.default.svc.cluster DNS.5=kubernetes.default.svc.cluster.local DNS.6=k8s-master01 DNS.7=k8s-master02 DNS.8=k8s-master03 IP.1=IP IP.2=IP (v3_ext) authorityKeyIdentifier=keyid,发行人:永远 basicConstraints=CA:假的 keyUsage=digitalSignature认可、keyEncipherment dataEncipherment extendedKeyUsage=serverAuth clientAuth subjectAltName=@alt_names openssl genrsa治疗apiserver。关键的2048 openssl点播以及其他关键apiserver。主要治疗apiserver。企业社会责任配置csr.conf openssl x509要求——apiserver。csr ca ca.crt凝固了的ca.key -CAcreateserial治疗apiserver。crt天10000扩展v3_ext -extfile csr.conf openssl x509 -noout语境——。/apiserver。crt | grep“不” openssl genrsa治疗apiserver-kubelet-client。关键的2048 openssl点播以及其他关键apiserver-kubelet-client。主要治疗apiserver-kubelet-client。企业社会责任配置csr.conf openssl x509要求——apiserver-kubelet-client。csr ca ca.crt凝固了的ca.key -CAcreateserial治疗apiserver-kubelet-client。crt天10000扩展v3_ext -extfile csr.conf openssl x509 -noout语境——。/apiserver-kubelet-client。crt | grep“不” openssl genrsa治疗front-proxy-client。关键的2048 openssl点播以及其他关键front-proxy-client。主要治疗front-proxy-client。企业社会责任配置csr.conf openssl x509要求——front-proxy-client。csr ca front-proxy-ca。crt凝固了的front-proxy-ca。关键-CAcreateserial治疗front-proxy-client。crt天10000扩展v3_ext -extfile csr.conf openssl x509 -noout语境——。/front-proxy-client。crt | grep“不” 代码>
<代码类="语言java "> kubeadmα阶段确实的事情——配置kubeadm-config.yaml kubeadm kubelet配置write-to-disk——配置kubeadm-config.yaml alpha阶段 kubeadm alpha阶段kubelet write-env-file——配置kubeadm-config.yaml kubeadm alpha阶段kubeconfig kubelet——配置kubeadm-config.yaml kubeconfig——配置kubeadm-config.yaml kubeadm alpha阶段 controlplane——配置kubeadm-config.yaml kubeadm alpha阶段 systemctl重启kubelet kubeadm mark-master——配置kubeadm-config.yaml alpha阶段 cp/etc/kubernetes/admin.相依~/.kube/配置代码>
重启集群后,执行kubelet日志豆荚XXXX - n kube-system报错如下:错误从服务器(禁止):禁止(用户=kubernetes动词=,=资源节点,子资源=代理)(豆荚/日志kube-scheduler-k8s-master01)
解决方案:kubectl创建clusterrolebinding系统:kubernetes——clusterrole=集群管理员用户=系统:kubernetes
入口的tls设置
对入口中的域名进行tls安全证书的设置步骤如下:
创建自签名的秘钥与ssl证书;
将证书保存到kubernetes集群的1个秘密资源对象上;
设置秘密资源对象到入口中。
根据网站域名是1个还是多个,前两步的操作稍有不同,第3步操作相同,下面以多域名的操作为例:
-
<李>
生成ca证书
[root@kubenode1 ~] # mkdir - p/etc/kubernetes/ingress
[root@kubenode1 ~] # cd/etc/kubernetes/ingress/
[root@kubenode1入口)# openssl genrsa治疗ca.key 2048
[root@kubenode1入口)# openssl点播x509 -节点关键ca.key 3560天两级ca.crt主题“/CN=ingress-ca"
#对于多域名,生成ssl证书需要使用额外的x509v3配置文件辅助;
#在[alt_names]字段中设置多域名
[root@kubenode1入口)# cp/etc/pki/tls/openssl.cnf。
[root@kubenode1入口)# vim openssl.cnf李>
[要求]
#第126行,取消注释
req_extensions=v3_req #扩展添加一个证书请求
[v3_req]
#扩展添加一个证书请求
basicConstraints=CA:假
keyUsage=认可,digitalSignature, keyEncipherment