自定义卷和卷挂载选项¶
在需要自定义卷和卷挂载来覆盖默认值或挂载配置文件的情况下。
名称 | 描述 | 默认值 |
---|---|---|
extra_volumes | 指定要添加到应用程序 Pod 的额外卷 | '' |
web_extra_volume_mounts | 指定要添加到 Web 容器的卷挂载 | '' |
task_extra_volume_mounts | 指定要添加到 Task 容器的卷挂载 | '' |
rsyslog_extra_volume_mounts | 指定要添加到 Rsyslog 容器的卷挂载 | '' |
ee_extra_volume_mounts | 指定要添加到 Execution 容器的卷挂载 | '' |
init_container_extra_volume_mounts | 指定要添加到 Init 容器的卷挂载 | '' |
init_container_extra_commands | 为 Init 容器指定其他命令 | '' |
警告
ee_extra_volume_mounts
和 extra_volumes
将仅对全局可用的执行环境生效。对于自定义 ee
,请自定义 Pod 规范。
ConfigMap 的示例配置
---
apiVersion: v1
kind: ConfigMap
metadata:
name: <resourcename>-extra-config
namespace: <target namespace>
data:
ansible.cfg: |
[defaults]
remote_tmp = /tmp
[ssh_connection]
ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
卷和卷挂载的示例规范文件
---
spec:
...
extra_volumes: |
- name: ansible-cfg
configMap:
defaultMode: 420
items:
- key: ansible.cfg
path: ansible.cfg
name: <resourcename>-extra-config
- name: shared-volume
persistentVolumeClaim:
claimName: my-external-volume-claim
init_container_extra_volume_mounts: |
- name: shared-volume
mountPath: /shared
init_container_extra_commands: |
# set proper permissions (rwx) for the awx user
chmod 775 /shared
chgrp 1000 /shared
ee_extra_volume_mounts: |
- name: ansible-cfg
mountPath: /etc/ansible/ansible.cfg
subPath: ansible.cfg
警告
卷和卷挂载名称不能包含下划线(_)
自定义 UWSGI 配置¶
我们允许自定义两个 UWSGI 参数
注意:将监听队列增加到 128 以上需要将 sysctl 设置 net.core.somaxconn 设置为相同或更高的值。运算符将为您设置适当的安全上下文 sysctl 值,但必须在 kubelet 级别将此 sysctl 添加到允许列表。 查看有关允许此 sysctl 设置的 kubernetes 文档.
这些变量与 Web 服务的纵向和横向可扩展性相关。
增加进程数量允许每个 Web Pod 处理更多请求,但会消耗更多 CPU 和内存,应相应增加资源请求。增加监听队列允许 uwsgi 排队尚未由活动工作进程处理的请求,这可能允许 Web Pod 处理更多“突发”请求模式,如果许多请求(超过 128 个)倾向于在短时间内到来,但可以在任何其他超时之前被处理。另请参阅相关的 nginx 配置。
自定义 Nginx 配置¶
使用extra_volumes 功能,可以扩展 nginx.conf。
- 使用您希望包含在 nginx.conf 中的额外设置创建 ConfigMap
- 在您的 AWX 规范中创建此 ConfigMap 的 extra_volumes 条目
- 在您的 AWX 规范中创建 web_extra_volume_mounts 条目以挂载此卷
AWX nginx 配置会自动包含 /etc/nginx/conf.d/*.conf(如果存在)。
此外,基本 nginx 配置中还有一些全局配置值,可以使用单独的变量进行设置。这些变量与 Web 服务的纵向和横向可扩展性相关。增加进程数量允许每个 Web Pod 处理更多请求,但会消耗更多 CPU 和内存,应相应增加资源请求。增加监听队列允许 nginx 排队尚未由活动工作进程处理的请求,这可能允许 Web Pod 处理更多“突发”请求模式,如果许多请求(超过 128 个)倾向于在短时间内到来,但可以在任何其他超时之前被处理。另请参阅相关的 uwsgi 配置。
- worker_processes 使用
nginx_worker_processes
(默认值为 1) - worker_cpu_affinity 使用
nginx_worker_cpu_affinity
(默认“auto”) - worker_connections 使用
nginx_worker_connections
(最小值为 1024) - listen 使用
nginx_listen_queue_size
(默认值与 uwsgi 监听队列大小相同)
自定义徽标¶
您可以使用自定义卷挂载来挂载您自己的徽标,以显示在 AWX 徽标代替。有两个不同的徽标,一个用于在页面标题中显示,一个用于登录屏幕。
首先,从本地 logo-login.svg
和 logo-header.svg
文件创建徽标的 configmap。
kubectl create configmap logo-login-configmap --from-file logo-login.svg
kubectl create configmap logo-header-configmap --from-file logo-header.svg
然后在您的 AWX CR 规范上指定 extra_volume 和 web_extra_volume_mounts
---
spec:
...
extra_volumes: |
- name: logo-login
configMap:
defaultMode: 420
items:
- key: logo-login.svg
path: logo-login.svg
name: logo-login-configmap
- name: logo-header
configMap:
defaultMode: 420
items:
- key: logo-header.svg
path: logo-header.svg
name: logo-header-configmap
web_extra_volume_mounts: |
- name: logo-login
mountPath: /var/lib/awx/public/static/media/logo-login.svg
subPath: logo-login.svg
- name: logo-header
mountPath: /var/lib/awx/public/static/media/logo-header.svg
subPath: logo-header.svg
自定义 Favicon¶
您也可以使用自定义卷挂载来挂载您自己的 favicon,以便在 AWX 浏览器选项卡中显示。
首先,从本地 favicon.ico
文件创建 configmap。
然后在您的 AWX CR 规范上指定 extra_volume 和 web_extra_volume_mounts
---
spec:
...
extra_volumes: |
- name: favicon
configMap:
defaultMode: 420
items:
- key: favicon.ico
path: favicon.ico
name: favicon-configmap
web_extra_volume_mounts: |
- name: favicon
mountPath: /var/lib/awx/public/static/media/favicon.ico
subPath: favicon.ico
自定义 AWX 配置¶
有关自定义 AWX 配置的详细信息,请参阅额外设置 文档。