» » Нет времени объяснять! или как подружить terraform с minikube и kubernetes

 

Нет времени объяснять! или как подружить terraform с minikube и kubernetes

Автор: admin от 25-10-2017, 08:35, посмотрело: 57

Нет времени объяснять! или как подружить terraform с minikube и kubernetes
Как начать пользоваться terraform, развернув локально приложение поверх minikube, и потом запустить его поверх kubernetes в cloud.google.com

minikube и при помощи terraform развернем наше приложение, для этого уже подготовил проект. Остается только:




  • Установить VirtualBox

  • Установить Vagrant

  • Сделать копию репозитория ultral/terraform-example

  • Сделать

    vagrant up



  • На выходе у нас есть виртуальная машина по адресу 192.168.56.123 c логином/паролем vagrant/vagrant и/или вашим публичным ключом для пользователей root и vagrant.



    Google cloud



    Тут все становится интересней, будем подключаться к cloud.google.com и запускать там наше приложение.




    1. Регистрируемся [/url][url=https://cloud.google.com]https://cloud.google.com что бы получить $ 300

    2. На развернутой VM делаем gcloud init и следуем инструкции

      gcloud init

    3. По инструкции получаем ключ в консоли разработчика и складываем в /root/.gcloud/terraform.json на виртуальную машину

    4. Создаем кластер в cloud.google.com

      gcloud container clusters create gke-cluster
      gcloud container clusters list

    5. Получаем явки/пароли для подключения kubectl к cloud.google.com

      [root@terraform-adm terraform]# gcloud container clusters get-credentials gke-cluster
      Fetching cluster endpoint and auth data.
      kubeconfig entry generated for gke-cluster.

    6. Переключаем контекст kubectl

      [root@terraform-adm terraform]# kubectl config use-context gke_tutorial-project-183818_europe-west1-d_gke-cluster
      Switched to context "gke_tutorial-project-183818_europe-west1-d_gke-cluster".

    7. Переименовываем контекст kubectl (он у нас указан в terraform)

      [root@terraform-adm terraform]# kubectl config rename-context gke_tutorial-project-183818_europe-west1-d_gke-cluster gke_tutorial
      Context "gke_tutorial-project-183818_europe-west1-d_gke-cluster" was renamed to "gke_tutorial".

    8. Готовим переменные по образу и подобию для terraform

      cp /vagrant/terraform/terraform.tfvars.example /vagrant/terraform/terraform.tfvars
      vi /vagrant/terraform/terraform.tfvars

    9. Подготавливаем и применяем terraform

      terraform workspace new prod
      terraform init
      terraform plan
      terraform apply

    10. Теперь можно получить адрес нашего приложения и зайти через браузер. Мы молодцы.

      terraform output lb_ingress

    11. Подчищаем хвосты за собой

      terraform destroy
      gcloud container clusters delete gke-cluster



    12. Заключение



      Terraform оказался не так страшен. Terraform открывает простор для структурирования и поддержания окружений в идентичном состоянии.



      Источник: Хабрахабр

    Категория: Программирование

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *