额外设置¶
使用 extra_settings
和 extra_settings_files
,您可以通过 AWX 运算符将多个自定义设置传递到 AWX。
注意
在 extra_settings
或 extra_settings_files
中配置的参数在 AWX 中被设置为只读设置。因此,在部署后无法在 UI 中更改它们。
如果您需要在初始部署后更改设置,则需要在 AWX CR 规范(对于 extra_settings
)或相应的 ConfigMap 或 Secret(对于 extra_settings_files
)上进行更改。更新 ConfigMap 或 Secret 后,您需要重启 AWX Pod 以应用更改。
注意
如果在 extra_settings
和 extra_settings_files
中都设置了相同的设置,则 extra_settings_files
中的设置将优先。
使用 extra_settings
添加额外设置¶
您可以通过将设置名称和值的组合指定为 extra_settings
参数来传递额外设置。
通过 extra_settings
传递的设置将附加到 /etc/tower/settings.py
。
名称 | 描述 | 默认值 |
---|---|---|
extra_settings | 额外设置 | [] |
extra_settings
参数的示例配置
spec:
extra_settings:
- setting: MAX_PAGE_SIZE
value: "500"
# LDAP is deprecated
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
- setting: LOG_AGGREGATOR_LEVEL
value: "'DEBUG'"
对于某些设置(例如 LOG_AGGREGATOR_LEVEL
),可能需要使用双引号。
使用 extra_settings_files
添加额外设置¶
您可以通过将 ConfigMaps 或 Secrets 中的额外设置文件指定为 extra_settings_files
参数来传递额外设置。
通过 extra_settings_files
传递的设置文件将被挂载为 /etc/tower/conf.d
下的文件。
名称 | 描述 | 默认值 |
---|---|---|
extra_settings_files | 额外设置文件 | {} |
注意
如果在 extra_settings_files
中的多个文件中设置了相同的设置,则很难预测哪一个会被采用,因为这些文件是按照 glob
返回的任意顺序加载的。为了确保设置可靠,请不要在多个文件中包含相同的键。
创建包含自定义设置文件(*.py
)的 ConfigMaps 或 Secrets。
AWX_TASK_ENV = {
"HTTPS_PROXY": "http://proxy.example.com:3128",
"HTTP_PROXY": "http://proxy.example.com:3128",
"NO_PROXY": "127.0.0.1,localhost,.example.com"
}
GALAXY_TASK_ENV = {
"ANSIBLE_FORCE_COLOR": "false",
"GIT_SSH_COMMAND": "ssh -o StrictHostKeyChecking=no",
}
REMOTE_HOST_HEADERS = [
"HTTP_X_FORWARDED_FOR",
"REMOTE_ADDR",
"REMOTE_HOST",
]
SUBSCRIPTIONS_PASSWORD = "my-super-secure-subscription-password123!"
REDHAT_PASSWORD = "my-super-secure-redhat-password123!"
# Create ConfigMap
kubectl create configmap my-custom-settings \
--from-file /PATH/TO/YOUR/custom_job_settings.py \
--from-file /PATH/TO/YOUR/custom_system_settings.py
# Create Secret
kubectl create secret generic my-custom-passwords \
--from-file /PATH/TO/YOUR/custom_passwords.py
然后在 AWX CR 规范中指定它们。以下是 extra_settings_files
参数的示例配置。
spec:
extra_settings_files:
configmaps:
- name: my-custom-settings # The name of the ConfigMap
key: custom_job_settings.py # The key in the ConfigMap, which means the file name
- name: my-custom-settings
key: custom_system_settings.py
secrets:
- name: my-custom-passwords # The name of the Secret
key: custom_passwords.py # The key in the Secret, which means the file name
限制
在 extra_settings_files
中使用的 ConfigMaps 或 Secrets 有一些限制。
- ConfigMaps 或 Secrets 中的键必须是 python 文件的名称,并且必须以
.py
结尾 - ConfigMaps 或 Secrets 中的键必须包含字母数字字符、
-
、_
或.
- ConfigMaps 或 Secrets 中的键将转换为以下字符串,其长度必须不超过 63 个字符
- ConfigMaps 中的键:
<实例名称>-<键>-configmap
- Secrets 中的键:
<实例名称>-<键>-secret
- ConfigMaps 中的键:
- 以下键是保留的,在 ConfigMaps 或 Secrets 中不能使用
credentials.py
execution_environments.py
ldap.py