无法从 hhtp url 登录到 kubernetes 仪表板,因为 master 的本地主机是一个虚拟机

Not able to login to kubernetes dashboard from hhtp url since local host of the master is a vm

我需要使用 kubectl 代理从我的仪表板创建 https url 仅生成 http url 如何创建 https url 我们应该使用什么命令 运行因为该令牌是 grtting 生成的,但不是登录仪表板保持静态,输入令牌时没有响应

您可以通过 NodePort.

公开您的 kubernetes-dashboard 服务

要实现这一点,最简单的方法是编辑当前的 kubernetes-dashboard 服务配置并将 ClusterIP 参数更改为 NodePort:

kubectl edit services kubernetes-dashboard -n kube-system

apiVersion: v1
kind: Service
metadata:
  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}],"select
or":{"k8s-app":"kubernetes-dashboard"}}}
  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: {}

Kubernetes 然后从范围 (30000-32767) 分配一些端口,每个节点应该将该端口代理到您的目标服务。

您现在可以检查 kubernetes-dashboard 并查找端口参考:

kubectl describe 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","me
tadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":..
.
Selector:                 k8s-app=kubernetes-dashboard
Type:                     NodePort
IP:                       XX.XX.XX.XX
Port:                     <unset>  443/TCP
TargetPort:               8443/TCP
NodePort:                 <unset>  31605/TCP
Endpoints:                XX.XX.XX.XX:8443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

最后,您可以检查 kubernetes-dashboard 是否可以访问:

curl -k https://localhost:31605

如果您考虑通过 Bearer token 确保与您的 Kubernetes 仪表板对话的安全方式,请查看此 guideline