kubernetes:通过 kops 部署时的 CA 文件

kubernetes: CA file when deploying via kops

我使用 kopsaws 上创建了一个集群。

但是我找不到使用 as/by 证书颁发机构生成客户端证书的文件。

kops会默认创建这样的东西吗?

如果是这样,创建客户端证书的推荐过程是什么?

这个kops documentation不是很清楚

我以前this也是这样做的:

  1. 从 S3 下载 kops 生成的 CA 证书和签名密钥:
    • s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/private/ca/*.key
    • s3://<BUCKET_NAME>/<CLUSTER_NAME>/pki/issued/ca/*.crt
  2. 生成客户端密钥:openssl genrsa -out client-key.pem 2048
  3. 生成 CSR:

    openssl req -new \
      -key client-key.pem \
      -out client-csr.pem \
      -subj "/CN=<CLIENT_CN>/O=dev"`
    
  4. 生成客户端证书:

    openssl x509 -req \
      -in client-csr.pem \
      -CA <PATH_TO_DOWNLOADED_CA_CERT> \
      -CAkey <PATH_TO_DOWNLOADED_CA_KEY> \
      -CAcreateserial \
      -out client-crt.pem \
      -days 10000
    
  5. Base64 对客户端密钥、客户端证书和 CA 证书进行编码,并将这些值填充到 config.yml 中,例如this
  6. 将填充的 config.yml 分发给您的开发人员。

5 和 6 显然可以通过您想要的任何方式分发,不需要为您的开发人员制作 config.yml