Связаться по:
vkarabedyants Telegram Viber
+7 (499) 350-10-69

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

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

Управление кластером KUBERNETES

Для управления K8S используется утилита kubectl. Настройки можно указывать прямо в командной строке или использовать заранее подготовленный YAML/JSON-файл. Чтобы было проще вводить команды, укажем в переменной PATH,где ее искать.

$ export PATH=$PATH:~/kubernetes/cluster/ubuntu/binaries

Для удобства лучше строку прописать сразу в ~/.bash_profile. Два подкаталога — master, minion в ubuntu/binaries содержат утилиты для настройки мастера и подчиненных узлов. Все операции реализуются указанием одного из 20 ключей, список которых можем получить, введя

$ kubectl --help

Смотрим

kuberctl

Смотрим список нод, настройки и данные кластера.

$ kubectl get nodes
$ kubectl cluster-info
$ kubectl config

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

$ kubectl run nginxtest --image=nginx --port=80 --hostport=81

K8S сам загрузит и установит образ. Через время к nginx можно обратиться, подключившись на 81-й порт. Если нод несколько и нам нужна балансировка, может указываться параметр —create-external-load-balancer и указывается количество реплик —replicas=№. Текущее состояние репликации выводится командой kubectl get rc. Возможно заранее прописать настройки контейнера в файле, который затем использовать при азвертывании командой create:

$ kubectl create -f nginx.yaml

Если файлов много, то просто указывается каталог, в котором они находятся.
Далее создаем сервис:

$ kubectl expose rc nginx --port=80 --target-port=80 --service-name=nginx -s "http://192.168.1.2:8080"

Теперь можем проверить доступные сервисы и POD.

$ kubectl get pods

В ответ получим имя (по которому можем обращаться к POD), состояние и возраст.

$ kubectl get services

kuberctl

Если нужно выполнить команду внутри контейнера, то используем kubectl exec. Kubectl позволяет обращаться к некоторым ресурсам сразу по имени. В настоящее время доступно 19 типов ресурсов, все они описаны в документации к kubectl. Когда информации много, можно форматировать вывод при помощи -o, отбирая произвольные колонки, или вывести в JSON/YAML-формате для дальнейшей обработки. Например, выведем в расширенном формате список нод и сервисов:

$ kubectl get rc,services -o=wide

Веб-интерфейс доступен по адресу https://<K8S-host>/ui, пароль для входа можно посмотреть в выводе kubectl config view. Если он не работает, следует установить его последнюю стабильную версию.

$ kubectl create -f 
https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml

 

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

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