专栏名称: 小黄鸡1992
架构师
今天看啥  ›  专栏  ›  小黄鸡1992

kubernetes入门:可视化界面dashboard极简安装教程

小黄鸡1992  · 掘金  ·  · 2021-08-08 11:47

文章预览

阅读 27

kubernetes入门:可视化界面dashboard极简安装教程

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

1.为什么使用可视化界面

当安装完node后,需要使用kubectl执行与操作,但是一直使用命令行对于新入手的我们来说可能比较繁琐。所以能否有一种可视化页面,直接在页面上指指点点,就能完成命令的工作呢。

官方提供了Dashboard插件作为可视化工具。强烈建议使用。

建议在日常操作时,bashboard与kubectl一起使用更佳。

2.安装

1.下载文件

选择文件夹,下载recommended.yaml到文件夹中。

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
复制代码

2.修改配置

下载后,需要修改配置。

vi recommended.yaml
复制代码

我们需要更改type为NodePort,指定其外网可以访问,否则其他电脑会访问不到,请注意!

image.png

3.安装

将 Dashboard添加至k8s

kubectl apply -f recommended.yaml
复制代码

4.验证

kubectl -n kubernetes-dashboard get all -l k8s-app=kubernetes-dashboard
复制代码

通过下图可能看到对外映射的端口为32241,每个人可能都不相同,请自行替换。

image.png 也可以看到启动后的端口 可以使用以下命令测试访问。

kubectl -n kubernetes-dashboard port-forward pod/kubernetes-dashboard-5c785c8bcf-z94nt 32241 //访问
复制代码

pod/kubernetes-dashboard-5c785c8bcf-z94nt与端口都是上文图中获取,每个人的配置都不相同,请自行修改。

如果出现安装错误,可以执行以下命令查看报错信息。

sudo kubectl logs kubernetes-dashboard-6dccb458d5-x7xft --namespace=kubernetes-dashboard
复制代码

5.创建用户

k8s使用rbac权限,所以必须使用特殊的用户才能够访问。在登录时,要求使用token,所以需要获取到新建用户的token。 image.png

#创建dashboard-admin账户
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

#将dashboard-admin用户授cluster-admin权限(clusterrole为集群管理权限)
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

#获取账号token
kubectl get secrets -n kubernetes-dashboard |grep dashboard-admin

通过账号获取token(此处dashboard-admin-token-xxxx为上文获取)
kubectl describe secrets dashboard-admin-token-xxxx -n kubernetes-dashboard
复制代码

在执行命令时,生成的部分id不同,请自行对应替换。

创建用户获取token后登录后,看不到具体信息,或者报错(statefulsets.apps is forbidden: User "system:serviceaccount:kubernetes-dashb.......),肯定是用户问题。请重新执行以上命令。

6.访问

访问 ip:32241

上文获取到的端口号,请根据上文获取自行修改。

image.png 登录时,选择token,并把上文获取到token复制并输入。

3.卸载

如果安装的的dashboard错误,可以卸载重新安装。

kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kubernetes-dashboard | grep dashboard
 
kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard  
kubectl delete service kubernetes-dashboard  --namespace=kubernetes-dashboard 
kubectl delete role kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-certs --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-key-holder --namespace=kubernetes-dashboard
复制代码
………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览