Управление профилями CLI
Файл конфигурации CLI позволяет настроить различные профили или контексты для использования с ACP CLI (ac). Контекст состоит из данных аутентификации пользователя и информации о сервере платформы ACP, связанной с псевдонимом.
Содержание
Удобное управление конфигурациейУправление платформой и сессиямиac login — аутентификация и настройка доступа к платформам ACPac logout — завершение сессий платформы и очистка конфигурацииac config get-sessions — список всех настроенных сессий платформ ACPac config use-session <session_name> — переключение между платформами ACPЕжедневные операцииac config use-cluster <cluster_name> — переключение кластеров в текущей сессииac namespace — просмотр текущего статуса и переключение namespaceac config sync — синхронизация конфигурации платформыСтруктура конфигурации ACP CLIРасширенная структура kubeconfig ACP CLIСтруктура и организация метаданныхИдентификация на основе метаданныхКонвенции именованияРучная настройка профилей CLIСтандартные команды конфигурацииПримеры ручных операцийПравила загрузки и слиянияУдобное управление конфигурацией
ACP CLI предоставляет расширенные команды, которые значительно упрощают управление конфигурацией по сравнению с традиционной манипуляцией kubeconfig. Эти команды разработаны для бесшовной работы с многокластерной средой ACP.
Управление платформой и сессиями
ac login — аутентификация и настройка доступа к платформам ACP
Команда ac login служит основным входом для установления соединений с платформами ACP. Она аутентифицирует пользователей и автоматически настраивает все необходимые записи kubeconfig.
Процесс входа:
- Аутентификация на платформе ACP
- Обнаружение всех доступных кластеров на платформе
- Создание записей кластеров и пользователей в вашем kubeconfig
- Создание и активация контекста:
- Если указан
--cluster: создаётся контекст для этого конкретного кластера - Если указан
--namespace: namespace устанавливается в контексте - Если кластер не указан: по умолчанию используется глобальный кластер
- Имя контекста формируется по шаблону:
<session_name>/<cluster_name>
- Если указан
ac logout — завершение сессий платформы и очистка конфигурации
Команда logout удаляет все записи конфигурации, связанные с сессией, включая кластеры, пользователей и контексты.
ac config get-sessions — список всех настроенных сессий платформ ACP
Пример вывода:
Эта команда отображает:
- CURRENT: указывает, принадлежит ли текущий контекст этой сессии (отмечено
*) - SESSION: имя сессии (задаётся пользователем при входе)
- PLATFORM: базовый URL платформы
- USER: имя аутентифицированного пользователя для сессии
- CLUSTERS: количество кластеров, доступных в этой сессии
ac config use-session <session_name> — переключение между платформами ACP
Эта команда интеллектуально выбирает или создаёт соответствующие контексты на основе вашей сессии и требований к кластеру.
Ежедневные операции
ac config use-cluster <cluster_name> — переключение кластеров в текущей сессии
Команда находит или создаёт контексты для указанного кластера в рамках текущей платформенной сессии.
ac namespace — просмотр текущего статуса и переключение namespace
Отобразить текущий статус:
Пример вывода:
Переключить namespace:
ac config sync — синхронизация конфигурации платформы
Команда sync обновляет вашу конфигурацию с последней информацией с платформ ACP, добавляя новые кластеры и обновляя учётные данные по мере необходимости.
Структура конфигурации ACP CLI
ACP CLI хранит всю информацию конфигурации в стандартном файле ~/.kube/config, обеспечивая полную совместимость с kubectl и другими инструментами Kubernetes, при этом добавляя специфичные для ACP улучшения.
Расширенная структура kubeconfig ACP CLI
ACP CLI расширяет стандартный формат kubeconfig метаданными ACP для улучшенной интеграции с платформой:
Структура и организация метаданных
ACP CLI использует расширения метаданных для организации и идентификации записей конфигурации:
Идентификация на основе метаданных
- Идентификация платформы: используется
platformUrlдля определения родительской платформы - Ассоциация сессии: используется
sessionNameдля группировки связанных кластеров, пользователей и контекстов - Обнаружение глобального кластера: используется поле
isGlobalдля идентификации управляющих кластеров - Расположение учётных данных пользователя: совпадение
sessionNameиplatformUrlв расширениях пользователя
Конвенции именования
ACP CLI использует единообразные соглашения при создании новых записей:
- Записи кластеров:
acp:<session_name>:<cluster_name>(например,acp:prod:global) - Записи пользователей:
acp:<session_name>:user(например,acp:prod:user) - Записи контекстов:
<session_name>/<cluster_name>(например,prod/global)
Префикс acp: гарантирует, что записи, управляемые ACP CLI, не конфликтуют с существующими записями kubeconfig.
Пользователи могут вручную переименовывать эти записи — ACP CLI использует метаданные для идентификации, а не имена.
Ручная настройка профилей CLI
Для продвинутых пользователей, которым требуется точный контроль над конфигурацией, ACP CLI поддерживает все стандартные команды kubectl config для ручного управления kubeconfig.
Большинству пользователей рекомендуется использовать удобные команды, описанные выше.
Команды ручной настройки полезны для продвинутых сценариев:
- Пользовательское именование контекстов — создание контекстов, не следующих соглашениям ACP CLI
- Среды вне ACP — управление традиционными контекстами kubectl вместе с сессиями ACP
- Сложные многоконтекстные сценарии — продвинутые рабочие процессы, требующие точного контроля контекстов
- Отладка проблем с конфигурацией — диагностика или исправление проблем конфигурации
Стандартные команды конфигурации
ACP CLI полностью совместим с подкомандами kubectl config:
Примеры ручных операций
Создать пользовательский контекст:
Просмотреть текущую конфигурацию:
Обновить namespace контекста:
Правила загрузки и слияния
Вы можете следовать этим правилам при выполнении операций CLI для порядка загрузки и слияния конфигурации CLI:
-
Файлы конфигурации CLI загружаются с вашей рабочей станции, используя следующую иерархию и правила слияния:
- Если задан параметр
--config, загружается только этот файл. Флаг устанавливается один раз, слияние не происходит. - Если установлена переменная окружения
$KUBECONFIG, она используется. Переменная может содержать список путей, которые объединяются. При изменении значения оно изменяется в файле, где определён соответствующий раздел. При создании значения оно создаётся в первом существующем файле. Если ни один файл из списка не существует, создаётся последний файл из списка. - В противном случае используется файл
~/.kube/configбез слияния.
- Если задан параметр
-
Контекст для использования определяется по первому совпадению в следующем порядке:
- Значение параметра
--context. - Значение
current-contextиз файла конфигурации CLI. - На этом этапе допускается пустое значение.
- Значение параметра
-
Пользователь и кластер для использования определяются следующим образом. На этом этапе контекст может быть либо задан, либо нет; они строятся по первому совпадению в следующем порядке, которое выполняется отдельно для пользователя и для кластера:
- Значение параметра
--userдля имени пользователя и параметра--clusterдля имени кластера. - Если задан параметр
--context, используется значение из контекста. - На этом этапе допускается пустое значение.
- Значение параметра
-
Фактическая информация о кластере определяется следующим образом. На этом этапе информация о кластере может быть либо задана, либо нет. Каждое поле информации о кластере строится по первому совпадению в следующем порядке:
- Значения любых из следующих параметров командной строки:
--server,--api-version,--certificate-authority,--insecure-skip-tls-verify - Если информация о кластере и значение атрибута присутствуют, используется оно.
- Если адрес сервера не задан, возникает ошибка.
- Значения любых из следующих параметров командной строки:
-
Фактическая информация о пользователе определяется аналогично кластеру, за исключением того, что у пользователя может быть только один способ аутентификации; конфликтующие методы вызывают ошибку операции. Параметры командной строки имеют приоритет над значениями из файла конфигурации. Допустимые параметры командной строки:
--auth-path--client-certificate--client-key--token
-
Для любой отсутствующей информации используются значения по умолчанию, а также запрашивается дополнительная информация.