k8踩坑记录——证书一年有效期

  

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"

      李   <李>修改openssl.cnf文件
    #对于多域名,生成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

k8踩坑记录——证书一年有效期