K8S的dashboard使用账号密码登录

原文网址:K8S的dashboard使用账号密码登录-CSDN博客

简介

本文介绍K8S的dashboard使用账号密码登录的方法。


分享Java真实高频面试题,吊打面试官: Java后端真实面试题大全 - 自学精灵

分享靠谱的Java高级实战,包含:高并发、架构、全局处理等:JavaWeb高级实战 - 自学精灵


Dashboard 支持 Kubeconfig 和 Token 两种认证方式,但都不方便,可以添加账号密码方式。

注意:从K8S的1.19版本开始,已经取消了使用basic-auth-file参数进行用户名密码登录。在1.19之前,可以通过设置来进行用户名密码登录,而且账号和密码必须都是admin。见:https://github.com/kubernetes/kubernetes/pull/89069

本文只是做个测试,最终是不可行的(虽然能登录成功,但是无法看到数据)。建议使用Token方式,见:这里

以下所有操作都是在master节点执行。

1.创建用户名和密码

创建basic_auth_file文件,并创建用户。

复制代码
cat << EOF | sudo tee /etc/kubernetes/pki/basic_auth_file
admin,admin123,1
EOF

用户格式为:用户名,密码,用户ID

2.修改 kube-apiserver.yaml

先备份一下

复制代码
sudo cp /etc/kubernetes/manifests/kube-apiserver.yaml /etc/kubernetes/manifests/kube-apiserver.yaml.bak

编辑 kube-apiserver.yaml,加一行配置:

复制代码
- --token-auth-file=/etc/kubernetes/pki/basic_auth_file

修改的位置如下:

3.查看 kube-apiserver 状态

修改配置后会自动重启api-server,这里看一下是否重启成功了:

复制代码
kubectl get pods -A

结果

看起来是重启了,但是上边的calico-kube-controllers是Error,它也在重启。过一会儿再次查看:

可以发现,过了几分钟后,calico-kube-controllers也没问题了。

4.角色绑定

复制代码
kubectl create clusterrolebinding \
  login-dashboard-with-cluster-admin \
  --clusterrole=cluster-admin --user=admin

详解

将admin用户绑定到集群角色cluster-admin

login-dashboard-with-cluster-admin:自定义集群角色绑定name

--clusterrole:集群角色。cluster-admin是一个内置的ClusterRole(集群角色),它具有最高级别的权限,允许持有该角色的用户或服务账户对整个Kubernetes集群进行广泛的控制

--user:用户名

结果

5.查看角色绑定状态

命令

复制代码
kubectl get clusterrolebinding login-dashboard-with-cluster-admin

结果

6.修改dashboard配置文件

修改recommended.yaml,添加两行配置:

复制代码
- --token-ttl=21600
- --authentication-mode=basic

第一行:修改token超时时间,默认是900秒(15分钟) ,本处改为6小时。

第二行:修改认证方式为basic

修改位置如下

7.重启dashboard

命令

复制代码
kubectl apply -f recommended.yaml

结果

8.访问dashboard

访问:https://ip:30001

会有个警告,从高级里点进去即可:

下边会让选择登录方式,选择"基本"

输入账号密码:admin admin123

登录成功

可以发现,是没有数据的!解决不了 !

右上角有提示:

相关推荐
天天喝旺仔6 分钟前
Go 泛型实战:从类型参数、约束到可复用泛型容器与函数
数据结构·算法·容器·go
小马同学-23 分钟前
docker容器
docker·容器
羑悻的小杀马特1 小时前
从写 YAML 到集群自愈:KES-Operator 把 KES 集群接进 Kubernetes 原生体系
运维·数据库·容器·kubernetes
三8442 小时前
云安全 · 05 · etcd 安全:未授权访问与数据泄露
云原生·k8s·etcd安全
Thneonl1 天前
照着 CKS 教材做实验,把 apiserver 干瘫了 7 分钟
安全·kubernetes
AINative软件工程1 天前
LLM 应用的 Graceful Shutdown 工程实践:正在进行的 AI 请求如何安全停止
云原生·ai编程
名字还没想好☜1 天前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
武汉唯众智创1 天前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
wdfk_prog2 天前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
szephyr2 天前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器