Kubernetes(K8s)(四)——k8s的web管理頁面


(1).部署Kubernetes Dashboard web頁面

  Kubernetes Dashboard(儀表盤)是Kubernetes項目中基於Web監控和操作界面的項目。

 1)確認節點正常

[root@kube-master ~]# kubectl get node
NAME         STATUS    AGE
kube-node1   Ready     35d
kube-node2   Ready     35d

 2)創建名為dashborad-deployment.yaml的deployment資源配置文件

[root@kube-master ~]# vim dashboard-deployment.yaml
apiVersion: extensions/v1beta1  #指定api版本
kind: Deployment  #指定資源類型
metadata:  #指定資源元數據(屬性)
  name: kubernetes-dashboard-latest  #指定deployment名稱
  namespace: kube-system  #指定命名空間
spec:  #資源內容詳細定義
  replicas: 1  #副本期望值
  template:  #模板
    metadata:  #模板元數據
      labels:  #自定義標簽
        k8s-app: kubernetes-dashboard
        version: latest
        kubernetes.io/cluster-service: "true"
    spec:  #模板內容詳細定義
      containers:  #容器內容詳細定義
        - name: kubernetes-dashboard  #容器名稱(docker容器實例名稱的一部分)
          image: docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3  #使用鏡像,這個鏡像是中文的
          imagePullPolicy: IfNotPresent  #拉取策略
          resources:  #容器運行資源限制
            limits:  #上限
              cpu: 100m  #0.1核
              memory: 50Mi  #50M(1024計算)
            requests:  #下限
              cpu: 100m
              memory: 50Mi
          ports:  #容器對外開放端口
            - containerPort: 9090  #容器端口號
          args:  #容器啟動時的參數命令
            - --apiserver-host=http://192.168.128.110:8080
          livenessProbe:  #監控檢測設置
            httpGet:  #http獲取檢測
              path: /  #uri地址
              port: 9090  #容器端口號
            initialDelaySeconds: 30  #啟動后首次檢測時間為30秒后
            timeoutSeconds: 30  #檢測超時時間30秒

 3)創建名為dashboard-service.yaml的service服務配置文件

[root@kube-master ~]# vim dashboard-service.yaml
apiVersion: v1  #指定api版本
kind: Service  #指定資源類型
metadata:  #資源元數據(屬性)
  name: kubernetes-dashboard  #
  namespace: kube-system  #命名空間,需要保證與deployment處於同一命名空間
  labels:  #標簽
    k8s-app: kubernetes-dashboard
    kubernetes.io/cluster-service: "true"
spec:  #服務內容詳細定義
  selector:  #標簽選擇器,選擇dashboard-deployment獨有標簽
    k8s-app: kubernetes-dashboard
  ports:  #服務對外開放端口
    - port: 80  #提供給內部Pod訪問使用的端口
      nodePort: 30303  #提供給外部訪問的端口
      targetPort: 9090  #Pod內部的服務的端口號

 4)准備相關鏡像

  所有節點都下載相關鏡像,當然不下載也是沒事的,因為可以自動下載。registry.access.redhat.com/rhel7/pod-infrastructure:latest和docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3,由於k8s已經在使用中,所以pod-infrastructure存在故不做下載。

[root@kube-node1 ~]# docker pull docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3
Trying to pull repository docker.io/bestwu/kubernetes-dashboard-amd64 ... 
v1.6.3: Pulling from docker.io/bestwu/kubernetes-dashboard-amd64
ff9e00b73eb4: Pull complete 
Digest: sha256:d820c9a0a0a7cd7d0c9d3630a2db0fc33d190db31f3e0797d4df9dc4a6a41c6b
Status: Downloaded newer image for docker.io/bestwu/kubernetes-dashboard-amd64:v1.6.3

  5)啟動dashboard的deployment和service

[root@kube-master ~]# kubectl create -f dashboard-deployment.yaml
deployment "kubernetes-dashboard-latest" created
[root@kube-master ~]# kubectl create -f dashboard-service.yaml
service "kubernetes-dashboard" created

  啟動完成后通過命令查看

[root@kube-master ~]# kubectl get deployment --namespace=kube-system
NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard-latest   1         1         1            1           3d
[root@kube-master ~]# kubectl get service --namespace=kube-system
NAME                   CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes-dashboard   10.254.146.81   <none>        80/TCP    3d
[root@kube-master ~]# kubectl get pod --namespace=kube-system -o wide
NAME                                           READY     STATUS    RESTARTS   AGE       IP            NODE
kubernetes-dashboard-latest-4124080496-dprcl   1/1       Running   1          3d        10.255.39.2   kube-node1

 6)通過http://[masterIP]:8080/ui訪問

  我這里就是http://192.168.128.110:8080/ui,之后會自動跳轉到如下頁面

 

 7)銷毀

  如果只是短時間內不用可以只刪除service,如果長時間不用刪除deployment和service

[root@kube-master ~]# kubectl delete -f dashboard-service.yaml 
service "kubernetes-dashboard" deleted
[root@kube-master ~]# kubectl delete -f dashboard-deployment.yaml
deployment "kubernetes-dashboard-latest" deleted

  


免責聲明!

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



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