博客
关于我
Kubernetes 证书有效期更改
阅读量:634 次
发布时间:2019-03-14

本文共 2006 字,大约阅读时间需要 6 分钟。

Kubernetes 相关证书详细介绍

在更新 Kubernetes 集群证书之前,应优先查看当前证书的过期时间

查看证书过期时间命令

kubeadm alpha certs check-expiration

在查看证书过期时间之前,需要确保 Go 环境的正确部署

Go 环境部署步骤

  • 下载 Go 发布包
  • wget https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz
    1. 解压 Go 发布包并添加到系统路径
    2. tar -zxvf go1.15.6.linux-amd64.tar.gz -C /usr/local
      1. 修改环境变量
      2. vim /etc/profile

        在文件末尾添加以下内容:

        export PATH=$PATH:/usr/local/go/bin
        1. 重新加载环境变量
        2. source /etc/profile

          下载 Kubernetes 源码

          cd /homegit clone https://github.com/kubernetes/kubernetes.git

          如果需要特定版本,可执行以下命令:

          git clone -b 1.15.1 --depth=1 https://github.com/kubernetes/kubernetes.git

          切换到指定版本

          git checkout -b remotes/origin/release-1.15.1 v1.15.1

          Kubeadm 源码包更新证书策略修改

        3. 向原始代码添加新的证书更新逻辑
        4. vim staging/src/k8s.io/client-go/util/cert/cert.go
          1. 修改 pkiutils 证书管理代码
          2. vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go

            编译并测试修改后的代码

            make WHAT=cmd/kubeadm GOFLAGS=-v

            将编译后的 kubeadm 拷贝到目标路径

            cp _output/bin/kubeadm /root/kubeadm-new

            更新 kubeadm 命名

            cp /usr/bin/kubeadm /usr/bin/kubeadm.old
            cp /root/kubeadm-new /usr/bin/kubeadm
            chmod a+x /usr/bin/kubeadm

            将节点证书更新至所有 Master 节点

            cp -r /etc/kubernetes/pki /etc/kubernetes/pki.old
            cd /etc/kubernetes/pki
            kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml

            验证证书更新

            openssl x509 -in apiserver.crt -text-noout | grep Not

            为 HA 集群其他 Master 节点进行证书更新

            #aleigharing,如果有多个Master节点需要更新,请根据实际IP配置相应脚本
            #!/bin/bashmasterNode="192.168.66.20 192.168.66.21"for host in ${masterNode}; do    scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key}(${USER}@$host:/etc/kubernetes/pki/)    scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/etc/kubernetes/pki/etcd    scp /etc/kubernetes/admin.conf "root"@$host:/etc/kubernetes/donefor host in ${CONTROL_PLANE_IPS}; do    scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key}(${USER}@$host:/root/pki/)    scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/root/etcd    scp /etc/kubernetes/admin.conf "root"@$host:/root/kubernetes/done

            完成后请再次查看证书过期时间

            kubeadm alpha certs check-expiration

    转载地址:http://txqoz.baihongyu.com/

    你可能感兴趣的文章
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty心跳检测机制
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架内的宝藏:ByteBuf
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—3.Reactor线程模型三
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—5.Pipeline和Handler二
    查看>>
    Netty源码—6.ByteBuf原理一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理一
    查看>>
    Netty源码—8.编解码原理二
    查看>>
    Netty源码解读
    查看>>
    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
    查看>>