我使用 kops
在aws
上创建了一个kubernetes
集群。
除非我错了,否则ca.crt
和ca.key
文件位于以下位置,如这个非常有用的答案所示:
- s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/private/ca/*.key
- s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/issued/ca/*.crt
但是,我不禁注意到,在我的~/.kube/config
文件(由kops
自动创建(中,我有一个名为:
certificate-authority-data
其内容与上述两个文件不同。
在任何情况下,我们在颁发客户端证书时应该使用什么 CA 密钥/crt 对?
为什么(似乎(有多个 CA?
这很奇怪...(也许对于像我这样在此类问题上没有经验的人来说......
当我表演时:
echo -n <contents_of_the_certificate-authority-data_entry_of_my_kubeconfig_file> | base64 --decode
。我得到我的ca.crt
文件...
ca.crt
不是已经base64
编码了吗?
Kubernetes 配置文件上存在的证书颁发机构数据不是您的证书在 base64 中编码的别的(为配置文件使用连续的文本字符串比没有 base64 编码要实用得多(。
您的 .crt 文件是用 RSA 编码的,而不是用 base64 编码的。RSA 是基于公钥和私钥(分别为 .crt 和 .key(的安全密码系统。Base64充其量对于格式化或传输已加密的数据很有用。