эквивалент "minikube ssh" с докер-узлом Kubernetes для рабочего стола - PullRequest
0 голосов
/ 27 марта 2019

Я использую Docker для Mac, но в настоящее время использую его только для своего кластера Kubernetes.Единственный узел кластера Kubernetes называется docker-for-desktop .

В настоящее время я изучаю учебное пособие Kubernetes по постоянным томам (https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/) и как часть этого,Я настраиваю постоянный том hostPath * 1008. * Похоже, что это работает, вы создаете путь на самом узле Kubernetes и можете использовать его в качестве постоянного тома для целей разработки и тестирования.

Чтобы сделать это, учебник инструктирует вас по SSH в самом вашем узле Kubernetes и создает путь, который затем может быть превращен в постоянный том. Единственная проблема в том, что я не знаю, как подключить SSH непосредственно к Kubernetes.сам узел (не контейнер). Эквивалентом для minikube будет просто minikube ssh. Я могу kubectl describe узел, но я получаю только внутренний IP-адрес, а не внешний. Поэтому я понятия не имею, как его решитьв команде ssh.

Есть идеи?

1 Ответ

0 голосов
/ 27 марта 2019

Обновление:

Если бы узел был создан докер-машиной с использованием VirtualBox, был бы похож на minikube с командой:

docker-machine ssh default

Если вы используете драйвер HyperKit по умолчанию для MAC, нет виртуальной машины, подобной VirtualBox, но вы сможете открыть оболочку с помощью следующей команды:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

Оригинал:

Если у вас есть прямой доступ к узлу и сертификату, это так же просто, как команда:

ssh -i certificatename 10.0.0.1

или

ssh -i certificatename docker@10.0.0.1

Загляните в этот пост.

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

Примером может служить Google Cloud:

gcloud compute ssh <NODE_NAME> --zone <ZONE>

Azure и Aws также имеют аналогичные опции, вы также можете использовать их портал для этого.

Другой альтернативой является использование контейнера bastian \ helper в кластере для подключения к узлам без настройки сетевых разрешений, он работает в облаке или в локальных кластерах.

Что-то вроде:

kubectl run -it --rm aks-ssh --image=debian

Это запустит контейнер с bash, затем вам нужно установить ssh-клиент. apt-get update && apt-get install openssh-client -y скопировать клиентский сертификат в контейнер и ssh в узел, как ssh -i id_rsa azureuser@10.240.0.4.

В AKS docs есть хороший пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...