authentication - 使用不同的选项重新启动 Kubernetes API 服务器

标签 authentication kubernetes kubectl kubeadm

我对 Kubernetes 和集群很陌生,所以这可能非常简单。

我使用 kubeadm 设置了一个具有 5 个节点的 Kubernetes 集群关注 this guide .我遇到了一些问题,但最终都奏效了。所以现在我想安装Web UI (Dashboard) .为此,我需要设置身份验证:

Please note, this works only if the apiserver is set up to allow authentication with username and password. This is not currently the case with the some setup tools (e.g., kubeadm). Refer to the authentication admin documentation for information on how to configure authentication manually.



所以我必须阅读 authentication page的文档。我决定通过 Static Password File 添加身份验证.为此,我必须附加选项 --basic-auth-file=SOMEFILE到 Api 服务器。

当我这样做时 ps -aux | grep kube-apiserver这是结果,所以它已经在运行。 (这是有道理的,因为我在调用 kubectl 时使用它)
kube-apiserver 
  --insecure-bind-address=127.0.0.1
  --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,DefaultStorageClass,ResourceQuota 
  --service-cluster-ip-range=10.96.0.0/12 
  --service-account-key-file=/etc/kubernetes/pki/apiserver-key.pem 
  --client-ca-file=/etc/kubernetes/pki/ca.pem 
  --tls-cert-file=/etc/kubernetes/pki/apiserver.pem 
  --tls-private-key-file=/etc/kubernetes/pki/apiserver-key.pem 
  --token-auth-file=/etc/kubernetes/pki/tokens.csv 
  --secure-port=6443 
  --allow-privileged 
  --advertise-address=192.168.1.137
  --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname 
  --anonymous-auth=false 
  --etcd-servers=http://127.0.0.1:2379

我有几个问题:
  • 那么所有这些选项在哪里设置?
  • 我可以终止这个进程并使用我需要的选项重新启动它吗?
  • 当我重新启动系统时它会启动吗?
  • 最佳答案

    /etc/kubernetes/manifests是一个名为 kube-apiserver.json 的文件.这是一个 JSON 文件,包含您可以设置的所有选项。我已经附加了 --basic-auth-file=SOMEFILE并重新启动系统(在文件更改后 kubectl 不再工作并且 API 已关闭)
    重新启动后,整个系统再次工作。
    更新
    我没有设法使用它运行仪表板。我最后做的是在集群上安装仪表板。将 key 从主节点 (/etc/kubernetes/admin.conf) 复制到我的笔记本电脑并做了 kubectl proxy将仪表板的流量代理到我的本地机器。现在我可以通过 127.0.0.1:8001/ui 在我的笔记本电脑上访问它

    关于authentication - 使用不同的选项重新启动 Kubernetes API 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41566408/

    相关文章:

    authentication - 当有人以我身份运行 Google Apps Script Web 应用程序时获取用户信息

    amazon-web-services - AWS 所有未应用的注释

    docker - kubernetes 错误 : unable to recognize "deployment.yaml": no matches for extensions/, Kind=部署

    具有对象过滤的 kubernetes 资源级 RBAC

    kubernetes - Vagrant:在所有虚拟机启动后运行 Ansible 配置,Ansible 无法连接到所有主机

    kubernetes - 我可以通过指向特定服务器而不是本地主机的域名访问我的 Kubernetes 仪表板吗

    docker - 自动将新的节点导出器添加到 prometheus.yml 的目标数组中

    azure - 多个azure应用程序如何使用相同的jwt token 进行身份验证

    php - Symfony 4 : Login not working for token, 但适用于用户名和密码

    authentication - Auth0 和 Angular2 : how to set callbackURL and catch the token?