K8S之部署Dashboard
1.Yaml安装
下载yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
raw.githubusercontent.com需要FQ才能访问,这里可以使用已经编译好的kubernetes-dashboard.yaml文件,然后上传至master节点
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
--2021-01-12 13:40:55-- https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.228.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.228.133|:443... failed: Connection refused.
通过vim编辑yaml文件中默认的镜像源地址:这里替换为李振良老师的镜像地址。
containers: - name: kubernetes-dashboard #image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 image: lizhenliang/kubernetes-dashboard-amd64:v1.10.1
然后,由于默认Dashboard只能集群内部访问,因此修改Service为NodePort类型,暴露到外部可以访问:
kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-system spec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30001 selector: k8s-app: kubernetes-dashboard
最后,我们直接apply本地这个yaml文件来创建Dashboard:
kubectl apply -f kubernetes-dashboard.yaml
看到提示“service/kubernetes-dashboard created”代表Dashboard创建成功了,这时我们通过浏览器来访问一下:
此处有个大坑,只有火狐可以直接打开,其他360(两种模式)、chrome、Edge都不行。
1.设置浏览器安全策略
2.将证书设置成系统信任
接上一步,看到了登录界面,需要我们配置kubeconfig或输入token,这里我们选择后者,通过以下命令获取输出的token:
kubectl create serviceaccount dashboard-admin -n kube-system kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
拿到token在登录界面的令牌区域输入,然后点击登录:
如果忘记Token,使用下面的命令
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
即可进入下图所示的主界面了:
2.重装Dashboard
在kubernetes-dashboard.yaml所在路径下
kubectl delete -f kubernetes-dashboard.yaml kubectl create -f kubernetes-dashboard.yaml
3.常用命令
查看所有的pod运行状态
kubectl get pod --all-namespaces
查看dashboard映射的端口
kubectl -n kube-system get service kubernetes-dashboard