zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Kubernetes_可视化工具(Dashboard和Kuboard)

Kubernetes工具 可视化 Dashboard
2023-09-14 09:15:24 时间

系列文章目录


前言

一、可视化DashBoard

可视化:dashboard是简单的可视化,普罗米修斯是复杂的可视化

官网https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard.

二、可视化DashBoard实践

(1)根据yaml文件创建资源

vi dashboard.yaml  (比较大,放在CSDN资源文件中下载)
kubectl apply -f dashboard.yaml

(2)查看资源

kubectl get pods -n kube-system
kubectl get pods -n kube-system -o wide
kubectl get svc -n kube-system
kubectl get deploy kubernetes-dashboard -n kube-system

(3)使用火狐浏览器访问 (因为k8s中使用的是https 443,所以宿主机需要 https://宿主机ip:3008/)

https://192.168.100.151:30018/

特别注意1:在chrome浏览器中输入时,如果输入 https://192.168.100.151:30018 而不是 192.168.100.151:30018 ,即需要手动补上 https://

特别注意2:输入 https://192.168.100.151:30018 ,遇到这种情况,如下:

在这里插入图片描述

当前页面点击任意空白处,直接键盘输入“thisisunsafe”即可解决(不是在chrome浏览器搜索栏输入,而是选中网页,然后输入)。

原理是chrome认为这个网站是不安全的,不让你访问。而你输入了这句话,就类似于签了生死状,了解了风险。chrome就放你进去,但那之后再出问题也就没有责任了。

(4)生成登录需要的token

# 创建service account
kubectl create sa dashboard-admin -n kube-system

# 创建角色绑定关系
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

# 查看dashboard-admin的secret名字
ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')
echo ADMIN_SECRET

# 打印secret的token
kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}'

效果演示:

这里注意,dashboard.yaml 需要一个镜像 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3 ,这个在国外,我一般是使用 docker load -i xxx.tar(或者xxx.tar.gz) 导入进去的,然后docker tag + docker push放到自己的阿里云镜像仓库,修改一下 dashboard.yaml 的 images 字段就可以使用了。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、Kuboard可视化

3.1 kuboard-v3 部署

---
apiVersion: v1
kind: Namespace
metadata:
  name: kuboard
 
---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: '9'
    k8s.kuboard.cn/ingress: 'false'
    k8s.kuboard.cn/service: NodePort
    k8s.kuboard.cn/workload: kuboard-v3
  labels:
    k8s.kuboard.cn/name: kuboard-v3
  name: kuboard-v3
  namespace: kuboard
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s.kuboard.cn/name: kuboard-v3
  template:
    metadata:
      labels:
        k8s.kuboard.cn/name: kuboard-v3
    spec:
      containers:
        - image: 'eipwork/kuboard:v3'
          imagePullPolicy: Always
          name: kuboard
 
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    k8s.kuboard.cn/workload: kuboard-v3
  labels:
    k8s.kuboard.cn/name: kuboard-v3
  name: kuboard-v3
  namespace: kuboard
spec:
  ports:
    - name: webui
      nodePort: 30080
      port: 80
      protocol: TCP
      targetPort: 80
    - name: agentservertcp
      nodePort: 30081
      port: 10081
      protocol: TCP
      targetPort: 10081
    - name: agentserverudp
      nodePort: 30081
      port: 10081
      protocol: UDP
      targetPort: 10081
  selector:
    k8s.kuboard.cn/name: kuboard-v3
  sessionAffinity: None
  type: NodePort

浏览器上输入 http://192.168.100.155:30080/ ,第一次会跳转到登录页面

用户名: admin
密 码: Kuboard123

在这里插入图片描述

kuboard 关联k8s集群包括两种方式:

方式1:KubeConfig(Kuboard 可以访问 Kubernetes APIServer)
这种方式需要在master节点中执行 cat ~/.kube/config 查看配置,然后填入相应的地方进行导入

方式2:Kuboard Agent(Kubernetes 节点可以访问 Kuboard)
这种方式需要在Kubernetes上安装Kuboard Agent,用来访问Kuboard

这里使用 kubeconfig ,因为不需要安装 kuboard-agent

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个集群接入进来了,如下:

在这里插入图片描述

3.2 kuboard-v3 部署 + kuboard-etcd 部署

没有etcd持久化,只需要pod重启,刚刚进入的k8s集群,就会丢掉,所以需要 安装 kuboard-etcd.

略。

总结

kuboard参考资料:安装kuboard—使用 StorageClass 提供持久化

kuboard参考资料:安装 Kuboard v3 - kubernetes