使用用户名和密码访问 Kubernetes API

Accessing Kubernetes API using username and password

我目前正在配置 Heketi 服务器(部署在 K8S 集群 A 上)以与我的 Glusterfs 集群交互,该集群作为 DaemonSet 部署在另一个 K8S 集群 ClusterB 上。

Heketi 连接到 GlusterFS K8S 集群所需的配置之一是:

    "kubeexec": {
      "host" :"https://<URL-OF-CLUSTER-WITH-GLUSTERFS>:6443",
      "cert" : "<CERTIFICATE-OF-CLUSTER-WITH-GLUSTERFS>",
      "insecure": false,
      "user": "WHERE_DO_I_GET_THIS_FROM",
      "password": "<WHERE_DO_I_GET_THIS_FROM>",
      "namespace": "default",
      "backup_lvm_metadata": false
    },

如您所见,它需要用户名和密码。我不知道从哪里得到的。 我想到的一件事是在 ClusterB 上创建一个服务帐户并使用令牌进行身份验证,但 Heketi 似乎并未将其作为身份验证机制。

证书是我从 /usr/local/share/ca-certificates/kube-ca.crt 那里得到的,但我不知道从哪里得到 user/password。知道可以做什么吗?

如果我执行 kubectl config view 我只会看到集群管理员用户的证书。

那只能说明一件事:basic HTTP auth

你可以在启动kube-apiserver时使用--basic-auth-file=SOMEFILE选项在文件中指定一个username/password。