安装 Kuboard v2
Kuboard 是 Kubernetes 的一款图形化管理界面
1.安装
1 2
   | kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
   | 
 
修改yaml文件为本地仓库地址
2.查看 Kuboard 运行状态:
1 2 3 4
   | kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
 
 
 
   | 
 
3.获取Token
管理员用户
1
   | 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)
  | 
 
只读用户
1
   | 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)
  | 
 
4.访问Kuboard
5.卸载
在线卸载
1 2
   | kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml kubectl delete -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
   | 
 
 
本地化yaml卸载
1 2
   | kubectl delete -f kuboard.yaml kubectl delete -f metrics-server.yaml
   | 
 
6.yaml文件
metrics-server.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
   | --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:   name: system:aggregated-metrics-reader   labels:     rbac.authorization.k8s.io/aggregate-to-view: "true"     rbac.authorization.k8s.io/aggregate-to-edit: "true"     rbac.authorization.k8s.io/aggregate-to-admin: "true" rules: - apiGroups: ["metrics.k8s.io"]   resources: ["pods", "nodes"]   verbs: ["get", "list", "watch"]
  --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:   name: metrics-server:system:auth-delegator roleRef:   apiGroup: rbac.authorization.k8s.io   kind: ClusterRole   name: system:auth-delegator subjects: - kind: ServiceAccount   name: metrics-server   namespace: kube-system
  --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata:   name: metrics-server-auth-reader   namespace: kube-system roleRef:   apiGroup: rbac.authorization.k8s.io   kind: Role   name: extension-apiserver-authentication-reader subjects: - kind: ServiceAccount   name: metrics-server   namespace: kube-system
  --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:   name: system:metrics-server rules: - apiGroups:   - ""   resources:   - pods   - nodes   - nodes/stats   - namespaces   verbs:   - get   - list   - watch
  --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:   name: system:metrics-server roleRef:   apiGroup: rbac.authorization.k8s.io   kind: ClusterRole   name: system:metrics-server subjects: - kind: ServiceAccount   name: metrics-server   namespace: kube-system
  --- apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata:   name: v1beta1.metrics.k8s.io spec:   service:     name: metrics-server     namespace: kube-system     port: 443   group: metrics.k8s.io   version: v1beta1   insecureSkipTLSVerify: true   groupPriorityMinimum: 100   versionPriority: 100
  --- apiVersion: v1 kind: ServiceAccount metadata:   name: metrics-server   namespace: kube-system --- apiVersion: apps/v1 kind: Deployment metadata:   name: metrics-server   namespace: kube-system   labels:     k8s-app: metrics-server spec:   selector:     matchLabels:       k8s-app: metrics-server   template:     metadata:       name: metrics-server       labels:         k8s-app: metrics-server     spec:       serviceAccountName: metrics-server       volumes:              - name: tmp-dir         emptyDir: {}       hostNetwork: true       containers:       - name: metrics-server 	  	image: eipwork/metrics-server:v0.3.7                                                      args:           - --cert-dir=/tmp           - --secure-port=4443           - --kubelet-insecure-tls=true           - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,externalDNS         ports:         - name: main-port           containerPort: 4443           protocol: TCP         securityContext:           readOnlyRootFilesystem: true           runAsNonRoot: true           runAsUser: 1000         imagePullPolicy: Always         volumeMounts:         - name: tmp-dir           mountPath: /tmp       nodeSelector:         beta.kubernetes.io/os: linux
  --- apiVersion: v1 kind: Service metadata:   name: metrics-server   namespace: kube-system   labels:     kubernetes.io/name: "Metrics-server"     kubernetes.io/cluster-service: "true" spec:   selector:     k8s-app: metrics-server   ports:   - port: 443     protocol: TCP     targetPort: 4443
   | 
 
kuboard.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
   | 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:       containers:       - name: kuboard         image: eipwork/kuboard:latest 		         imagePullPolicy: Always       tolerations:       - key: node-role.kubernetes.io/master         effect: NoSchedule         operator: Exists
  --- 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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   |