Файл конфигурации CLI позволяет настроить различные профили или контексты для использования с ACP CLI (ac). Контекст состоит из данных аутентификации пользователя и информации о сервере платформы ACP, связанной с псевдонимом.
ACP CLI предоставляет расширенные команды, которые значительно упрощают управление конфигурацией по сравнению с традиционной манипуляцией kubeconfig. Эти команды разработаны для бесшовной работы с многокластерной средой ACP.
ac login — аутентификация и настройка доступа к платформам ACPКоманда ac login служит основным входом для установления соединений с платформами ACP. Она аутентифицирует пользователей и автоматически настраивает все необходимые записи kubeconfig.
Процесс входа:
--cluster: создаётся контекст для этого конкретного кластера--namespace: namespace устанавливается в контексте<session_name>/<cluster_name>ac logout — завершение сессий платформы и очистка конфигурацииКоманда logout удаляет все записи конфигурации, связанные с сессией, включая кластеры, пользователей и контексты.
ac config get-sessions — список всех настроенных сессий платформ ACPПример вывода:
Эта команда отображает:
*)ac config use-session <session_name> — переключение между платформами ACPЭта команда интеллектуально выбирает или создаёт соответствующие контексты на основе вашей сессии и требований к кластеру.
ac config use-cluster <cluster_name> — переключение кластеров в текущей сессииКоманда находит или создаёт контексты для указанного кластера в рамках текущей платформенной сессии.
ac namespace — просмотр текущего статуса и переключение namespaceОтобразить текущий статус:
Пример вывода:
Переключить namespace:
ac config sync — синхронизация конфигурации платформыКоманда sync обновляет вашу конфигурацию с последней информацией с платформ ACP, добавляя новые кластеры и обновляя учётные данные по мере необходимости.
ACP CLI хранит всю информацию конфигурации в стандартном файле ~/.kube/config, обеспечивая полную совместимость с kubectl и другими инструментами Kubernetes, при этом добавляя специфичные для ACP улучшения.
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 использует метаданные для идентификации, а не имена.
Для продвинутых пользователей, которым требуется точный контроль над конфигурацией, ACP CLI поддерживает все стандартные команды kubectl config для ручного управления kubeconfig.
Большинству пользователей рекомендуется использовать удобные команды, описанные выше.
Команды ручной настройки полезны для продвинутых сценариев:
ACP CLI полностью совместим с подкомандами kubectl config:
| Подкоманда | Использование |
|---|---|
set-cluster | Устанавливает запись кластера в файле конфигурации CLI |
set-context | Устанавливает запись контекста в файле конфигурации CLI |
use-context | Устанавливает текущий контекст по заданному имени контекста |
set | Устанавливает отдельное значение в файле конфигурации CLI |
unset | Снимает отдельные значения в файле конфигурации CLI |
view | Отображает объединённую конфигурацию CLI, используемую в данный момент |
Создать пользовательский контекст:
Просмотреть текущую конфигурацию:
Обновить 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Для любой отсутствующей информации используются значения по умолчанию, а также запрашивается дополнительная информация.