k8s可视化管理dashboard
k8s可视化管理平台dashboard搭建
说明:dashboard是K8S自带的可视化管理平台,需要在作为master节点的linux上安装部署。此示例演示在centos7.6 中简易搭建dashboard。
第一步:yaml 文件下载
文件下载:将用于dashboard 的yaml文件下载下来。
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
注意:raw.githubusercontent.com 在国内大概率会被GFW 墙掉,可以手动执行命令 vi /etc/hosts
配置hosts :199.232.28.133 raw.githubusercontent.com
第二步:更改yaml 文件配置
找到service,按照如下进行更改。
第三步:应用yaml 文件
kubectl apply -f recommended.yaml
应用recommended.yaml文件,docker 会下载两个镜像。
之后,会运行相关pod,并暴露服务。
浏览器 输入主机IP+30001,就可以访问dashboard了。
第四步:配置用户,绑定角色
1.创建账号:执行以下命令,在名称空间 kubernetes-dashboard 中创建账号 admin-user。
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
EOF
2.绑定角色: 通常来说,使用kubeadm 配置集群后,都会在集群中配置 名称为cluster-admin的角色。我们只需要将创建的 admin-user绑定这个角色,就拥有了管理员权限。
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
第五步:生成访问token
访问dashboard 管理平台,是需要访问凭据的,token只是其中一种。执行命令,生成访问token。
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
生成的token,可以保存起来,以便登录的时候使用。token形式如下:
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ
第六步:输入token,访问dashboard
参考:
1.官网:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
2.其他:https://my.oschina.net/u/4309822/blog/3621806