0

通常你可以使用kops get secrets kube --type secret -oplaintext,但我没有在 AWS 上运行并且正在使用 GCP。

我读到kubectl config view应该向您显示此信息,但我看不到这样的事情(想知道这是否与 GCP 服务帐户设置有关,我也在使用 GKE)。

kubectl config view返回类似于:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://MY_IP
  name: MY_CLUSTER_NAME
contexts:
- context:
    cluster: MY_CLUSTER_NAME
    user: MY_CLUSTER_NAME
  name: MY_CLUSTER_NAME
current-context: MY_CONTEXT_NAME
kind: Config
preferences: {}
users:
- name: MY_CLUSTER_NAME
  user:
    auth-provider:
      config:
        access-token: MY_ACCESS_TOKEN
        cmd-args: config config-helper --format=json
        cmd-path: /usr/lib/google-cloud-sdk/bin/gcloud
        expiry: 2019-02-27T03:20:49Z
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp

用户名=>Admin用户名=>都不能MY_CLUSTER_NAME使用密码=>MY_ACCESS_TOKEN

有任何想法吗?

4

1 回答 1

1

尝试:

gcloud container clusters describe ${CLUSTER} \
--flatten="masterAuth"
[--zone=${ZONE}|--region=${REGION} \
--project=${PROJECT}

您的集群可能禁用了基本身份验证(用户名|密码) ,因为不鼓励使用此身份验证机制。

Kubernetes Engine 提供的另一种机制是(如您的配置中所示)是使用您的gcloud凭据让您进入集群。

以下命令将进行配置~/.kube/config,以便您可以使用您的gcloud凭据访问集群。看起来这一步已经完成了,可以kubectl直接使用了。

gcloud container clusters get-credentials ${CLUSTER} \
[--zone=${ZONE}|--region=${REGION}] \
--project=${PROJECT}

只要您使用gcloud允许使用集群的帐户登录,您就应该能够:

kubectl cluster-info
kubectl get nodes
于 2019-02-27T03:36:36.833 回答