Skip to content

Развертывание решения по автоматическому копированию меток node-group кластера mk8s на ноды кластера, виртуальные машины этих нод и загрузочные диски этих виртуальных машин.

License

Notifications You must be signed in to change notification settings

yandex-cloud-examples/yc-k8s-labels-duplicator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K8s Labels Duplicator

Terraform-проект, который разворачивает в Yandex Cloud облачную функцию. Эта функция вызывается по расписанию и автоматически копирует пользовательские метки (labels) node-групп кластеров Managed Kubernetes (mk8s) на связанные ресурсы:

  • виртуальные машины, входящие в соответствующие группы узлов кластера.
  • загрузочные диски этих виртуальных машин.
  • node_labels группы узлов кластера k8s (и далее автоматически на сами ноды кластера k8s).

node_labels — пользовательские метки, назначаемые на группы узлов Managed Service for Kubernetes в Yandex Cloud. Подробнее об управлении метками node_labels можно узнать в документации. node_labels используются в проекте для автоматического добавления меток на ноды кластера k8s.


Функционал

  • Создаёт сервисный аккаунт с необходимыми правами (IAM роли) для работы с ресурсами Yandex Cloud.
  • Загружает и развёртывает функцию на базе кода из папки code/.
  • Настраивает триггер по расписанию (по умолчанию - ежеминутный запуск). Для запуска функции, например, раз в 2 минуты - меняем атрибут cron_expression на 0/2 * * * ? * и т.д.
  • Генерирует уникальные имена для ресурсов с помощью случайной строки, чтобы избежать конфликтов.

Использование

  1. Установите YC CLI
  2. Добавьте переменные окружения для аутентификации terraform в Yandex Cloud:
export YC_TOKEN=$(yc iam create-token)
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)
  1. Клонируйте репозиторий и перейдите в папку проекта:
    git clone https://github.com/yandex-cloud-examples/yc-k8s-labels-duplicator
    cd yc-k8s-labels-duplicator
  2. Настройте переменные с помощью файла terraform.tfvars или передайте необходимые переменные вручную:
folder_id = "your-folder-id"
  1. Инициализируйте Terraform:
terraform init
  1. Проверьте план изменений:
terraform plan
  1. Примените конфигурацию:
terraform apply

About

Развертывание решения по автоматическому копированию меток node-group кластера mk8s на ноды кластера, виртуальные машины этих нод и загрузочные диски этих виртуальных машин.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published