[!TIP]
二进制部署k8s
- 部署kube-controller-manager
转载请注明出处:https://janrs.com
部署 kube-controll-manager
kube-controller-mangae
作为 kube-apiserver
的控制器,需要访问 kube-apiserver
的服务,所以需要 kube-apiserver
的 ca
机构为其签发客户端 client
证书。
这里 kube-controller
部署在 kube-apiserver
的服务器上,不单独部署。
ip
设置成 kube-apiserver
的一样的就行。
1.创建 ssl
证书
1-1.创建 csr
请求文件
[!NOTE]
CN
参数表示用户名,必须设置为k8s
中设定的system:kube-controller-manager
O
参数表示用户组,必须设置为k8s
中设定的system:kube-controller-manager
kubernetes
内置的ClusterRoleBindings
中,system:kube-controller-manager
赋予kube-controller-manager
工作所需的权限。
kube-controller-manager
同样作为客户端,不需要设置hosts
参数。
cat > /ssl/apiserver-controller-client-csr.json <<EOF
{
"CN": "system:kube-controller-manager",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "Beijing",
"L": "Beijing",
"O": "system:kube-controller-manager",
"OU": "system"
}
]
}
EOF
cd /ssl/ && \
cfssl gencert \
-ca=apiserver-ca.pem \
-ca-key=apiserver-ca-key.pem \
-config=ca-config.json \
-profile=client apiserver-controller-client-csr.json | \
cfssljson -bare apiserver-controller-client && \
ls apiserver-controller-client* | \
grep apiserver-controller-client
1-2.分发证书
scp /ssl/apiserver-controller-client*.pem [email protected]:/etc/kubernetes/pki/ap