addon-manager

Short about addon-manager.

·

1 min read

Аддон, отслеживающий состояние компонентов и приводящий их к ожидаемому состоянию.

Следит за такими компонентами как:

    core/v1/ConfigMap
    core/v1/Endpoints
    core/v1/Namespace
    core/v1/PersistentVolumeClaim
    core/v1/PersistentVolume
    core/v1/Pod
    core/v1/ReplicationController
    core/v1/Secret
    core/v1/Service
    batch/v1/Job
    batch/v1/CronJob
    apps/v1/DaemonSet
    apps/v1/Deployment
    apps/v1/ReplicaSet
    apps/v1/StatefulSet
    networking.k8s.io/v1/Ingress

Задачи, которые выполняет.

  • Проверяет объекты из списка выше раз в 60 секунд, на предмет их изменений;

  • Используется для приведения объектов за которыми следит к первоначальному состоянию.

Особенности.

  1. Работает в бесконечном цикле;

  2. Следит за объектами у которых установлен label: addonmanager.kubernetes.io/mode:

  3. Устанавливается в директорию аддонов: /etc/kubernetes/addons

  4. Ставится по-умолчанию в kube-system;

  5. Написан на bash.

Начинает следить за объектом если добавить в label одну из двух меток:

  1. addonmanager.kubernetes.io/mode=Reconcile

  2. addonmanager.kubernetes.io/mode=EnsureExists

В первом случае приводит к заданному шаблону настройки ресурсов.
А во втором случае просто проверяет наличие ресурсов.

Примеры использования.

labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: kube-dns
    kubernetes.io/name: CoreDNS
---
labels:
    addonmanager.kubernetes.io/mode: Reconcile
    app.kubernetes.io/instance: metrics-server
    app.kubernetes.io/name: metrics-server
    app.kubernetes.io/version: 0.6.1
---
labels:
    addonmanager.kubernetes.io/mode: Reconcile
---
labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: cilium

Данные примеры взяты из манифестов системных подов. Все они под защитой addonmanager.

Полезные ссылки.

GitHub addonmanager: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/addon-manager