一、设备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]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[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
本文出自 “让我men共同成长” 博客,请务必保留此出处http://wujingfeng.blog.51cto.com/5725921/1945005