Связаться по:
vkarabedyants Telegram Viber

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Управляем кластером контейнеров

Для управления всеми настройками K8S, а также pods, сервисами и прочим используется утилита kubectl. Все операции реализуются указанием одного из 20 ключей, список которых можем получить, введя —help или на сайте проекта:

$ kubectl --help

В самом простом случае настройки можно указывать в командной строке. Запустим контейнер с nginx:

$ kubectl run -mynginx --image=nginx --port=80 --hostport=80

K8S сам загрузит и установит образ. Через время к nginx можно обратиться, подключившись на 80-й порт. Список IP, выданных подам:

$ kubectl get pods -o yaml | grep podIP

Выставляем в качестве сервиса:

$ kubectl expose deployment my-nginx --target-port=80 --type=LoadBalancer

В команде kubectl expose возможно использование ресурсов: pod (po), service (svc), replicationcontroller (rc),
deployment (deploy), replicaset (rs).
Масштабирование:

$ kubectl scale deployment my-nginx --replicas=2

Текущее состояние репликации выводится командой kubectl get rc или kubectl get services, если создавался сервис. Выведем в расширенном формате список нодов и сервисов:

$ kubectl get rc,services -o=wide

Отбор с учетом меток (labels):

$ kubectl get services -l "app=nginx,role=master,tier=frontend"

Информация о конкретном сервисе:

$ kubectl describe svc frontend

Удалить pod нельзя, он сразу восстановит работу. Нужно вначале остановить сервис, deployment …, а потом уже удалить сам под:

$ kubectl delete deployment my-nginx
$ kubectl delete my-nginx-5489078-xt4 --now

Но обычно используют заранее подготовленный YAMLфайл, который позволит быстро запускать, останавливать и обновлять контейнеры. Возможно заранее прописать настройки контейнера
в файле, который затем использовать при развертывании командой create:

$ kubectl create -f nginx.yaml

Если файлов много, то просто указывается каталог, в котором они находятся. Утилиты Docker при работе с K8S использовать не рекомендуется. Для выполнения команды внутри контейнера применяем kubectl exec.
Kubernetes достаточно интересный проект, и хотя первое знакомство обычно проходит тяжело, в первую очередь это связано с плохой документацией, со временем начинаешь видеть плюсы и становишься сторонником этого решения.

Наши администраторы могут установить кластер управления контейнером для вашей архитектуры, [email protected]

1 Response

  1. Pingback : Комплексная автоматизация: Ansible + OpenStack » Администрирование серверов

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.