Подключение своих кластеров Kubernetes/OpenShift к Ключ-АСТРОМ

Материал из Документация Ключ-АСТРОМ

Ключ-АСТРОМ версии 1.232+

Предпосылки

  1. Настройте оператора Ключ-АСТРОМ .
  2. Установите значения АктивныйШлюз конфигурационного файла AstromkeyKube в соответствии со списком параметров . Примечание: Чтобы включить АктивныйШлюз, в АктивныйШлюзразделе добавьте routingи/или kubernetes-monitoringв capabilities. Пример:

АктивныйШлюз:

capabilities:

- routing

- kubernetes-monitoring

...

Подключите свои кластеры и включите мониторинг

У вас есть два варианта:

  • Подключите контейнерный АктивныйШлюз к локальной конечной точке API Kubernetes.
  • Подключите контейнерный АктивныйШлюз к общедоступному URL-адресу API Kubernetes.

Инструкции для обоих вариантов см. ниже.

Подключитесь к локальной конечной точке API Kubernetes.

АктивныйШлюз версии 1.229+

Вы можете включить мониторинг, подключив контейнерный АктивныйШлюз к локальной конечной точке API Kubernetes. В зависимости от вашей версии оператора Ключ-АСТРОМ существует два способа подключения к локальной конечной точке API Kubernetes.

  • Ключ-АСТРОМ Operator версии 0.4+: Ключ-АСТРОМ Operator автоматически обрабатывает подключение к локальной конечной точке API Kubernetes.
  • Версии Ключ-АСТРОМ Operator до v0.4.0: необходимо настроить подключение вручную .

Подробнее об обоих методах см. ниже.

Оператор Ключ-АСТРОМ версии 0.4.0+

Автоматическое подключение к локальной конечной точке API Kubernetes

  1. Помимо предварительных условий, необходимых для настройки мониторинга , обязательно включите разрешения на чтение объектов , чтение параметров и запись параметров (API v2) для вашего токена API.
  2. Убедитесь, что эта kubernetes-monitoringвозможность включена в вашем пользовательском ресурсе AstromkeyKube.
  3. Добавьте следующую аннотацию (см. пример ниже).
apiVersion: ruscomtech.ru/v1beta1
kind: AstromkeyKube
metadata:
  name: astromkeykube
  namespace: astromkey
  annotations:
    feature.ruscomtech.ru/automatic-kubernetes-api-monitoring: "true"
spec:
  ...
   АктивныйШлюз:
     capabilities:
       - kubernetes-monitoring

Примечание. После добавления этой аннотации имя кластера, отображаемое в Ключ-АСТРОМ, будет таким же, как и у пользовательского ресурса AstromkeyKube, для которого настроена аннотация. Начиная с Ключ-АСТРОМ Operator версии 0.7.0, вы можете изменить имя кластера, отображаемое в Ключ-АСТРОМ, также добавив feature.ruscomtech.ru/automatic-kubernetes-api-monitoring-cluster-name: "custom-cluster-name"аннотацию. Обязательно замените "custom-cluster-name"на желаемое имя кластера.

Пример:

apiVersion: ruscomtech.ru/v1beta1
kind: AstromkeyKube
metadata:
  name: AstromkeyKube
  namespace: astromkey
  annotations:
    feature.ruscomtech.ru/automatic-kubernetes-api-monitoring: "true"
    feature.ruscomtech.ru/automatic-kubernetes-api-monitoring-cluster-name: "custom-cluster-name"
spec:
  ...
  АктивныйШлюз:
    capabilities:
      - kubernetes-monitoring
  1. Примените свою конфигурацию.

Примечание. Чтобы отключить конфигурацию, удалите аннотацию.

Подключитесь к общедоступному API Kubernetes.

Чтобы подключиться к общедоступному API Kubernetes

  1. Получите URL-адрес API Kubernetes.
kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'

Примечание. Если enableIstioв пользовательском ресурсе AstromkeyKubetrue установлено значение , используйте приведенную ниже команду, чтобы получить URL-адрес Kubernetes API:

kubectl -n default get svc/kubernetes -o jsonpath='https://{.spec.clusterIP}'

2. Получите жетон носителя.

kubectl get secret $(kubectl get sa astromkey-kubernetes-monitoring -o jsonpath='{.secrets[0].name}' -n astromkey) -o jsonpath='{.data.token}' -n astromkey | base64 --decode

Специальные инструкции для дистрибутивов Rancher для получения URL-адреса API и токена носителя

Для дистрибутивов Rancher Kubernetes необходимо использовать токен носителя и URL -адрес API сервера Rancher , поскольку этот сервер управляет и защищает трафик к серверу API Kubernetes. Следуйте инструкциям ниже.

  • Получите URL API Kubernetes .

kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server

  • Настройте пользователя.

В веб-интерфейсе Rancher либо создайте нового пользователя, либо используйте существующего пользователя для связи с токеном. Мы рекомендуем создать нового пользователя.

  • Установите разрешения.

Убедитесь, что у пользователя есть права владельца или пользователя для кластера, который вы хотите отслеживать.

Рекомендуется: выберите «Пользовательские разрешения» и обязательно выберите эти две роли: «Просмотр всех проектов» и «Просмотр узлов » .

  • Создайте ключ API.

Перейдите в API & Keys и создайте ключ либо для вашей конкретной учетной записи (введите имя кластера), либо для всех кластеров (введите No scope ). Из соображений безопасности мы рекомендуем выбрать первый вариант.

Примечание. Вновь созданные ключи отображают четыре поля. Обязательно используйте содержимое поля Bearer token для настройки подключения к API Kubernetes, описанного в следующем разделе.

3. В меню Ключ-АСТРОМ перейдите в Kubernetes и выберите Подключиться вручную .

4. На странице настроек мониторинга кластера Kubernetes укажите Имя , URL-адрес API Kubernetes и токен носителя для кластера Kubernetes.

Примечание. Для дистрибутивов Rancher вам потребуется токен носителя, созданный в веб-интерфейсе Rancher, как описано в разделе Специальные инструкции для дистрибутивов Rancher, чтобы получить URL-адрес API и токен носителя выше.

5. Выберите Сохранить изменения .

Поведение АктивныйШлюз при обновлении

АктивныйШлюз автоматически обновляется при перезапуске модуля, когда доступна новая версия, если только версия образа не указана в файле cr.yaml.