当前位置: 首页 > news >正文

Kubernetes Dashboard安装部署

Kubernetes Dashboard安装部署

  • 1. 下载Dashboard 部署文件
  • 2. 修改yaml配置文件
  • 3. 应用安装,查看pod和svc
  • 4. 创建dashboard服务账户
  • 5. 创建admin-user用户的登录密钥
  • 6. 登录
    • 6.1 使用token登录
      • (1) 短期token
      • (2) token长期有效
    • 6.2 使用 Kubeconfig 文件登录
  • 7.安装metrics-server

1. 下载Dashboard 部署文件

#创建存放目录
mkdir dashboard
cd dashboard/
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

2. 修改yaml配置文件

修改kubernetes-dashboard的service,使用NodePort方式暴露端口。

vi recommended.yaml
#################修改内容#######################
kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:ports:- port: 443targetPort: 8443selector:k8s-app: kubernetes-dashboardtype: NodePort          #添加这一行,注意缩进对齐#################修改内容#######################

3. 应用安装,查看pod和svc

#安装
kubectl apply -f recommended.yaml
#查看pod和svc
kubectl get pod,svc -o wide -n kubernetes-dashboard
#######################显示内容##################################
NAME                                             READY   STATUS              RESTARTS   AGE   IP       NODE    NOMINATED NODE   READINESS GATES
pod/dashboard-metrics-scraper-5cb4f4bb9c-mg569   0/1     ContainerCreating   0          9s    <none>   node1   <none>           <none>
pod/kubernetes-dashboard-6967859bff-2968p        0/1     ContainerCreating   0          9s    <none>   node1   <none>           <none>NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE   SELECTOR
service/dashboard-metrics-scraper   ClusterIP   10.100.129.191   <none>        8000/TCP        9s    k8s-app=dashboard-metrics-scraper
service/kubernetes-dashboard        NodePort    10.106.130.53    <none>        443:31283/TCP   9s    k8s-app=kubernetes-dashboard
#####################显示内容###################################

使用所查看service所提供的端口访问Dashboard,此次部署的访问链接为https://192.168.3.101:31283/

4. 创建dashboard服务账户

#创建一个admin-user的服务账户并与集群绑定
vi dashboard-adminuser.yaml
##################内容####################
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard---apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard##################内容####################---#执行生效kubectl apply -f dashboard-adminuser.yaml

5. 创建admin-user用户的登录密钥

vi admin-user-token.yaml
##################内容####################
apiVersion: v1
kind: Secret
metadata:name: admin-usernamespace: kubernetes-dashboardannotations:kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token##################内容#####################执行生效kubectl apply -f admin-user-token.yaml

6. 登录

6.1 使用token登录

获取登录token,并将token输入dashboard登录界面,进行登录,登录后的界面如下图
在这里插入图片描述

(1) 短期token

#获取token
kubectl -n kubernetes-dashboard create token admin-user
#建议新建一个admin-user.token文件,将其保存

(2) token长期有效

kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d

6.2 使用 Kubeconfig 文件登录

 #定义 token 变量DASH_TOCKEN=$(kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d)#设置 kubeconfig 集群条目kubectl config set-cluster kubernetes --server=10.10.3.101:6433 --kubeconfig=/root/dashbord-admin.conf#设置 kubeconfig 用户条目kubectl config set-credentials admin-user --token=$DASH_TOCKEN --kubeconfig=/root/dashbord-admin.conf#设置 kubeconfig 上下文条目kubectl config set-context admin-user@kubernetes --cluster=kubernetes --user=admin-user --kubeconfig=/root/dashbord-admin.conf#设置 kubeconfig 当前上下文kubectl config use-context admin-user@kubernetes  --kubeconfig=/root/dashbord-admin.conf

将生成的dashbord-admin.conf文件放到本地主机上,登录时选择Kubeconfig选项,选择 kubeconfig 文件登录即可。


登录Dashboard 后,若存在cpu使用率和内存使用率等监控指标不显示的情况,需安装metrics-server。
在这里插入图片描述

7.安装metrics-server

下载部署文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml

修改yaml文件中的Deployment内容

---
apiVersion: apps/v1
kind: Deployment
metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system
spec:selector:matchLabels:k8s-app: metrics-serverstrategy:rollingUpdate:maxUnavailable: 0template:metadata:labels:k8s-app: metrics-serverspec:containers:- args:- --cert-dir=/tmp- --secure-port=4443- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname- --kubelet-use-node-status-port- --metric-resolution=15s- --kubelet-insecure-tls  #添加image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.4 #修改imagePullPolicy: IfNotPresent
  #执行生效kubectl apply -f admin-user-token.yaml

查看metrics-server的pod状态

kubectl get pods --all-namespaces | grep metrics

等待一些时间,查看查看各类监控图像已成功显示。
在这里插入图片描述

http://www.lryc.cn/news/165707.html

相关文章:

  • 在Qt的点云显示窗口中添加坐标轴C++
  • [密码学入门]凯撒密码(Caesar Cipher)
  • uboot 顶层Makefile-make xxx_deconfig过程说明三
  • c++中的多线程通信
  • IO day7
  • C语言之指针进阶篇(3)
  • SQL7 查找年龄大于24岁的用户信息
  • vite搭建vue3项目
  • Qt中表格属性相关操作,调整表格宽度高度自适应内容等
  • NLP机器翻译全景:从基本原理到技术实战全解析
  • docker四种网络模式
  • C 风格文件输入/输出---无格式输入/输出---(std::fgetc,std::getc,std::fgets)
  • 多线程之间如何进行通信 ?
  • 二叉树顺序存储结构
  • Apache HTTPD 多后缀解析漏洞复现
  • 【深入浅出C#】章节10: 最佳实践和性能优化:内存管理和资源释放
  • 我的创作纪念日——1个普通网安人的漫谈
  • Linux中执行bash脚本报错/bin/bash^M: bad interpreter: No such file or directory
  • 期权交易策略主要有哪些?期权交易策略指南
  • 算法通关村第十四关——解析堆在数组中找第K大的元素的应用
  • 【报错】springboot3启动报错
  • 阿里云服务器配置怎么选择?小白攻略
  • 关于 RK3568的linux系统killed用户应用进程(用户现象为崩溃) 的解决方法
  • EasyPHP-Devserver-17安装和配置mantisBT
  • Python打包教程 PyInstaller和cx_Freeze
  • 用两成数据也能训练出十成功力的模型,Jina Embeddings 这么做
  • SpringCloud Eureka搭建会员中心服务提供方-集群
  • 详解TCP/IP协议第二篇:OSI参考模型详解
  • OpenGL 函数列表
  • 【C语言】每日一题(半月斩)——day1