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.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为国外网站,国内访问有限制
解决办法:

  1. 打开IP查询网址
  2. 找到对应的IP
    在这里插入图片描述
  3. 185.199.108.133 raw.githubusercontent.com写入/etc/hosts文件的最后
  4. 再次运行以上指令便可成功

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登录

在这里插入图片描述登录成功界面!!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值