Table of Contents

Сертификат OTUS

https://otus.ru/certificate/a3bb5b94f88e4582a53f606a1f1ab0ae/

Проектная работа по курсу otus kubernetes

Разворачивание кластера в GCP:

Подготовка

wget https://releases.hashicorp.com/terraform/0.13.1/terraform_0.13.1_linux_amd64.zip
unzip ./terraform_0.13.1_linux_amd64.zip 
sudo mv ./terraform /usr/local/bin/terraform

echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y install google-cloud-sdk kubectl

gcloud init

gcloud выдаст ссылку, которую надо будет открыть в браузере, согласиться выдать разрешения и скопировать verification code.
Выбираем зону 1 (us-east1-b) и тип машин будем юзать e2-standard-2 (2vCPU, 8GB RAM).
Включаем необходимые APIшки:

gcloud services enable compute.googleapis.com
gcloud services enable servicenetworking.googleapis.com
#gcloud services enable cloudresourcemanager.googleapis.com
#gcloud services enable container.googleapis.com

Теперь можно получить токен, с которым будем ходить в GCP.

gcloud auth print-access-token

И в дальнейшем полученную строку будем юзать в качестве значения параметра access_token в конфиге terraform-провайдера google.

Текущий статус

Задачи





По сетевой части нашлось вот что: https://github.com/Wi3ard/k8s-nginx-ingress/blob/gke-gdns-certmgr-wildcard/main.tf

https://www.terraform.io/docs/providers/google/r/compute_global_forwarding_rule.html#

ЛИШНЕЕ и пока не очен понятное

Создадим Service Account:

gcloud iam service-accounts create otus-course-project --display-name "Otus Course Project Service Account"

И посмотрим какие с ней связаны ключи:

gcloud iam service-accounts keys list --iam-account=otus-course-project@otus-kuber-course.iam.gserviceaccount.com

Сгенерируем новый (https://cloud.google.com/sdk/gcloud/reference/iam/service-accounts/keys/create):

gcloud iam service-accounts keys create ./otus-kubernetes-course.yaml --iam-account=otus-course-project@otus-kuber-course.iam.gserviceaccount.com

В результате - получим файлик otus-kubernetes-course.yaml, который уже может быть использован terraform.
И потом активируем его:

gcloud auth activate-service-account otus-course-project@otus-kuber-course.iam.gserviceaccount.com --key-file=./otus-kubernetes-course.yaml

Также можно привязать уже имеющийся файлик примерно вот так: https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account .
В дальнейшем переключаться между аккаунтами можно так:

gcloud config set account otus-course-project@otus-kuber-course.iam.gserviceaccount.com