安装Dashboard
(1)安装命令:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
(2)查看是否安装成功
查资料发现很多人是使用kubectl get pods --namespace=kube-system 这个命令查看的,我跑这个命令看不到dashboard的信息,一度以为是dashboard安装失败了。然后查看全部命名空间的节点信息才找到dashboard,原来我的dashboard不是安装在kube-system命名空间下的。
(3)配置外网访问
修改前 dashboard的TYPE属性值是ClusterIP,要想被外网访问,需要把这个ClusterIP修改为NodePort。
编辑dashboard配置文件命令,修改spec.type属性
kubectl edit service kubernetes-dashboard --namespace=kubernetes-dashboard
修改后:
(4)获取登录token
我通过外网IP:31035访问dashboard控制台,出现下面提示,需要添加token权限访问。
建立用户文件:admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
建立用户权限文件:admin-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
安装2个文件:
kubectl create -f admin-user.yaml
kubectl create -f admin-user-role-binding.yaml
通过下面命令获取token:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')