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

    你可能感兴趣的文章
    Photoshop脚本入门
    查看>>
    PHP
    查看>>
    Regular Expression Notes
    查看>>
    PHP $FILES error码对应错误信息
    查看>>
    PHP $_FILES函数详解
    查看>>
    PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
    查看>>
    php & 和 & (主要是url 问题)
    查看>>
    php -- 魔术方法 之 判断属性是否存在或为空:__isset()
    查看>>
    php -- 魔术方法 之 获取属性:__get()
    查看>>
    php -树-二叉树的实现
    查看>>
    PHP -算法-二路归并
    查看>>
    php 2条不一样 的json数据 怎么放在一个json里面_如果你是PHP开发者,请务必了解一下Composer...
    查看>>
    php 360 不记住密码,JavaScript_多种方法实现360浏览器下禁止自动填写用户名密码,目前开发一个项目遇到一个很 - phpStudy...
    查看>>
    regExp的match、exec、test区别
    查看>>
    php 404 自定义,APACHE 自定义404错误页面设置方法
    查看>>
    PHP 5.3.0以上推荐使用mysqlnd驱动
    查看>>
    php 7.2 安装 mcrypt 扩展: mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl...
    查看>>
    php aes sha1解密,PHP AES加密/解密
    查看>>
    php array 分片,PHP常用数组函数小结
    查看>>
    php CI框架单个file表单多文件上传例子
    查看>>