kubernetes 如何从K8s配置文件创建客户端证书和密钥

zlwx9yxi  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(134)

我已经使用K3s创建了一个集群,并获得了下面的配置文件

apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: XX_REPLACE_WITH_YOUR_CERTIFICATE_AUTHORITY_DATA_XX
        server: https://XX_REPLACE_WITH_YOUR_CLUSTER_IP_XX:6443
      name: default
    contexts:
    - context:
        cluster: default
        user: default
      name: default
    current-context: default
    kind: Config
    preferences: {}
    users:
    - name: default
      user:
        client-certificate-data: XX_REPLACE_WITH_YOUR_CLIENT_CERTIFICATE_DATA_XX
        client-key-data: XX_REPLACE_WITH_YOUR_CLIENT_KEY_DATA_XX

字符串
例如,我想使用postman连接群集

https://{ClusterIP}:6443/api/v1/namespaces/nginx/configmaps/app-config


但在一个安全的方式,我需要生成一个证书和密钥在.pem格式如何做到这一点?

q3qa4bjr

q3qa4bjr1#

如果您询问有关从配置文件中 * 提取 * 证书的问题(您的问题有点不清楚):
您的kubeconfig文件中的证书和密钥 * 已经 * 为.pem格式;你只需要提取数据。使用yq,您可以这样做来获取证书:

yq -r '.users[]|select(.name="default").user."client-certificate-data"|@base64d' example.yaml  > cert.pem

字符串
要得到钥匙:

yq -r '.users[]|select(.name="default").user."client-key-data"|@base64d' example.yaml  > key.pem

相关问题