Kubernetes仪表板是基于Web的用户界面,它提供有关Kubernetes群集资源的状态以及可能发生的任何错误的信息,仪表板可用于将容器化的应用程序部署到群集,对部署的应用程序进行故障排除以及群集资源的常规管理。可以从仪表板或使用kubectl在终端上完成Deployment、StatefulSet、DaemonSet、Jobs、Services和Ingress的部署。如果要扩展部署、启动滚动更新、重新启动Pod、创建持久卷和持久卷声明,则可以从Kubernetes仪表板执行所有操作。
步骤1:配置kubectl 我们将使用kubectl kubernetes管理工具将仪表板部署到Kubernetes集群,可以使用下面的指南配置kubectl: 安装及使用kubectl、kubectx和kubens轻松管理多个Kubernetes集群。 链接中的指南演示了如何使用相同的kubectl配置文件配置和访问多个集群。
步骤2:部署Kubernetes仪表板 默认的Dashboard部署包含运行所需的最少的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通过静态端口(NodePort)在每个节点的IP上公开服务,将自动创建NodePort服务路由到ClusterIP服务。 完成后应用更改: kubectl apply -f kubernetes-dashboard-deployment.yml 检查部署状态: $ kubectl get deployments -n kubernetes-dashboard
应该创建两个Pod,一个用于仪表盘,另一个用于度量: $ kubectl get pods -n kubernetes-dashboard
由于我将服务类型更改为NodePort,因此请确认该服务是否确实创建: $ kubectl get service -n kubernetes-dashboard
步骤3:访问Kubernetes仪表板 为我的服务部署分配了端口30038/TCP,让我们确认是否可以访问Kubernetes仪表板:
需要令牌才能访问仪表板,请查看下面的指南: 在Linux服务器中创建管理员用户以访问Kubernetes仪表板。 到时就可以看到一个类似于下面的Web仪表板:
Nginx Ingress: --- 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
相关主题 |