Kubernetes学习笔记(二十五):Certificates API
用户创建key:
openssl genrsa -out jane.key 2048
用户把key发给admin,admin用这个key创建certificate signing request对象:
openssl req -new -key jane.key -subj "/CN=jane" -out jane.csr
Jane-csr.yaml kubectl create -f Jane-csr.yaml
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:
name: jane
spec:
groups:
- system:authenticated
usages:
- digital signature
- key encipherment
- server auth
request:
## 请求内容用base64 encode
## cat jane.csr | base64 | tr -d "\n" 或 base64 -w 0 禁用换行
创建对象后,admin可以通过 kubectl get csr 查看所有证书请求,通过 kubectl certificate approve jane,拒绝则用 deny,删除则用 kubectl delete csr jane
通过以yaml格式查看证书 kubectl get csr jane -o yaml,用base64解码 echo "...=" | base64 --decode
所有与证书相关的操作都由Controller Manage执行:其中包含CSR-APPROVING、CSR-SIGNING等控制器
其中的key和根证书在 /etc/kubernetes/manifests/kube-controller-manager.yaml 中的
spec:
containers:
- command:
- --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
- --cluster-signing-key-file=/etc/kubernetes/pki/ca.key

浙公网安备 33010602011771号