https://blog.csdn.net/mshxuyi/article/details/108425487 k8s 安装 dashboard

https://github.com/kubernetes/dashboard/releases 具体去这里查看对应的版本

 

 

-- 查看版本

-- 命令:kubectl version #输出服务端和客户端的版本信息

或者docker images | grep kube

 

 

-- 根据版本选择要安装的dashboard的版本(2.2.0和2.1.0都可以)

-- 下载文件,注意版本号

-- 命令:wget –tries=40 https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml

注:–tries=40 可加可不加 (如果网络有问题或下载一个大文件也有可能失败。重试40次连接下载文件)

 

-- 创建pod

-- 命令:kubectl apply -f recommended.yaml #在文件所在路径apply

 

-- 查看,创建成功

-- 命令:kubectl get po --all-namespaces #查看所有po

 

-- 状态有时为pending,需要改yaml文件,再查看则为running 解决k8s部署dashboard时一直处于Pending状态的问题.note

 

-- 查看现有的所有服务(dashboard 服务的 namespace 是 kubernetes-dashboard,但是该服务的类型是ClusterIP,不便于我们通过浏览器访问,因此需要改成NodePort型的)

-- 命令:kubectl get svc --all-namespaces

 

-- 删除现有的dashboard服务

-- 命令:kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard

 

-- 创建配置文件,写入以下内容

-- 命令:vi 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

-- 创建pod

-- 命令:kubectl apply -f dashboard-svc.yaml

 

-- 再次查看服务,成功

 

--创建kubernetes-dashboard管理员角色(想要访问dashboard服务,就要有访问权限)

-- 创建文件,写入以下内容

-- 命令:vi dashboard-svc-account.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

-- 创建pod

-- 命令:kubectl apply -f dashboard-svc-account.yaml

 

-- 访问 https://192.168.0.60:32482 #ip为服务器ip;端口为kubectl get svc --all-namespaces获取的

-- 获取token(好像只能用初次方法获取的token,否则命名空间只有一个default)

-- 方法一:

-- 命令:kubectl get secret -n kube-system |grep admin|awk '{print $1}'

kubectl describe secret dashboard-admin-token-crdcd -n kube-system|grep '^token'|awk '{print $2}'

 

-- 方法二(下面三个命令token一样,用最后的token):

-- 命令:kubectl get secret --all-namespaces | grep dashboard

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

-- 命令:kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

-- 命令:kubectl -n kubernetes-dashboard describe secret

 

-- 安装成功,输入token则可访问

 

 

 

-- 若安装失败访问不了网址,可能是缺少监控组件metrics-server

-- 路径:/home/shine/k8s/tools

https://blog.csdn.net/m0_37628360/article/details/105704602 kubernetes 监控组件metrics-server安装

 

 

 

 

-- 以上操作需要另外创建2个yaml文件:dashboard-svc.yaml、dashboard-svc-account.yaml来配置nodeport和管理员角色,也可以不创建这两个文件,直接在recommended.yaml中修改

 

注意下图nodeport可以不添加这一行,直接用默认的端口

 

name修改为cluster-admin

 

 

 

 

-- dashboard卸载

-- 进入相关yaml存放路径

kubectl delete -f ×××.yaml #相关的yaml文件

rm -f ×××.yaml #相关的yaml文件

kubectl get po --all-namesapaces #看相关的pod还在不在

-- 若安装了监控组件metrics-server

进入相对应的安装路径:cd /home/shine/k8s/tools/metrics-server-0.3.6/deploy/1.8+

kubectl delete -f .

 

Logo

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

更多推荐