如何使用NodePort安裝Kubernetes儀錶板

Kubernetes儀錶板是基於Web的用戶界面,提供有關Kubernetes集群資源狀態和可能出現的錯誤的信息。您可以使用儀錶板將容器化的應用程序部署到群集,對部署的應用程序進行故障排除以及對群集資源進行常規管理。

可以從儀錶板或終端部署部署,StatefulSet,DaemonSet,作業,服務和Ingress。 kubectl。 如果要擴展部署,啟動滾動更新,重新啟動Pod以及創建持久性和持久性卷請求,則可以從Kubernetes儀錶板進行所有操作。

步驟1:配置kubectl

使用kubectl kubernetes管理工具將儀錶板部署到Kubernetes集群。您可以使用以下指南來配置kubectl。

使用kubectl和kubectx輕鬆管理多個Kubernetes集群

鏈接指南顯示了如何使用相同的kubectl配置文件配置和訪問多個集群。

步驟2:部署Kubernetes儀錶板

默認的儀錶板部署包括運行所需的最少的RBAC特權集。您可以使用以下命令部署Kubernetes儀錶板:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml

這將使用默認值進行部署。如果要更改文件,則需要將其下載到本地計算機。

wget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
mv recommended.yaml kubernetes-dashboard-deployment.yml

修改文件以適合您的部署需求。

vim kubernetes-dashboard-deployment.yml

將Kubernetes儀錶板服務更改為NodePort類型。

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  type: NodePort
  • 節點端口 將服務發布到靜態端口(NodePort)上每個節點的IP。 NodePort服務路由的ClusterIP服務是自動創建的。

完成後,應用您的更改。

kubectl apply -f kubernetes-dashboard-deployment.yml

檢查部署狀態。

$ kubectl get deployments -n kubernetes-dashboard                              
NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
dashboard-metrics-scraper   1/1     1            1           86s
kubernetes-dashboard        1/1     1            1           86s

您需要創建兩個Pod,一個用於儀錶板,另一個用於指標。

$ kubectl get pods -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-7b64584c5c-xvtqp   1/1     Running   0          2m4s
kubernetes-dashboard-566f567dc7-w59rn        1/1     Running   0          2m4s

現在,我們已將服務類型更改為NodePort,讓我們檢查服務是否實際上已創建。

$ kubectl get service -n kubernetes-dashboard       

NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.43.133.26            8000/TCP        2m59s
kubernetes-dashboard        NodePort    10.43.150.245           443:30038/TCP   3m

步驟3:訪問Kubernetes儀錶板

端口已分配給我的服務部署 30038/TCP協議。檢查對儀錶板的訪問是否正常。

您需要令牌才能訪問儀錶板。檢查指南。

如何創建管理員用戶以訪問Kubernetes儀錶板

創建限於一個名稱空間的Kubernetes服務/用戶帳戶

將顯示以下Web儀錶板。

如何使用NodePort安裝Kubernetes儀錶板

Nginx入口:

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: k8s-dashboard
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  tls:
    - hosts:
      - k8sdash.mydomain.com
      secretName: tls-secret
  rules:
    - host: k8sdash.mydomain.com
      http:
        paths:
        - path: /
          backend:
            serviceName: kubernetes-dashboard
            servicePort: 443

查看其他Kubernetes指南。

運行Kubernetes的頂級最小容器操作系統

使用Rancher RKE安裝生產Kubernetes集群

使用KVM在CentOS 8 / CentOS 7上安裝Minikube Kubernetes

如何在Kubernetes控制平面(主節點)上調度Pod

Sidebar