You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何启动/重启Kubernetes API Server并添加用户名密码认证

完成Kubernetes Web UI基础认证访问的完整步骤

嘿,作为K8s新手能自己动手配置API Server的认证,已经迈出很棒的一步啦!我看你已经开始修改/etc/kubernetes/manifests/kube-apiserver.yaml来开启基础认证,但给出的配置有点不完整,我来帮你补全后续的关键步骤,确保能顺利在笔记本浏览器访问Web UI:

1. 补全基础认证文件的配置

你写的--basic-auth-file=/etc/kuber应该是路径没写完,咱们先创建完整的认证文件:

  • 首先在主节点创建认证CSV文件,路径建议设为/etc/kubernetes/basic-auth.csv,文件格式为用户名,密码,UID,用户组,示例内容:
    admin,YourStrongPassword123,10001,system:masters
    
  • 给这个文件设置合适的权限,保证kube-apiserver能读取:
    chmod 640 /etc/kubernetes/basic-auth.csv
    chown root:root /etc/kubernetes/basic-auth.csv
    

2. 修正kube-apiserver的配置参数

打开/etc/kubernetes/manifests/kube-apiserver.yaml,找到command字段下的参数列表,把不完整的参数补全:

- --authentication-mode=basic
- --basic-auth-file=/etc/kubernetes/basic-auth.csv

修改完成后,kubelet会自动重启kube-apiserver静态Pod,不需要手动重启服务,你可以用kubectl get pods -n kube-system观察状态,直到apiserver Pod恢复Running状态。

3. 配置Web UI(Dashboard)的访问权限

如果还没部署Dashboard,先完成部署:

  • 用kubectl部署官方Dashboard的资源(你可以从Kubernetes官方文档获取对应的YAML内容,保存到本地后执行):
    kubectl apply -f dashboard-recommended.yaml
    
  • 给你创建的admin用户绑定集群管理员权限,创建一个ClusterRoleBinding配置文件admin-rbac.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: admin-user-binding
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: User
      name: admin
      apiGroup: rbac.authorization.k8s.io
    
    执行部署命令:
    kubectl apply -f admin-rbac.yaml
    

4. 从笔记本浏览器访问Dashboard

  • 在主节点执行端口转发命令,把Dashboard服务的端口暴露出来(允许外部访问):
    kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8443:443 --address 0.0.0.0
    
  • 打开笔记本浏览器,访问https://<主节点IP>:8443,在登录界面选择「Basic Auth」,输入你在basic-auth.csv里设置的用户名和密码,就能成功进入Web UI了。

注意事项

  • 基础认证的密码是明文存储在CSV文件中的,仅建议在测试环境使用,生产环境更推荐使用令牌或者证书认证
  • 不要随意把API Server的6443端口或Dashboard转发端口暴露在公网,避免安全风险
  • 如果主节点有防火墙,记得开放对应的端口(比如6443、8443),否则笔记本无法连接

内容的提问来源于stack exchange,提问作者kz28

火山引擎 最新活动