生成证书

三种方式,实际上都是openssl

  • cfssl

  • easyrsa

  • openssl

官方文档

cfssl方式

cfssl下载地址

VERSION=R1.2
for i in {cfssl,cfssljson,cfssl-certinfo}
do
wget https://pkg.cfssl.org/${VERSION}/${i}_linux-amd64 -O /usr/local/bin/${i}
done

创建CA证书

  • 生成CA配置文件

    mkdir ssl && cd ssl
    cfssl print-defaults config > config.json
    cfssl print-defaults csr > csr.json
    cat > ca-config.json <<EOF
    {
    "signing": {
      "default": {
        "expiry": "87600h"
      },
      "profiles": {
        "kubernetes": {
          "usages": [
              "signing",
              "key encipherment",
              "server auth",
              "client auth"
          ],
          "expiry": "87600h"
        }
      }
    }
    }
    EOF
  • 生成CA签名配置文件

  • 生成私钥和证书

  • 创建一个用于生成API Server的密钥和证书的JSON配置文件

  • 生成 kubernetes 证书和私钥

  • 创建admin证书

  • 创建kube-proxy证书

  • 校验证书信息

  • 拷贝证书 mkdir -p /etc/kubernetes/ssl/ && cp *.pem /etc/kubernetes/ssl/

easyrsa

生成 kubernetes 证书和私钥

签发admin证书

openssl

  • 生成ca

  • kubernetes 证书和私钥

  • admin证书

Last updated

Was this helpful?