Невозможно войти в панель управления Kubernetes с URL-адреса hhtp, поскольку локальный хост мастера является виртуальной машиной - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно создать URL-адрес https с моей панели инструментов, используя прокси-сервер kubectl. Генерирует только URL-адрес http. Как создать URL-адрес https, какая команда должна быть выполнена для этого токена, генерируется grtting, но информационные панели входа в систему остаются статичными, и при входелексема

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете выставить свой kubernetes-dashboard сервис через NodePort .

. Для этого проще всего будет отредактировать текущую 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

Если вы подумаете о том, чтобы обезопасить способ общения со своей приборной панелью Kubernetes через Bearer token, тогда ознакомьтесь с этим указанием .

...