Estoy tratando de recuperar el certificado de cliente del clúster del clúster GKE para autenticar con la API del servidor Kubernetes. Estoy usando la API de GKE para recuperar la información del clúster, pero el certificado del cliente y la clave del cliente están vacíos en la respuesta. En una investigación más profunda, descubrí que el certificado del cliente está deshabilitado de forma predeterminada en Google Kubernetes Engine en su última versión. Ahora, cuando trato de habilitarlo desde la configuración del clúster, dice que
El certificado de cliente es inmutable.
Mi pregunta es cómo puedo habilitar el certificado de cliente para el clúster de GKE.
Según el gitlab A partir de 1.12, los nuevos clústeres no tendrán un certificado de cliente emitido. Puede habilitar (o deshabilitar) manualmente la emisión del certificado de cliente mediante el indicador --[no-]issue-client-certificate . Los clústeres tendrán la autenticación básica y la emisión de certificados de cliente deshabilitadas de forma predeterminada.
Según @Dawid, puede crear un clúster que tenga Certificado de cliente> Habilitar usando el siguiente comando y después de esa modificación no es posible en ese clúster.
gcloud container clusters create YOUR-CLUSTER --machine-type=custom-2-12288 --issue-client-certificate --zone us-central1-aComo solución alternativa, si desea habilitar el certificado de cliente en el clúster existente, puede clonar (DUPLICAR) el clúster mediante la línea de comando y --issue-client-certificate al final del comando de la siguiente manera:
gcloud beta container --project "xxxxxxxx" clusters create "high-mem-pool-clone-1" --zone "us-central1-f" --username "admin" --cluster-version "1.16.15-gke.6000" --release-channel "None" --machine-type "custom-2-12288" --image-type "COS" --disk-type "pd-standard" --disk-size "100" --metadata disable-legacy-endpoints=true --scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" --num-nodes "3" --enable-stackdriver-kubernetes --no-enable-ip-alias --network "projects/xxxxxxx/global/networks/default" --subnetwork "projects/xxxxxxxx/regions/us-central1/subnetworks/default" --no-enable-master-authorized-networks --addons HorizontalPodAutoscaling,HttpLoadBalancing --enable-autoupgrade --enable-autorepair --max-surge-upgrade 1 --max-unavailable-upgrade 0 --issue-client-certificate