在线安装dasboard

官方文档:
https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

查看pod状态

kubectl get pods -n kubernetes-dashboard

创建 Service Account

vim user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
kubectl apply -f user.yaml

创建ClusterRoleBinding

vim ClusterRoleBinding.yaml
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
kubectl apply -f ClusterRoleBinding.yaml

查看token

kubectl -n kubernetes-dashboard create token admin-user

暴露端口,以便宿主机访问

把type: ClusterIP变成 type: NodePort,保存退出即可。

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

在这里插入图片描述

kubectl get svc -n kubernetes-dashboard

在这里插入图片描述

上面可看到service类型是NodePort,访问任何一个工作节点ip: 32168端口即可访问kubernetes dashboard,在浏览器访问如下地址:

https://192.168.40.10:32168/

通过google浏览器访问看到如下报错:您的连接不是私密链接

在这里插入图片描述

在google浏览器中,在上图出现的页面任意位置,直接键盘敲入这11个字符:thisisunsafe,可以直接跳过安全报错进入页面
填入上面查询到的token至下面页面

在这里插入图片描述

离线安装dasboard

把安装kubernetes-dashboard需要的镜像上传到工作节点k8snode1和k8snode2,手动解压:
dashboard_2_0_0.tar.gz和metrics-scrapter-1-0-1.tar.gz链接:https://pan.baidu.com/s/1yZEb4_9SbacVRM0Egt2urQ?pwd=owqp
提取码:owqp

docker load -i dashboard_2_0_0.tar.gz
docker load -i metrics-scrapter-1-0-1.tar.gz

在k8smaster1 上传kubernetes-dashboard.yaml 文件
操作如下命令:
kubernetes-dashboard.yaml链接:https://pan.baidu.com/s/155oTY2di3mEl-4sCNdxq4g?pwd=3ido
提取码:3ido

kubectl apply -f kubernetes-dashboard.yaml
kubectl get pods -n kubernetes-dashboard

在这里插入图片描述

显示如下,说明dashboard安装成功了

在这里插入图片描述

查看dashboard前端的service

kubectl get svc -n kubernetes-dashboard

在这里插入图片描述

通过token令牌访问dashboard

创建管理员token,具有查看任何空间的权限,可以管理所有资源对象

kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard

查看kubernetes-dashboard名称空间下的secret

kubectl get secret -n kubernetes-dashboard

在这里插入图片描述

找到对应的带有token的kubernetes-dashboard-token-lwt42

kubectl  describe  secret kubernetes-dashboard-token-lwt42 -n   kubernetes-dashboard

在这里插入图片描述

记住token后面的值,把下面的token值复制到浏览器token登陆处即可登陆:
在这里插入图片描述

通过kubernetes-dashboard创建容器

把nginx.tar.gz镜像压缩包上传到k8snode1和k8snode2上,手动解压:
nginx.tar.gz 链接:https://pan.baidu.com/s/1VY63q-I6i_GX12o8eTUOZA?pwd=i53c
提取码:i53c

docker load -i nginx.tar.gz 

打开kubernetes的dashboard界面

在这里插入图片描述
在这里插入图片描述

安照如下配置,之后点击Deploy即可完成Pod在这里插入图片描述

在这里插入图片描述

在dashboard的左侧选择Services
在这里插入图片描述
上图可看到刚才创建的nginx的service在宿主机映射的端口是30472,在浏览器访问:
192.168.40.10:30472
看到如下界面,说明nginx部署成功了:
在这里插入图片描述

应用名称:nginx
容器镜像:nginx
pod数量:2
service: external 外部网络
port:8-
targetport:80

注:表单中创建pod时没有创建nodeport的选项,会自动创建在30000+以上的端口。
关于port、targetport、nodeport的说明:
nodeport是集群外流量访问集群内服务的端口,比如客户访问nginx,apache,
port是集群内的pod互相通信用的端口类型,比如nginx访问mysql,而mysql是不需要让客户访问到的,port是service的的端口
targetport目标端口,也就是最终端口,也就是pod的端口。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