如何从 kops 创建的集群中获取证书颁发机构 certificate/key?

How do I get the certificate authority certificate/key from a cluster created by kops?

我已经使用 kops 工具在 AWS 上创建了一个 Kubernetes 集群。不过,我需要获取其证书颁发机构证书和密钥,如何通过 kops 导出这些文件?

我尝试了以下方法,但它失败了,说 yaml 输出格式不支持机密:

kops --state s3://example.com get secret ca -o yaml

我也想知道如何指定要寻址的集群,因为 kops 只是使用默认的 kubectl 上下文。我正在使用 kops 版本 1.6.2.

我发现 kops 将 CA 密钥和证书存储在其 S3 存储桶中,因此您可以像这样下载所述文件:

aws s3 cp s3://$BUCKET/$CLUSTER/pki/private/ca/$KEY.key ca.key
aws s3 cp s3://$BUCKET/$CLUSTER/pki/issued/ca/$CERT.crt ca.crt

您需要确定 kops 使用的 S3 存储桶(即 $BUCKET)、您的集群名称($CLUSTER)以及 .key 和 .crt 文件的文件名将是随机的.