相关疑难解决方法(0)

未列出服务帐户机密。如何修复它?

我曾经用来kubectl create serviceaccount sa1创建服务帐户。然后我使用kubectl get serviceaccount sa1 -oyaml命令来获取服务帐户信息。但它返回如下。

apiVersion: v1
kind: ServiceAccount
metadata:
  creationTimestamp: "2022-05-16T08:03:50Z"
  name: sa1
  namespace: default
  resourceVersion: "19651"
  uid: fdddacba-be9d-4e77-a849-95ca243781cc
Run Code Online (Sandbox Code Playgroud)

我需要得到,

secrets:
- name: <secret>
Run Code Online (Sandbox Code Playgroud)

部分。但它不会返回秘密。如何修复它?

kubernetes kubectl

38
推荐指数
2
解决办法
4万
查看次数

不使用gcloud工具将kubectl的本地实例连接到GKE集群?

有没有人知道如何将本地实例连接kubectl到Google Kubernetes Engine(GKE)群集,而不在gcloud本地使用该工具?

例如:

如果您使用gcloud此命令的工具:

gcloud container clusters get-credentials NAME [--zone=ZONE, -z ZONE] [GCLOUD_WIDE_FLAG …]
Run Code Online (Sandbox Code Playgroud)

你会发现这样的用户~/.kube/config:

- name: gke_myproj_myzone
  user:
    auth-provider:
      config:
        access-token: TOKENSTRING
        cmd-args: config config-helper --format=json
        cmd-path: /google/google-cloud-sdk/bin/gcloud
        expiry: 2018-01-22 18:05:46
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp
Run Code Online (Sandbox Code Playgroud)

如您所见,gcloud工具提供的默认值要求glcoud工具作为身份验证提供程序登录到您的群集.

现在,我正在寻找的是一种连接kubectl到机器上的集群的方法,该集群尚未gcloud安装.

kubernetes google-kubernetes-engine kubectl

8
推荐指数
1
解决办法
3307
查看次数

kubectl --token=$TOKEN 未使用令牌的权限运行

kubectl当我使用带有标志的命令--token并指定令牌时,它仍然使用文件中的管理员凭据kubeconfig

这就是我所做的:

NAMESPACE="default"
SERVICE_ACCOUNT_NAME="sa1"
kubectl create sa $SERVICE_ACCOUNT_NAME
kubectl create clusterrolebinding list-pod-clusterrolebinding \
     --clusterrole=list-pod-clusterrole \
     --serviceaccount="$NAMESPACE":"$SERVICE_ACCOUNT_NAME"
kubectl create clusterrole list-pod-clusterrole \
     --verb=list \
     --resource=pods

TOKEN=`kubectl get secrets $(kubectl get sa $SERVICE_ACCOUNT_NAME -o json | jq -r '.secrets[].name') -o json | jq -r '.data.token' | base64 -d`

# Expected it will fail but it doesn't because it uses the admin credentials
kubectl get secrets --token $TOKEN

Run Code Online (Sandbox Code Playgroud)

该令牌有权列出 pod,因此我预计kubectl get secrets --token $TOKEN会失败,但事实并非如此,因为它仍然使用管理员的上下文。

我不创建新的上下文,我知道kubectl …

bearer-token kubernetes kubectl

4
推荐指数
1
解决办法
1万
查看次数

如何登录azure kubernetes集群?

我们如何使用服务帐户登录创建的 AKS 集群?我们被要求执行 kubectl create clusterrolebinding add-on-cluster-admin ………但我们不知道如何使用它并登录到 Azure 中创建的集群

kubernetes azure-aks

3
推荐指数
1
解决办法
1万
查看次数