博客
关于我
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/

    你可能感兴趣的文章
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs与javascript中的aes加密
    查看>>