Вся подготовка по установке сервера управления srv, установки нужных пакетов и зависимостей, скачивание из репозиториев kubespay и подготовка для установки кластера выполняется автоматически на предыдущем шаге кодом из репозитория: https://github.com/MikhailRyzhkin/Initial_infr
Для полуавтоматического варианта установки, необходимо после установки сервара управления SRV:
- зайти по ssh на эту ноду: ssh -i C:\Users\Mikhail\.ssh\mikhail-skillfactory ubuntu@<IP_adress>
- запустить скрипт развёртывания кластера k8s: /opt/kubernetes_setup/cluster_install.sh
В этом варианте только два ручных действия:
- Развёртывание srv из заранее скачанного репозитория https://github.com/MikhailRyzhkin/Initial_infr: terraform apply
- Развёртывание кластера k8s с srv ноды: /opt/kubernetes_setup/cluster_install.sh
Для автоматического развёртывания понадобится:
- раскомментировать в файле /scripts/k8s-provisioning.sh самую нижнюю строку: #/opt/kubernetes_setup/cluster_install.sh репозитория https://github.com/MikhailRyzhkin/Initial_infr
- Запуск автоматического каскадного развёртывания из заранее скачанного репозитория https://github.com/MikhailRyzhkin/Initial_infr srv ноды и кластера k8s с неё: terraform apply
В примере использован первый вариант - полуавтоматический. Но тестировался и полностью автоматический. Полуавтоматический вариант выбран для более полного контроля и дебагинга развёртывания кластера с учетом будущих возможных изменений в версиях.
$ /opt/kubernetes_setup/cluster_install.sh
$ /opt/kubernetes_setup/cluster_destroy.sh
Результаты разворачивания инфрастурктуры и кластера:
Полезные ссылки:
https://learn.hashicorp.com/terraform/getting-started/install https://cloud.yandex.ru/docs/tutorials/infrastructure-management/terraform-quickstart
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
https://kubernetes.io/docs/tasks/tools/install-kubectl/
https://helm.sh/docs/intro/install/
https://stedolan.github.io/jq/
$ git clone https://github.com/MikhailRyzhkin/kubernetes_setup
cd /kubernetes_setup
$ git clone https://github.com/MikhailRyzhkin/kubespray