<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_API_Kubernetes</id>
	<title>Мониторинг API Kubernetes - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_API_Kubernetes"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_API_Kubernetes&amp;action=history"/>
	<updated>2026-05-11T15:05:51Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_API_Kubernetes&amp;diff=5958&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «Ключ-АСТРОМ получает информацию о сущностях и метаданных '''Kubernetes''', выполняя запросы к '''...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_API_Kubernetes&amp;diff=5958&amp;oldid=prev"/>
		<updated>2025-11-24T14:37:02Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Ключ-АСТРОМ получает информацию о сущностях и метаданных &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039;, выполняя запросы к &amp;#039;&amp;#039;&amp;#039;...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ключ-АСТРОМ получает информацию о сущностях и метаданных '''Kubernetes''', выполняя запросы к '''API Kubernetes'''. Эта информация используется для встроенных оповещений '''Kubernetes''' и для предоставления всех сигналов наблюдения в соответствующем контексте '''Kubernetes''' на платформе Ключ-АСТРОМ, например, путём создания связей между приложениями, (микро)сервисами, базами данных и сущностями '''Kubernetes''', такими как модули, пространства имен и узлы.&lt;br /&gt;
&lt;br /&gt;
Ключ-АСТРОМ '''Operator''' управляет жизненным циклом всех компонентов Ключ-АСТРОМ в кластере '''Kubernetes''' и может быть настроен путем развертывания пользовательского ресурса '''DynaKube'''. Ключ-АСТРОМ АктивныйШлюз — компонент Ключ-АСТРОМ, необходимый для мониторинга '''API Kubernetes''' — предоставляет возможность мониторинга '''API Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
Чтобы включить мониторинг '''API Kubernetes''', выполните следующие действия ниже.&lt;br /&gt;
&lt;br /&gt;
== Установка Ключ-АСТРОМ Operator ==&lt;br /&gt;
[[Развертывание Kubernetes|Установите Ключ-АСТРОМ Operator в любом режиме развертывания]]&lt;br /&gt;
&lt;br /&gt;
== Настройка DynaKube ==&lt;br /&gt;
Настройте значения АктивногоШлюза '''DynaKube''' в соответствии со списком параметров и добавьте &amp;lt;code&amp;gt;kubernetes-monitoring&amp;lt;/code&amp;gt; возможности АктивногоШлюза.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|...&lt;br /&gt;
&lt;br /&gt;
activeGate:&lt;br /&gt;
&lt;br /&gt;
  capabilities:&lt;br /&gt;
&lt;br /&gt;
    - routing&lt;br /&gt;
&lt;br /&gt;
    - kubernetes-monitoring&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Подключение АктивногоШлюза к API Kubernetes ==&lt;br /&gt;
