Настройка ydbops
Примечание
Утилита ydbops находится в активной разработке. В редких случаях обратная совместимость может быть нарушена.
ydbops можно запустить, указав все необходимые аргументы командной строки при вызове команды.
Однако, есть две функции, которые позволяют избежать повторения часто используемых аргументов:
Файл конфигурации
Файл конфигурации для ydbops — это файл в формате YAML, содержащий несколько профилей. Профили для ydbops работают так же, как и профили в YDB CLI, однако они не взаимозаменяемы, поскольку могут содержать параметры, которые актуальны для ydbops, но не имеют смысла для YDB CLI, и наоборот.
Расположение файла конфигурации по умолчанию следует той же конвенции, что и YDB CLI, и находится в той же папке в подкаталоге ydbops. Для сравнения:
- файл конфигурации по умолчанию для YDB CLI :
$HOME/ydb/config/config.yaml - файл конфигурации по умолчанию для CLI
ydbopsнаходится в той же папке, в подкаталогеydbops:$HOME/ydb/ydbops/config/config.yaml
Некоторые параметры командной строки могут быть записаны в файл конфигурации вместо того, чтобы указывать их каждый раз напрямую при вызове ydbops.
Примеры
Вызов команды ydbops restart без профиля:
ydbops restart \
-e grpc://<hostname>:2135 \
--kubeconfig ~/.kube/config \
--k8s-namespace <k8s-namespace> \
--user admin \
--password-file ~/<password-file> \
--tenant --tenant-list=<tenant-name>
Вызов той же команды ydbops restart с включенными параметрами профиля делает команду намного короче:
ydbops restart \
--config-file ./config.yaml \
--tenant --tenant-list=<tenant-name>
Для указанного выше вызова предполагается наличие следующего config.yaml:
current-profile: my-profile
my-profile:
endpoint: grpc://<hostname>:2135
user: admin
password-file: ~/<password-file>
k8s-namespace: <k8s-namespace>
kubeconfig: ~/.kube/config
Команды управления профилями
В настоящее время ydbops не поддерживает создание, изменение и активацию профилей через команды CLI так, как это делает YDB CLI.
Файл конфигурации необходимо создать и редактировать вручную.
Максимально полный файл конфигурации
Пример файла конфигурации со всеми возможными параметрами и примерами значений (скорее всего, не все опции будут нужны одновременно):
# специальный ключ `current-profile` может быть указан для
# использования в качестве активного профиля по умолчанию при вызове CLI
current-profile: my-profile
my-profile:
endpoint: grpc://your.ydb.cluster.fqdn:2135
# расположение файла CA при использовании grpcs в endpoint
ca-file: /path/to/custom/ca/file
# имя пользователя и файл пароля, если используется аутентификация при помощи логина и пароля:
user: your-ydb-user-name
password-file: /path/to/password-file
# если используется аутентификация при помощи access token
token-file: /path/to/ydb/token
# если идет работа с YDB кластерами под Kubernetes, можно указать путь к kubeconfig:
kubeconfig: /path/to/kube/config
k8s-namespace: <k8s-namespace>
Переменные окружения
Кроме того, можно указать несколько переменных окружения вместо передачи аргументов командной строки или использования файлов конфигурации.
Для справки о приоритете при определении опции в нескольких местах, вызовите ydbops --help.
YDB_TOKENможет быть передана вместо флага--token-fileили параметра профиляtoken-file.YDB_PASSWORDможет быть передана вместо флага--password-fileили параметра профиляpassword-file.YDB_USERможет быть передана вместо флага--userили параметра профиляuser.