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

时间:2018-01-09 16:10:44

标签: kubernetes kops kubernetes-security

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

但是,我无法找到证书颁发机构用于生成客户端证书的文件。

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

如果是,建议创建客户端证书的过程是什么?

kops documentation对此并不十分清楚。

1 个答案:

答案 0 :(得分:6)

我过去就像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分发给您的开发者。
  7. 5和6显然可以通过您想要的任何方式分发,不需要为您的开发人员制作config.yml