kuboard安裝

kuboard安裝

這裏需要先安裝完成kubernetes,如果沒有的話,請查看這篇文章kubernetesv1.16安裝

兼容性

kubernetes版本 kuboard版本 兼容性
v1.18 v1.0.x 兼容
v1.17 v1.0.x 兼容
v1.16 v1.0.x 兼容
v1.15 v1.0.x 兼容
v1.14 v1.0.x 兼容
v1.13 v1.0.x 兼容
v1.12 v1.0.x 不兼容
v1.11 v1.0.x 不兼容

在線安裝

kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml

查看 Kuboard 運行狀態:

kubectl get pods -l k8s.eip.work/name=kuboard -n kube-system
---------------------------------------------------------------------
NAME                       READY   STATUS        RESTARTS   AGE
kuboard-54c9c4f6cb-6lf88   1/1     Running       0          45s
------------------------------------------------------------------------

獲取管理員token

master 節點上執行此命令
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)
 ----------------------------------------------------------------------
 eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWZ3dzQWYzZkxpUldVQ3J2VnZRdWlmb0RIVW1lUDhsUFNsQjNkTUk4eDAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2udC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tdGponZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMjQ3MDgzNjic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.lPZfLHv1om3RZaJdtBMzYQbfPxIbKuDW6rB8_23YuRTKGtTWSogZZf3MP6BEn-GXAgbJ6a6PXhFkLyVr_rB1q8cAvYcOvmxgRD6ha87_Wt5WztyWBBPWzWoxddOu8JI0Zce8PDSaf2bKHQYdkZTD6ZkVPanQJzlaJu5D2Wf7DSSN4C0ysvRlTicVgMJf3Hqx-BuK76Y2xAsNRj87Kl2ZP-WqgYszacRIpToFrzAvGrbiLnZ03G3Q

 -----------------------------------------------------------------------

只讀用戶token

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

離線安裝kuboard

  1. 在可以上網的機器上抓取kuboard鏡像
docker pull eipwork/kuboard:latest
docker images | grep kuboard
// 86eaead8421e 爲上面一個命令查到的imageID
docker save 86eaead8421e > kuboard.tar

之後將kuboard.tar傳輸到kubernetes集羣某一節點上
2. 在 Kubernetes 集羣的某一個節點上執行

docker load < kuboard.tar
docker tag 86eaead8421e eipwork/kuboard:latest
  1. 準備kuboard.yaml文件
    注意需要修改兩個地方:ImagePullPolicy=IfNotPresent 和 nodeName: your-node-name
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kuboard
  namespace: kube-system
  annotations:
    k8s.eip.work/displayName: kuboard
    k8s.eip.work/ingress: "false"
    k8s.eip.work/service: NodePort
    k8s.eip.work/workload: kuboard
  labels:
    k8s.eip.work/layer: monitor
    k8s.eip.work/name: kuboard
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s.eip.work/layer: monitor
      k8s.eip.work/name: kuboard
  template:
    metadata:
      labels:
        k8s.eip.work/layer: monitor
        k8s.eip.work/name: kuboard
    spec:
      nodeName: your-node-name		#這裏需要修改爲安裝kuboard的主機名
      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.eip.work/layer: monitor
    k8s.eip.work/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

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

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kuboard-minimum-role
rules:
  - apiGroups:
    - ''
    resources:
    - 'namespaces'
    - 'nodes'
    verbs:
    - 'list'

執行命令

kubectl apply -f kuboard-offline.yaml

訪問kuboard

http://節點ip:32567/
將上面的token輸入瀏覽器之後如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章