Команда kubectl exec упрощает управление произвольными задачами на расстоянии внутри существующего контейнера модуля. Когда вам нужно проверить содержимое, состояние и / или окружение контейнера, это упрощает задачу. Для всех нас, кто регулярно взаимодействует с контейнерными приложениями Kubernetes, команда kubectl exec — спасение. Выполняя команды в наших контейнерах, мы можем анализировать и отлаживать наши приложения. kubectl — это инструмент командной строки для выполнения команд кластера Kubernetes. В этой статье рассматривается синтаксис kubectl, командные действия и частые примеры. Чтобы ваш процесс работал успешно, вам может потребоваться настроить среду в вашем контейнере. В этом случае идеальный метод — запустить контейнер с помощью сценария оболочки.
Если вы используете этот метод, сценарий оболочки будет иметь PID 1, а не ваш процесс. Вот почему вы должны использовать встроенную команду exec в сценарии оболочки для запуска процесса. Команда exec заменяет скрипт нужным приложением. Затем PID 1 отправляется вашему процессу. В руководстве подробно объясняется использование команды kubectl exec.
Предварительные условия
В вашей системе должен быть настроен кластер minikube для выполнения команды exec с помощью kubectl. Для доступа к вашей системе вам также потребуются привилегии sudo. При реализации этой статьи мы использовали Ubuntu 20.04 LTS. Для реализации вы можете использовать предпочитаемую вами операционную систему. Мы уже установили kubectl в нашей системе. Вам необходимо установить его перед применением этого руководства.
Метод использования команды Kubectl Exec
Чтобы использовать команду exec с kubectl, вы должны сначала установить кластер minikube. Нам нужно будет запустить оболочку командной строки в Ubuntu 20.04 LTS. Для запуска окна терминала доступны два простых метода. Один из таких способов — использовать панель приложения вашей операционной системы для доступа к нему. Другой подход — использовать простейшую комбинацию горячих клавиш » Ctrl + Alt + T «. Терминал командной строки откроется, как только вы воспользуетесь любым из этих способов.
Во-первых, вы должны запустить кластер minikube, который уже был установлен в вашей операционной системе Ubuntu 20.04 LTS. В командной строке введите следующую прикрепленную команду для запуска minikube:
$ minikube start
Чтобы начать работу с minikube, вы должны подождать несколько секунд после запуска этой команды. Вы также можете посмотреть версию minikube, отображаемую после успешного выполнения команды. Используя команду kubectl get pods, отобразите модули и выберите один из них для выполнения с помощью команды exec:
$ kubectl get pods
Для этого мы используем модуль «shell-demo». Вы можете использовать параметры -i и -t для kubectl exec для запуска оболочки, связанной с вашим терминалом. Например, используйте следующую прикрепленную команду:
$ kubectl exec -it shell-demo — sh
Теперь вы готовы использовать оболочку. Следующая команда может помочь вам получить список корневого каталога:
# ls
Результат будет похож на тот, который отображается на изображении. Вы можете обновить оболочку, используя следующую команду:
# apt-get update
В зависимости от скорости вашего интернета обновление будет завершено:
$ kubectl exec shell-demo — curl -s http://10.111.249.153
Вам также необходимо знать IP-адрес кластера вашей службы. Мы добавили имя нашего модуля и IP-адрес службы. Однако вы можете использовать желаемое имя модуля и IP-адрес службы.
Заключение
Kubernetes — сложная система, но иногда самый быстрый и очевидный подход к поиску проблемы — запускать команды непосредственно в работающем модуле. К счастью, инструмент командной строки Kubernetes, kubectl, имеет встроенную функцию exec, специально для этой цели. Мы подробно объяснили использование команды exec. Я гарантирую, что после прочтения этого руководства у вас не возникнет никаких сомнений относительно команды kubectl exec.