kubernetes中证书生成
为了安全起见,建议在kubernetes中使用安全证书。在之前的文章中,而是统一在集群搭建中制造,并没有单独介绍证书的生成。本文将介绍kubernetes中证书生成。一下文章将需要生成如下证书:
根证书公钥与私钥:
ca.pem
与ca-key.pem
API Server公钥与私钥:
apiserver.pem
与apiserver-key.pem
集群管理员公钥与私钥:
admin.pem
与admin-key.pem
从节点公钥与私钥:
worker.pem
与worker-key.pem
根证书生成
# Generate the root CA.
openssl genrsa -out ca-key.pem 2048
openssl req -x509 -new -nodes -key ca-key.pem -days 10000 -out ca.pem -subj "/CN=kube-ca"
apiserver证书生成
master中需要根证书公钥(root CA public key, ca-key.pem
)、根证书(ca.pem
);apiserver证书:apiserver.pem
与其私钥apiserver-key.pem
。
1、创建openssl.cnf
:
[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
IP.1 = ${K8S_SERVICE_IP}
IP.2 = ${MASTER_IPV4}