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 .