Kubernetes Dashboard 配置用戶名密碼方式登錄操作流程
Kubernetes - Dashboard 配置用戶名密碼方式登錄

前言:為了 K8s 集群安全,默認(rèn)情況下 Dashboard 以 Token的形式登錄的,那如果我們想以用戶名/密碼的方式登錄該怎么操作呢?其實(shí)只需要我們創(chuàng)建用戶并進(jìn)行 ClusterRoleBinding綁定即可,接下來是具體的操作流程。
K8s的dashboard默認(rèn)是通過Token去登錄的,有時(shí)候也會(huì)不太方便,我們也可以通過賬號(hào)密碼的形式去登錄dashboard,不過賬號(hào)密碼登錄dashboard的方式僅在K8s v1.19以前的版本支持。
相關(guān)環(huán)境:

以下操作需要在master節(jié)點(diǎn)進(jìn)行操作
1、創(chuàng)建用戶密碼存放文件
cat << EOF | sudo tee /etc/kubernetes/pki/basic_auth_file admin,admin,1 EOF # 說明: # 用戶名:admin # 密碼:admin # 用戶ID:1 或腳本 echo "admin,admin,1" > /etc/kubernetes/pki/basic_auth_file

2、修改 kube-apiserver 配置文件
# 先提前做個(gè)備份 cp /etc/kubernetes/manifests/kube-apiserver.yaml /etc/kubernetes/manifests/kube-apiserver.yaml.back
# 修改配置文件,配置增加密碼文件路徑
vim /etc/kubernetes/manifests/kube-apiserver.yaml
---------------------------------------------------------------
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
component: kube-apiserver
tier: control-plane
name: kube-apiserver
namespace: kube-system
······
- --secure-port=6443
- --service-account-key-file=/etc/kubernetes/pki/sa.pub
- --service-cluster-ip-range=10.96.0.0/12
- --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
- --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
- --basic-auth-file=/etc/kubernetes/pki/basic_auth_file #增加這一行
·····
# 保存退出后 kube-apiserver 會(huì)自動(dòng)重啟(大約10s左右,無需 kubectl apply -f ***)
3、查看 kube-apiserver 是否重啟
kubectl get pod -n kube-system
4、將admin用戶與集群角色權(quán)限進(jìn)行綁定
[root@k8s-master ~]# kubectl create clusterrolebinding DashBoardLogin --clusterrole=cluster-admin --user=admin clusterrolebinding.rbac.authorization.k8s.io/DashBoardLogin created # DashBoardLogin:自定義集群角色綁定name # 將admin用戶綁定到集群角色cluster-admin # cluster-admin是一個(gè)內(nèi)置的ClusterRole(集群角色),它具有最高級(jí)別的權(quán)限 # cluster-admin允許持有該角色的用戶或服務(wù)賬戶對(duì)整個(gè)Kubernetes集群進(jìn)行廣泛的控制
具體來說,cluster-admin ClusterRole 具有以下特征和權(quán)限:
全局權(quán)限:cluster-admin 具有對(duì)整個(gè)集群的權(quán)限,而不僅僅限于某個(gè)命名空間。這意味著擁有 cluster-admin角色的用戶可以管理整個(gè)集群的資源,包括節(jié)點(diǎn)、命名空間、服務(wù)、Pod 等。
權(quán)限廣泛:cluster-admin 具有廣泛的權(quán)限,包括創(chuàng)建、刪除和修改各種資源,以及查看集群中的所有資源的權(quán)限。這包括對(duì)ConfigMaps、Secrets、Deployments、Services等的完全控制權(quán)。
角色的高度特權(quán):由于cluster-admin 角色的特權(quán)級(jí)別非常高,因此授予它的用戶或服務(wù)賬戶將具有執(zhí)行集群中任何操作的能力,包括破壞性操作。因此,應(yīng)小心授予cluster-admin權(quán)限,確保只授予受信任的用戶或服務(wù)賬戶。
通常情況下,cluster-admin 角色應(yīng)該被保留用于緊急情況、集群管理和維護(hù)操作。該權(quán)限不應(yīng)該隨意授予普通用戶,以防止誤操作或?yàn)E用權(quán)限。對(duì)于普通應(yīng)用程序和開發(fā)人員,通常會(huì)創(chuàng)建更嚴(yán)格的RBAC 角色,以限制其對(duì)資源的訪問權(quán)限,從而提高集群的安全性。
5、查看集群角色綁定情況
[root@k8s-master ~]# kubectl get clusterrolebinding DashBoardLogin NAME ROLE AGE DashBoardLogin ClusterRole/cluster-admin 8s

6、修改 kubernetes-dashboard 認(rèn)證方式
# 先提前做個(gè)備份 cp /root/recommended.yaml /root/recommended.yaml.back
# 修改配置文件支持用戶密碼登錄
[root@k8s-master ~]# vim recommended.yaml
---
......
args:
- --auto-generate-certificates
- --namespace=kubernetes-dashboard
- --token-ttl=21600 #新增內(nèi)容1
- --authentication-mode=basic #新增內(nèi)容2
......
---
7、啟動(dòng) Dashboard
kubectl apply -f recommended.yaml

8、Dashboard 訪問驗(yàn)證
# 已經(jīng)可以通過用戶名密碼的方式登錄dashboard了 admin/admin

在Kubernetes Dashboard中,默認(rèn)情況下,賬戶和密碼的方式已經(jīng)被廢棄,取而代之的是使用Token進(jìn)行登錄。

到此這篇關(guān)于Kubernetes Dashboard 配置用戶名密碼方式登錄的文章就介紹到這了,更多相關(guān)Kubernetes Dashboard用戶名密碼方式登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
k8s暴露服務(wù)之Ingress環(huán)境部署實(shí)踐
文章介紹了如何部署ingress控制器ingress-nginx,包括下載部署文件、修改鏡像地址、上傳文件、應(yīng)用資源以及解決pod狀態(tài)異常的問題2026-01-01
K8s實(shí)戰(zhàn)教程之容器和?Pods資源分配問題
這篇文章主要介紹了K8s實(shí)戰(zhàn)教程之容器和?Pods資源分配,本篇文章通過配置集群中運(yùn)行的容器的?CPU?請求和限制,你可以有效利用集群上可用的?CPU?資源,通過將?Pod?CPU?請求保持在較低水平,可以使?Pod?更有機(jī)會(huì)被調(diào)度,需要的朋友可以參考下2022-07-07
使用kubeadm部署kubernetes1.27.1版本教程
文章概述了K8s集群搭建的準(zhǔn)備與兩種部署方式:kubeadm(快速)和二進(jìn)制(手動(dòng)),涵蓋單master配置、硬件要求、網(wǎng)絡(luò)設(shè)置及初始化流程,適用于測試環(huán)境,提供參考經(jīng)驗(yàn)2025-08-08
K8S-ConfigMap實(shí)現(xiàn)應(yīng)用和配置分離詳解
這篇文章主要為大家介紹了K8S-ConfigMap實(shí)現(xiàn)應(yīng)用和配置分離詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
K8S部署Kafka界面管理工具(kafkamanager)方法詳解
這篇文章主要介紹了K8S部署Kafka界面管理工具(kafkamanager)方法詳解,需要的朋友可以參考下2022-01-01
K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

