K8S 部署 Web UI


在早期的版本中 Kubernetes可以在 Dashboard 中看到 heapster 提供的一些圖表信息,
在后續的版本中會陸續移除掉 heapster,現在更加流行的監控工具是 prometheus,prometheus 是 Google 內部監控報警系統的開源版本,所以這里的Dashboard 不會看到有圖表信息。

 

1.下載官方的yaml文件
 $ wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
 
如果網絡不好,不能直接下載,需要手動創建kubernetes-dashboard.yaml文件
 
2.修改yaml文件
 
 
 
修改兩個地方,
    第一個是修改鏡像,
    第二個是添加一個type,指定端口類型為 NodePort,這樣外界可以通過地址 nodeIP:nodePort 訪問 dashboard;
 
完整的yaml配置文件如下:
kubernetes-dashboard.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubernetes-dashboard
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kube-system
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kubernetes-dashboard
  namespace: kube-system
  labels:
    k8s-app: kubernetes-dashboard
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
spec:
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ''
    spec:
      serviceAccountName: kubernetes-dashboard
      containers:
      - name: kubernetes-dashboard
        image: docker.io/mritd/kubernetes-dashboard-amd64
        resources:
          limits:
            cpu: 100m
            memory: 300Mi
          requests:
            cpu: 100m
            memory: 100Mi
        ports:
        - containerPort: 9090
        livenessProbe:
          httpGet:
            path: /
            port: 9090
          initialDelaySeconds: 30
          timeoutSeconds: 30
      tolerations:
      - key: "CriticalAddonsOnly"
        operator: "Exists"
---
apiVersion: v1
kind: Service
metadata:
  name: kubernetes-dashboard
  namespace: kube-system
  labels:
    k8s-app: kubernetes-dashboard
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
spec:
  selector:
    k8s-app: kubernetes-dashboard
  type: NodePort
  ports:
  - port: 9090
    targetPort: 9090
    nodePort: 32000

 

 
3.執行安裝
 
$  kubectl create -f kubernetes-dashboard.yaml
 
 
查看pod運行狀態
$ kubectl get pods,svc -n kube-system
 
NAME                                              READY   STATUS    RESTARTS   AGE
pod/coredns-8686dcc4fd-j9vgq                      1/1     Running   31         4d8h
pod/coredns-8686dcc4fd-vzsgs                      1/1     Running   31         4d8h
pod/etcd-k8s-master                               1/1     Running   7          4d8h
pod/kube-apiserver-k8s-master                     1/1     Running   6          4d8h
pod/kube-controller-manager-k8s-master            1/1     Running   7          4d8h
pod/kube-flannel-ds-amd64-4mx58                   1/1     Running   7          4d8h
pod/kube-flannel-ds-amd64-887vr                   1/1     Running   2          4d8h
pod/kube-flannel-ds-amd64-rm9nz                   1/1     Running   5          4d8h
pod/kube-proxy-hdv89                              1/1     Running   7          4d8h
pod/kube-proxy-l2scz                              1/1     Running   6          4d8h
pod/kube-proxy-rqh8n                              1/1     Running   3          4d8h
pod/kube-scheduler-k8s-master                     1/1     Running   6          4d8h
pod/kubernetes-dashboard-795b8c5854-4dnf4         1/1     Running   2          3d5h

NAME                              TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)                       AGE
service/kubernetes-dashboard      NodePort    10.1.165.28   <none>        9090:32000/TCP                3d5h
注意:這里查看到service端口為32000,因此我們訪問時需要使用32000端口訪問
 
 
4.進入ui界面
 
 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM