Я пытаюсь запустить эту команду:
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
И это «всегда активный» процесс, есть ли способ выполнить эту настройку без необходимости держать терминал открытым?
Я не знаком конкретно с 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 и т. Д.
Хотя я не очень хорошо знаком с Kubernetes, но общий способ сохранить выполнение команды в фоновом режиме - использовать nohup
в начале и &
в конце.
например.
nohup microk8s kubectl port-forward -n kube-system service / kubernetes-dashboard 10443: 443 &