如何使用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