如何配置环境变量

Katib组件接受的环境变量列表

本指南描述了每个 Katib 组件的环境变量。如果您想更改您的 Katib 安装,可以修改其中一些变量。

在下面的表格中,您可以找到每个Katib组件中所有环境变量的描述、默认值和必需属性。如果一个变量具有必需属性,您需要在相应的Katib组件的清单中设置相关的环境变量。

Katib 控制器

以下是Katib Controller部署的环境变量:

变量描述默认值是否必需
KATIB_CORE_NAMESPACEBase Namespace for all Katib components and default Experimentmetadata.namespaceYes
KATIB_SUGGESTION_COMPOSERComposer for the Katib Suggestions. You can use your own ComposergeneralNo
KATIB_DB_MANAGER_SERVICE_NAMESPACEKatib DB Manager NamespaceKATIB_CORE_NAMESPACE env variableNo
KATIB_DB_MANAGER_SERVICE_IPKatib DB Manager IPkatib-db-managerNo
KATIB_DB_MANAGER_SERVICE_PORTKatib DB Manager Port6789No

Katib 控制器使用这个地址表达式调用 Katib 数据库管理器:

KATIB_DB_MANAGER_SERVICE_IP.KATIB_DB_MANAGER_SERVICE_NAMESPACE:KATIB_DB_MANAGER_SERVICE_PORT

如果您设置 KATIB_DB_MANAGER_SERVICE_NAMESPACE="",Katib Controller 将使用此地址调用 Katib DB Manager:

KATIB_DB_MANAGER_SERVICE_IP:KATIB_DB_MANAGER_SERVICE_PORT

如果您想使用自己的数据库管理器来报告Katib指标,您可以更改 KATIB_DB_MANAGER_SERVICE_NAMESPACEKATIB_DB_MANAGER_SERVICE_IPKATIB_DB_MANAGER_SERVICE_PORT 变量。

Katib 用户界面

以下是Katib UI部署的环境变量:

变量描述默认值必需
KATIB_CORE_NAMESPACEBase Namespace for all Katib components and default Experimentmetadata.namespaceYes
KATIB_DB_MANAGER_SERVICE_NAMESPACEKatib DB Manager NamespaceKATIB_CORE_NAMESPACE env variableNo
KATIB_DB_MANAGER_SERVICE_IPKatib DB Manager IPkatib-db-managerNo
KATIB_DB_MANAGER_SERVICE_PORTKatib DB Manager Port6789No

Katib UI 以与 Katib Controller 相同的地址表达式调用 Katib DB Manager。

Katib 数据库管理器

以下是Katib DB Manager部署的环境变量:

变量描述默认值是否必填
DB_NAMEKatib DB Name: 'mysql' or 'postgres'Yes
DB_PASSWORDKatib DB Passwordtest (MySQL)
katib (Postgres)
Yes
DB_USERKatib DB Userroot (MySQL)
katib (Postgres)
No
KATIB_MYSQL_DB_HOSTKatib MySQL Hostkatib-mysqlNo
KATIB_MYSQL_DB_PORTKatib MySQL Port3306No
KATIB_MYSQL_DB_DATABASEKatib MySQL Database namekatibNo
KATIB_POSTGRESQL_DB_HOSTKatib Postgres Hostkatib-postgresNo
KATIB_POSTGRESQL_DB_PORTKatib Postgres Port5432No
KATIB_POSTGRESQL_DB_DATABASEKatib Postgres Database namekatibNo
KATIB_POSTGRESQL_SSL_MODEKatib Postgres SSL modedisableNo
SKIP_DB_INITIALIZATIONOption to skip DB table initializationfalseNo

目前,Katib DB 管理器仅支持 MySQLPostgres 数据库。(DB_NAME 环境变量必须填写为 mysqlpostgres 之一)。但是,您可以使用自己的 DB 管理器和数据库通过实现 katib db 接口 来报告指标。

对于Katib DB Manager,您可以将DB_PASSWORD更改为您自己的数据库密码。

Katib DB Manager 根据数据库类型创建数据库连接。
如果 DB_NAME=mysql,它使用 mysql 驱动程序和以下数据源名称:
DB_USER:DB_PASSWORD@tcp(KATIB_MYSQL_DB_HOST:KATIB_MYSQL_DB_PORT)/KATIB_MYSQL_DB_DATABASE?timeout=5s

如果 DB_NAME=postgres,它使用 pq 驱动程序和这个数据源名称:
postgresql://[DB_USER[:DB_PASSWORD]@][KATIB_POSTGRESQL_DB_HOST][:KATIB_POSTGRESQL_DB_PORT][/KATIB_POSTGRESQL_DB_DATABASE]

Katib 数据库

Katib DB 组件支持 MySQL 和 Postgres。

Katib MySQL

对于Katib MySQL,您需要设置以下环境变量:

  • MYSQL_ROOT_PASSWORD 设置为来自 katib-mysql-secrets 的一个值,该值等于“test”。
  • MYSQL_ALLOW_EMPTY_PASSWORD 作为 true
  • MYSQL_DATABASE 作为 katib

您可以参考所有环境变量的列表,用于MySQL Docker镜像。

Katib MySQL 环境变量必须与 Katib DB Manager 环境变量匹配,这意味着:

  1. MYSQL_ROOT_PASSWORD = DB_PASSWORD
  2. MYSQL_DATABASE = KATIB_MYSQL_DB_DATABASE

Katib Postgres

对于Katib Postgres,您需要设置这些环境变量:

  • POSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_DB 的值来自 katib-postgres-secrets,其值等于“katib”。

您可以参考所有环境变量的列表,用于Postgres Docker镜像。

Katib Postgres 环境变量必须与 Katib DB 管理器环境变量匹配,这意味着:

  1. POSTGRES_USER = DB_USER
  2. POSTGRES_PASSWORD = DB_PASSWORD
  3. POSTGRES_DB = KATIB_POSTGRESQL_DB_DATABASE

下一步

反馈

此页面有帮助吗?


Last modified February 10, 2025: Katib: 更新 env-variables.md (#3987) (39839ca)