Infrastructure simplifying engineer
Date: 2017-10-24
Как начать пользоваться terraform, развернув локально приложение поверх minikube, и потом запустить его поверх kubernetes в cloud.google.com
Для начала настроим minikube и при помощи terraform развернем наше приложение, для этого уже подготовил проект. Остается только:
vagrant up
На выходе у нас есть виртуальная машина по адресу 192.168.56.123 c логином/паролем vagrant/vagrant и/или вашим публичным ключом для пользователей root и vagrant.
Тут все становится интересней, будем подключаться к cloud.google.com и запускать там наше приложение.
gcloud init
и следуем инструкцииgcloud init
gcloud container clusters create gke-cluster
gcloud container clusters list
[root@terraform-adm terraform]# gcloud container clusters get-credentials gke-cluster
Fetching cluster endpoint and auth data.
kubeconfig entry generated for gke-cluster.
[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".
[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".
cp /vagrant/terraform/terraform.tfvars.example /vagrant/terraform/terraform.tfvars
vi /vagrant/terraform/terraform.tfvars
terraform workspace new prod
terraform init
terraform plan
terraform apply
terraform output lb_ingress
terraform destroy
gcloud container clusters delete gke-cluster
Terraform оказался не так страшен. Terraform открывает простор для структурирования и поддержания окружений в идентичном состоянии.