我正在尝试通过 nodeport 服务启用仪表板。我有 3 个虚拟机:
- 192.168.100.31 - 主
- 192.168.100.32 - 小黄人
- 192.168.100.33 - 小黄人(此处为仪表板)
申请后:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
仪表板可以通过 kube-proxy 访问。所以我把服务变成了NodePort:
kubectl edit services kubernetes-dashboard -n kube-system
然后我尝试通过 https NodePort 访问仪表板。它失败了。当我尝试访问 192.168.100.31 或 192.168.100.32 时,例如:
https://192.168.100.31:32443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
浏览器挂起并触发超时错误。同时 192.168.100.33 的相同 URL 允许我将站点添加到浏览器异常原因导致自签名证书和...失败。
This site can’t be reached
The webpage at https://192.168.100.33:32443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default might be temporarily down or it may have moved permanently to a new web address.
ERR_INVALID_RESPONSE
Kubernetes 版本:v1.11.1
升级版:
kubectl get svc kubernetes-dashboard -n kube-system --export -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kube-system","selfLink":"/api/v1/namespaces/kube-system/services/kubernetes-dashboard"},"spec":{"ports":[{"nodePort":32443,"port":443,"protocol":"TCP","targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"},"sessionAffinity":"None","type":"NodePort"},"status":{"loadBalancer":{}}}
creationTimestamp: null
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard
spec:
externalTrafficPolicy: Cluster
ports:
- port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
kubectl 获取 svc kubernetes-dashboard -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.96.174.242 <none> 443:32443/TCP 52m
kubectl 描述 svc kubernetes-dashboard -n kube-system
Name: kubernetes-dashboard
Namespace: kube-system
Labels: k8s-app=kubernetes-dashboard
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernete...
Selector: k8s-app=kubernetes-dashboard
Type: NodePort
IP: 10.96.174.242
Port: <unset> 443/TCP
TargetPort: 8443/TCP
NodePort: <unset> 32443/TCP
Endpoints: 192.0.2.2:8443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>