数字证书用CA的公钥解密
创建证书的基本流程是这样: 生成自己的服务端私钥 Server Key openssl genrsa -out server.key 4096 输入基本信息并用私钥签名生成CSR 证书签名请求 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr 提交CSR给证书机构CA(免费或商业证书)签名生成CRT,或自己做CA签名生成CRT(自签名证书) openssl req -new -newkey rsa:2048 -sha256 -nodes -out test_com.csr -keyout test_com.key -subj "/C=CN/ST=Beijing/L=Beijing/O=website Inc./OU=Web Security/CN=tang.test.com" "CN":Common Name,kube-apiserver 从证书中提取该字段作为请求的用户名 (User Name);浏览器使用该字段验证网站是否合法; "O":Organization,kube-apiserver 从证书中提取该字段作为请求用户所属的组 (Group) 1、生成CA证书和私钥 ca-config.json ca-csr.json =>ca.csr ca-key.pem ca.pem 2、生成kubernetes证书和私钥 kubernetes-csr.json => kubernetes.csr kubernetes-key.pem kubernetes.pem 3、生成admin证书和私钥 admin-csr.json => admin.csr admin-key.pem admin.pem 4、生成kube-proxy证书和私钥 kube-proxy-csr.json => kube-proxy.csr kube-proxy-key.pem kube-proxy.pem 5、生成kube-controoller-manager证书和私钥 kube-controller-manager-csr.json => kube-controller-manager.csr kube-controller-manager-key.pem kube-controller-manager.pem 6、生成kube-scheduler证书和私钥 kube-scheduler-csr.json => kube-scheduler.csr kube-scheduler-key.pem kube-scheduler.pem k8s一共有多少证书: 先从Etcd算起: 1、Etcd对外提供服务,要有一套etcd server证书 2、Etcd各节点之间进行通信,要有一套etcd peer证书 3、Kube-APIserver访问Etcd,要有一套etcd client证书 再算kubernetes: 4、Kube-APIserver对外提供服务,要有一套kube-apiserver server证书 5、kube-scheduler、kube-controller-manager、kube-proxy、kubelet和其他可能用到的组件,需要访问kube-APIserver,要有一套kube-APIserver client证书 6、kube-controller-manager要生成服务的service account,要有一对用来签署service account的证书(CA证书) 7、kubelet对外提供服务,要有一套kubelet server证书 8、kube-APIserver需要访问kubelet,要有一套kubelet client证书