Невозможно войти в панель управления Kubernetes с URL-адреса hhtp, поскольку локальный хост мастера является виртуальной машиной
Мне нужно создать https URL с моей панели инструментов, используя прокси-сервер kubectl, только генерирует http url, как создать URL https, какая команда должна быть выполнена для этого токена, генерируется grtting, но панели входа в систему остаются статичными без ответа при вводе токена
1 ответ
Вы можете выставить свой 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
затем взгляните на это руководство.