Как выполнить переадресацию портов на microk8s и отправить этот процесс в фоновый режим?

Я пытаюсь запустить эту команду:

microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443

Но вывод следующее:

└─[$] <> microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443
Forwarding from 127.0.0.1:10443 -> 8443
Forwarding from [::1]:10443 -> 8443

И это «всегда активный» процесс, есть ли способ выполнить эту настройку без необходимости держать терминал открытым?

0
задан 8 July 2021 в 14:30

2 ответа

Я не знаком конкретно с microk8s, но если он ведет себя как стандартная система k8s, то вы можете создать другую службу, используя тип NodePort. Это откроет панель управления на локальном порту на узле kubernetes.

kind: Service
apiVersion: v1
metadata:
  name: k8s-dash
  namespace: kube-system
spec:
  selector:
    app: k8s-dash
  type: NodePort
  ports:
  - name: https
    nodePort: 30443
    port: 443
    targetPort: 443
    protocol: TCP

Измените селектор, чтобы он соответствовал меткам, используемым на приборной панели.

В качестве альтернативы вы можете развернуть Ingress-контроллер (например, этот: https://github.com/nginxinc/kubernetes-ingress ) и использовать Ingress-ресурс для его раскрытия.

Входной контроллер - более безопасный маршрут, поскольку вы можете применять дополнительные меры защиты, такие как ACL, OAUTH2 и т. Д.

1
ответ дан 28 July 2021 в 11:20

Хотя я не очень хорошо знаком с Kubernetes, но общий способ сохранить выполнение команды в фоновом режиме - использовать nohup в начале и & в конце.

например.

nohup microk8s kubectl port-forward -n kube-system service / kubernetes-dashboard 10443: 443 &

0
ответ дан 28 July 2021 в 11:20

Другие вопросы по тегам:

Похожие вопросы: