您可以
kubernetes-dashboard通过NodePort公开服务。
为此,最简单的方法是编辑当前
kubernetes-dashboard服务配置并将
ClusterIP参数更改为
NodePort:
kubectl edit services kubernetes-dashboard -n kube-system
apiVersion: v1kind: Servicemetadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kube-system"},"spec":{"ports":[{"port":443,"targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"}}} creationTimestamp: null labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard selflink: /api/v1/namespaces/kube-system/services/kubernetes-dashboardspec: externalTrafficPolicy: Cluster ports: - port: 443 protocol: TCP targetPort: 8443 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: NodePortstatus: loadBalancer: {}然后Kubernetes从范围(30000-32767)分配一些端口,每个节点应将该端口代理到您的目标服务。
现在
kubernetes-dashboard,您可以检查并查找端口参考:
kubectl describe svc kubernetes-dashboard -n kube-system
Name: kubernetes-dashboardNamespace: kube-systemLabels: k8s-app=kubernetes-dashboardAnnotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":...Selector: k8s-app=kubernetes-dashboardType: NodePortIP: XX.XX.XX.XXPort: <unset> 443/TCPTargetPort: 8443/TCPNodePort: <unset> 31605/TCPEndpoints: XX.XX.XX.XX:8443Session Affinity: NoneExternal Traffic Policy: ClusterEvents: <none>最后,您可以检查是否
kubernetes-dashboard可以访问:
curl -k https://localhost:31605
如果您考虑通过某种方式与Kubernetes仪表板进行对话,请
Bearertoken查看此指南。



