jgugugiug 发表于 2018-9-16 07:02:44

kubernetes集群 CA认证

  一、设备kube-apiserver的CA正式相关的文件和启动参数
  openssl genrsa -out ca.key 2048
  openssl req x509 -new nodes -key ca.key -subj "/CN=yourcompany.com" -days 5000 -out ca.crt
  opensll genrsa -out server.key 2048
  二、准备master_ssl.conf文件 该文件用于x509 v3版本的证书
  
  req_extensions = v3_req
  distinguished_name = req_distinguished_name
  
  
  basicConstraints = CA:FALSE
  keyUsage = nonRepudiation, digitalSignature, keyEncipherment
  subjectAltName = @alt_names
  
  DNS.1 = kubernetes
  DNS.2 = kubernetes.default
  DNS.3 = kubernetes.default.svc
  DNS.4 = kubernetes.default.svc.cluster.local
  DNS.5 = k8s-master (服务器的hostname)
  IP.1 = 169.169.0.1 (svc的cluster ip)
  IP.2 = 192.168.01. (node的IP)
  三、基于maste_ssl.conf 创建server.csr和server.crt文件 在生成server.csr是 -subj的参数中“/CN”指定的文件是master的主机名
  openssl req -new -key server.key -subj "/CN=k8s-master" -config master_ssl.conf -out server.csr
  openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 5000 -extensions v3_req -extfile master_ssl.conf -out server.crt
  全部执行完后会生产6个文件:ca.crt ca.key ca.srl server.crt server.csr server.key
  四、把生产的6个文件cp到一个目录中,然后设置kube-apiserver的三个启动参数
  --client-ca-file=ca.crt --tls-cert-file=server.key --tls-private-key-file=server.crt
  五、关闭非安全端口--insecure-port=0 --secure-port=6443 重启kube-apiserver
  六、设置kube-controller-manager的客户端证书、私钥、启动参数
  openssl genrsa -out cs_client.key 2048
  openssl req -new -key cs_client.key -subj "/CN=k8s-node-1" -out cs_client.csr
  openssl x509 -req -in cs_client.csr -CA ca.crt -CAkey ca.key --CAcreateserial -days 5000 -out cs_client.crt

页: [1]
查看完整版本: kubernetes集群 CA认证