k8s(v1.18.0)安装dashboard可视化插件(v2.00)
0 准备查看适配k8s版本的dashboard可视化界面1 下载并应用官方yaml文件(master)root@master:/home/hqc# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yamlsecret/kubernetes-da
·
0 准备
1 下载并应用官方yaml文件(master)
root@master:/home/hqc# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
可能出现问题:无法从raw.githubusercontent.com
拉取下来
原因是:raw.githubusercontent.com
为国外网站,国内访问有限制
解决办法:
- 打开IP查询网址
- 找到对应的IP
- 将
185.199.108.133 raw.githubusercontent.com
写入/etc/hosts文件的最后 - 再次运行以上指令便可成功
2 查看容器是否running成功(master)
root@master:/home/hqc# kubectl get pod --all-namespaces
可能出现问题:dashboard容器一直处于containercreating状态
过了十多分钟仍未running,怀疑出现问题,在查找解决方案的时候(22min)左右,就直接running了。
可能是网络的原因,所以解决方案是耐心等待。
2 查看现有服务
删除现有的dashboard服务,dashboard 服务的 namespace 是 kubernetes-dashboard,但是该服务的类型是ClusterIP,不便于我们通过浏览器访问,因此需要改成NodePort型的
root@master:/home/hqc# kubectl get svc --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d22h
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 5d22h
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.99.69.9 <none> 8000/TCP 52m
kubernetes-dashboard kubernetes-dashboard ClusterIP 10.110.71.208 <none> 443/TCP 52m
root@master:/home/hqc# kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard
service "kubernetes-dashboard" deleted
3 编辑配置文件修改服务类型
root@master:/home/hqc# vim dashboard-svc.yaml # 创建配置文件
# 内容
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
root@master:/home/hqc# kubectl apply -f dashboard-svc.yaml # 执行
service/kubernetes-dashboard created
root@master:/home/hqc# kubectl get svc --all-namespaces # 再次查看服务
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d23h
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 5d23h
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.99.69.9 <none> 8000/TCP 56m
kubernetes-dashboard kubernetes-dashboard NodePort 10.99.138.189 <none> 443:31020/TCP 10s
# 可见已经修改成功
需注意:这个31020端口就是访问时需要的端口
4 创建管理员角色
想要访问dashboard服务,就要有访问权限,创建kubernetes-dashboard管理员角色
root@master:/home/hqc# vim dashboard-svc-account.yaml # 创建管理员角色yaml文件
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: dashboard-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
root@master:/home/hqc# kubectl apply -f dashboard-svc-account.yaml # 执行
serviceaccount/dashboard-admin created
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
5 获取token
root@master:/home/hqc# kubectl get secret -n kube-system |grep admin|awk '{print $1}'
dashboard-admin-token-zqlxx
root@master:/home/hqc# kubectl describe secret dashboard-admin-token-zqlxx -n kube-system|grep '^token'|awk '{print $2}'
# 此处是秘钥
6 访问
https://192.168.43.120:31020
若集群中只有node02,则访问
https://192.168.43.27:31020
注意:一定得是https://
7 粘贴token登录
登录成功界面!!
更多推荐
已为社区贡献16条内容
所有评论(0)