У вас есть два варианта:&lt;br /&gt;
&lt;br /&gt;
* Подключите контейнеризованный АктивныйШлюз к локальной конечной точке '''API Kubernetes'''.&lt;br /&gt;
* Подключите контейнеризованный АктивныйШлюз к общедоступному URL-адресу '''API Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
Инструкции для обоих вариантов смотрите ниже.&lt;br /&gt;
&lt;br /&gt;
=== Подключение к локальной конечной точке API Kubernetes ===&lt;br /&gt;
Вы можете включить мониторинг, подключив контейнеризованный АктивныйШлюз к локальной конечной точке '''API Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
Существует два способа подключения к локальной конечной точке '''API Kubernetes''':&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;рекомендуется&amp;lt;/code&amp;gt; Позвольте Ключ-АСТРОМ '''Operator''' автоматически обрабатывать соединение (включен по умолчанию, начиная с версии Ключ-АСТРОМ Operator 0.13.0).&lt;br /&gt;
* Настройте соединение вручную&lt;br /&gt;
&lt;br /&gt;
Подробности ручного метода см. ниже.&lt;br /&gt;
&lt;br /&gt;
==== Настройка соединение вручную ====&lt;br /&gt;
Для ручного подключения к локальной конечной точке '''API Kubernetes''' достаточно указать уникальный идентификатор кластера '''Kubernetes''' (&amp;lt;code&amp;gt;uuid&amp;lt;/code&amp;gt; пространства имён &amp;lt;code&amp;gt;kube-system&amp;lt;/code&amp;gt;). Затем контейнеризованный АктивныйШлюз идентифицирует этот уникальный идентификатор кластера и отправляет его в Ключ-АСТРОМ.&lt;br /&gt;
&lt;br /&gt;
===== Получите идентификатор кластера Kubernetes =====&lt;br /&gt;
Выполните команду ниже и извлеките '''UID''' из выходных данных.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl get namespace kube-system -o jsonpath='{.metadata.uid}'&lt;br /&gt;
|oc get namespace kube-system -o jsonpath='{.metadata.uid}'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Укажите идентификатор кластера Kubernetes в astromkey. =====&lt;br /&gt;
&lt;br /&gt;
# Перейдите в '''Kubernetes'''.&lt;br /&gt;
# Выберите '''Подключиться вручную'''.&lt;br /&gt;
# На странице настроек подключения к кластеру '''Kubernetes''' укажите '''Название''', а затем включите '''Подключить контейнеризованный АктивныйШлюз к локальной конечной точке API Kubernetes'''.&lt;br /&gt;
# Для идентификатора кластера '''Kubernetes''' введите полученный ранее '''UID'''.&lt;br /&gt;
# Выберите '''Сохранить изменения''', чтобы сохранить конфигурацию.&lt;br /&gt;
&lt;br /&gt;
Вы можете сохранить конфигурацию, даже если АктивныйШлюз не готов к подключению, и завершить настройку позже. Чтобы проверить готовность, выберите '''Проверить конфигурацию'''.&lt;br /&gt;
&lt;br /&gt;
=== Подключение к публичному API Kubernetes ===&lt;br /&gt;
Чтобы подключиться к публичному '''API Kubernetes''', следуйте инструкциям, относящимся к вашей версии '''Kubernetes''':&lt;br /&gt;
&lt;br /&gt;
* '''Kubernetes''' версии 1.24+&lt;br /&gt;
* Версия '''Kubernetes''' ниже 1.24&lt;br /&gt;
&lt;br /&gt;
==== Kubernetes версии 1.24+ ====&lt;br /&gt;
1. Получите URL-адрес '''API Kubernetes'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'&lt;br /&gt;
|oc config view --minify -o jsonpath='{.clusters[0].cluster.server}'&lt;br /&gt;
|}&lt;br /&gt;
Если вы установили &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; на &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; в пользовательском [https://github.com/Dynatrace/dynatrace-operator/tree/v1.6.0/assets/samples/dynakube ресурсе DynaKube]﻿, используйте следующую команду для получения '''URL'''-адреса '''API Kubernetes''':&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl -n default get svc/kubernetes -o jsonpath='&amp;lt;nowiki&amp;gt;https://{.spec.clusterIP}'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|oc -n default get svc/kubernetes -o jsonpath='&amp;lt;nowiki&amp;gt;https://{.spec.clusterIP}'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
2. Создайте файл &amp;lt;code&amp;gt;token-secret.yaml&amp;lt;/code&amp;gt; со следующим содержимым:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|apiVersion: v1&lt;br /&gt;
&lt;br /&gt;
kind: Secret&lt;br /&gt;
&lt;br /&gt;
metadata:&lt;br /&gt;
&lt;br /&gt;
  name: astromkey-kubernetes-monitoring&lt;br /&gt;
&lt;br /&gt;
  annotations:&lt;br /&gt;
&lt;br /&gt;
    kubernetes.io/service-account.name: &amp;quot;astromkey-kubernetes-monitoring&amp;quot;&lt;br /&gt;
&lt;br /&gt;
type: kubernetes.io/service-account-token&lt;br /&gt;
|}&lt;br /&gt;
3. Примените файл для создания секрета &amp;lt;code&amp;gt;astromkey-kubernetes-monitoring&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl apply -n astromkey -f token-secret.yaml&lt;br /&gt;
|oc apply -n astromkey -f token-secret.yaml&lt;br /&gt;
|}&lt;br /&gt;
4. Получите токен на предъявителя.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;kubectl get secret astromkey-kubernetes-monitoring -o jsonpath='{.data.token}' -n astromkey | base64 --decode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;oc get secret astromkey-kubernetes-monitoring -o jsonpath='{.data.token}' -n astromkey | base64 --decode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
5. Перейдите в '''Kubernetes''' и выберите '''Подключиться вручную'''.&lt;br /&gt;
&lt;br /&gt;
6. На странице настроек подключения к кластеру '''Kubernetes''' укажите '''Имя''', URL-адрес '''API Kubernetes''' и токен носителя для кластера '''Kubernetes'''.&lt;br /&gt;
&lt;br /&gt;
7. Выберите '''Сохранить изменения'''.&lt;br /&gt;
&lt;br /&gt;
==== Версия Kubernetes ниже 1.24 ====&lt;br /&gt;
1. Получите URL-адрес '''API Kubernetes'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'&lt;br /&gt;
|oc config view --minify -o jsonpath='{.clusters[0].cluster.server}'&lt;br /&gt;
|}&lt;br /&gt;
Если вы установили &amp;lt;code&amp;gt;enableIstio&amp;lt;/code&amp;gt; на &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; в пользовательском [https://github.com/Dynatrace/dynatrace-operator/tree/v1.6.0/assets/samples/dynakube ресурсе DynaKube]﻿, используйте следующую команду для получения '''URL'''-адреса '''API Kubernetes''':&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift&lt;br /&gt;
|-&lt;br /&gt;
|kubectl -n default get svc/kubernetes -o jsonpath='&amp;lt;nowiki&amp;gt;https://{.spec.clusterIP}'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|oc -n default get svc/kubernetes -o jsonpath='&amp;lt;nowiki&amp;gt;https://{.spec.clusterIP}'&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
2. Получите токен на предъявителя.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Kubernetes&lt;br /&gt;
!OpenShift v3.x&lt;br /&gt;
!OpenShift v4.x&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;kubectl get secret $(kubectl get sa astromkey-kubernetes-monitoring -o jsonpath='{.secrets[0].name}' -n astromkey) -o jsonpath='{.data.token}' -n astromkey | base64 --decode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;oc get secret $(oc get sa astromkey-kubernetes-monitoring -o jsonpath='{.secrets[0].name}' -n astromkey) -o jsonpath='{.data.token}' -n astromkey | base64 --decode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;oc get secret $(oc get sa astromkey-kubernetes-monitoring -o jsonpath='{.secrets[1].name}' -n astromkey) -o jsonpath='{.data.token}' -n astromkey | base64 --decode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
3. Перейдите в '''Kubernetes''' и выберите '''Подключиться вручную'''.&lt;br /&gt;
&lt;br /&gt;
4. На странице настроек подключения к кластеру '''Kubernetes''' укажите '''Название''', URL-адрес '''API Kubernetes''' и токен носителя для кластера '''Kubernetes'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Для дистрибутивов '''Rancher''' вам понадобится токен-носитель, созданный в веб-интерфейсе '''Rancher''', как описано в разделе «'''Специальные инструкции для дистрибутивов Rancher'''», чтобы получить URL-адрес API и токен-носитель выше.&lt;br /&gt;
|}&lt;br /&gt;
5. Выберите '''Сохранить изменения'''.&lt;br /&gt;
&lt;br /&gt;
===== Специальные инструкции для дистрибутивов Rancher по получению URL-адреса API и токена носителя =====&lt;br /&gt;
Для дистрибутивов '''Kubernetes''' через '''Rancher''' необходимо использовать токен-носитель и URL-адрес API сервера '''Rancher''', поскольку этот сервер управляет трафиком к серверу Kubernetes API и обеспечивает его защиту. Выполните следующие действия.&lt;br /&gt;
&lt;br /&gt;
1. Получите URL-адрес '''API Kubernetes'''.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'&lt;br /&gt;
|}&lt;br /&gt;
2. Настройте пользователя.&lt;br /&gt;
&lt;br /&gt;
В веб-интерфейсе '''Rancher''' создайте нового пользователя или используйте существующего для привязки к токену. Мы рекомендуем создать нового пользователя.&lt;br /&gt;
&lt;br /&gt;
3. Установите разрешения.&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что у пользователя есть разрешения '''владельца''' или '''пользователя''' для кластера, который вы хотите отслеживать.&lt;br /&gt;
&lt;br /&gt;
'''Рекомендуется''': выберите '''Пользовательские разрешения''' и обязательно выберите следующие две роли: '''Просмотр всех проектов''' и '''Просмотр узлов'''.&lt;br /&gt;
&lt;br /&gt;
4.Создайте ключ '''API'''.&lt;br /&gt;
&lt;br /&gt;
Перейдите в раздел «'''API и ключи'''» и создайте ключ либо для вашей учётной записи (введите имя кластера), либо для всех кластеров (введите «Без области действия»). В целях безопасности мы рекомендуем выбрать первый вариант.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Вновь созданные ключи содержат четыре поля. Обязательно используйте содержимое поля '''Bearer token''' для настройки подключения к '''Kubernetes API,''' описанного в следующем разделе.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Другие варианты ==&lt;br /&gt;
&lt;br /&gt;
* Если вы не можете использовать Ключ-АСТРОМ '''Operator''', вы можете развернуть АктивныйШлюз напрямую как '''StatefulSet''' (не рекомендуется).&lt;br /&gt;
* Если вы хотите контролировать несколько кластеров '''Kubernetes''' с помощью одного АктивногоШлюза и вам не нужно разделять сети для административного и рабочего трафика, вы можете установить АктивныйШлюз на виртуальную машину с помощью обычного установщика.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>