Kubernetes

Создание нового проекта с деплоем в кластер

  1. Авторизация в кластере
  2. Заведение подгруппы.

1. Создание подгруппы и репозиториев

Читайте рекомендации на странице /gitlab.

2. Подготовка namespace'а в k8s для проекта

Смотрите apliteni/k8s/shared-tools/blob/master/README.md.

Подготовка рабочего окружения разработчика

Настройка kubectl

Установите kubectrl.

Для Mac OS: brew install kubernetes-cli.

Создание нового конфига с кластером:

kubectl config set-cluster hz-dev-1 --server=https://K8S_API_URL --insecure-skip-tls-verify=true

Адрес K8s API найдете в репозитории our-clusters

Создание контекста (это связка user + cluster + namespace):

kubectl config set-context hz-dev-1-gdbc --cluster=hz-dev-1 --user=user-ivan-ivanov --namespace=gdbc

Установка пользователя с токеном (токен предварительно создается администратором кластера):

kubectl config set-credentials user-ivan-ivanov --token=...

Переключение на созданный контекст

kubectl config use-context hz-dev-1-gdbc

Отладка внутри кластера

Для отладки внутри кластера можно запустить терминал через pod:

dnsutils, netcat, net-tools, nmap, jq, curl traceroute

kubectl run --namespace=NAMESPACE -it --rm --image=apliteni/network-utils debug-pod -- bash

psql

kubectl run --namespace=NAMESPACE -it --rm --image=postgres debug-pod -- bash

Полезности

Для быстрого переключения между контекстами и namespace'ами попробуйте kubext/kubens.

Примеры проектов

Смотрите apliteni/k8s/shared-tools/blob/master/README.md

Список наших кластеров

Смотрите apliteni/k8s/our-clusters.

Рекомендации

  1. Старайтесь использовать инструментарий из проекта shared-tools, не писать заново.
  2. Используйте для dev-окружения Docker Compose, вместо minikube пример.