一、前提

Kubernetes(简称K8S)是开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。它既是一款容器编排工具,也是全新的基于容器技术的分布式架构领先方案。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等功能,提高了大规模容器集群管理的便捷性。

k8s官方推荐的前端操作界面(不推荐)
在这里插入图片描述

以上的界面,除了丑之后,功能还是挺全的,但是使用还是不方便。

我推荐的 Kuboard for K8S
附上官方网站
https://www.kuboard.cn/
在这里插入图片描述
以上,清晰

如果觉得官方文档太麻烦,可以按照我下面的说明,一步步安装好 Kuboard for K8S

二、安装Kuboard for K8S

2.1 安装

1、获取Kuboard镜像
在可以上网的机器上抓取 kuboard 镜像

docker pull eipwork/kuboard:latest

2、查看 kuboard 镜像的 ID

docker images | grep kuboard

3、输出结果如下所示:

eipwork/kuboard latest 0146965e6475 3 weeks ago 133MB

4、将 Kuboard 镜像导出到文件

docker save 86eaead8421e > kuboard.tar

5、请使用上一个步骤中查询到的 image ID

将 kuboard.tar 传输到 Kubernetes 集群的某一个节点上

2.2 加载Kuboard镜像

在 Kubernetes 集群的某一个节点上执行

docker load < kuboard.tar

为镜像重新添加标签

docker tag 0146965e6475 eipwork/kuboard:latest

2.3 准备kuboard.yaml文件

以下只有一个地方需要更改,就是需要根据实际情况更改,为主机节点名称
vim kuboard-offline.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kuboard
  namespace: kube-system
  annotations:
    k8s.kuboard.cn/displayName: kuboard
    k8s.kuboard.cn/ingress: "true"
    k8s.kuboard.cn/service: NodePort
    k8s.kuboard.cn/workload: kuboard
  labels:
    k8s.kuboard.cn/layer: monitor
    k8s.kuboard.cn/name: kuboard
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: monitor
      k8s.kuboard.cn/name: kuboard
  template:
    metadata:
      labels:
        k8s.kuboard.cn/layer: monitor
        k8s.kuboard.cn/name: kuboard
    spec:
      nodeName: k8s-master  # ----------------------------------需要根据实际情况更改,为主机节点名称
      containers:
      - name: kuboard
        image: eipwork/kuboard:latest
        imagePullPolicy: IfNotPresent
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule

---
apiVersion: v1
kind: Service
metadata:
  name: kuboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    targetPort: 80
    nodePort: 32567
  selector:
    k8s.kuboard.cn/layer: monitor
    k8s.kuboard.cn/name: kuboard

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kuboard-user
  namespace: kube-system

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kuboard-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kuboard-user
  namespace: kube-system

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kuboard-viewer
  namespace: kube-system

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kuboard-viewer
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: view
subjects:
- kind: ServiceAccount
  name: kuboard-viewer
  namespace: kube-system

2.4 执行安装命令

kubectl apply -f kuboard-offline.yaml

三、启动观察

在这里插入图片描述

3.1 获取token

echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)

运行结果
在这里插入图片描述

3.2 打开浏览器,享受飞一般的感觉

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

四、后记

大部分的程序员,都是面向百度或者谷歌进行编程的,而网上的资料乱七八糟,有时候找起来让人难受,于是本人无偿进行资料收集的工作,大部分资料都是本人实打实收集的而且测试过,大家不用怀疑准确性,奈何能力有限,免于遗漏,希望读者可以在评论或者私信我,进行改正,大家一起为互联网技术做贡献。

========================

收集资料枯燥无味,如果本文对你有帮助,可以点个赞,这个也是对我最大的鼓励和赞许。

本人行不改名坐不改姓,潮汕的灿灿展

立志在互联网这一行,做出自己的贡献

========================

Logo

开源、云原生的融合云平台

更多推荐