学习笔记十二:安装k8s可视化UI界面dashboard
port是集群内的pod互相通信用的端口类型,比如nginx访问mysql,而mysql是不需要让客户访问到的,port是service的的端口。在google浏览器中,在上图出现的页面任意位置,直接键盘敲入这11个字符:thisisunsafe,可以直接跳过安全报错进入页面。注:表单中创建pod时没有创建nodeport的选项,会自动创建在30000+以上的端口。nodeport是集群外流量访问
安装k8s可视化UI界面dashboard
在线安装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的端口。
更多推荐
所有评论(0)