Настройка 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
.