对启动 ansible-runner 组件的方式进行了一个更改(控制器启动了 execution environment 中的可执行文件以运行 playbook),这导致了向后不兼容的问题。强烈建议,您始终在与您使用的平台版本对应的基本 execution environments 上重新构建。这是常规升级的理想方法。
虽然在删除默认机构时能够运行后续的安装,但它不会自动删除或修复重复的 Ansible-Galaxy 凭证。如需更多详情,请参阅 How to remove duplicated Ansible-Galaxy credentials from the database 的 KCS 文章。
在 OpenShift 中部署 automation controller 时,当前不支持隔离的节点。
autocomplete=off
设置¶automation controller 利用表单(form)上的 autocomplete=off
属性转发到浏览器,以使浏览器不自动完成该表单中的字段。在有些情况下,浏览器可能会忽略此设置,并尝试保存和/或自动完成表单中的字段。这会在包含用户名和密码的登录字段的表单上(如 User 表单和某些 Settings 表单)发生。我们正在进行进一步调查这个问题,以防止发生这个问题。
要通过 HTTP 访问负载均衡器(在传统集群控制器安装中)后面的控制器节点,请参阅 Automation Controller Administration Guide 的 Troubleshooting section 中所述的步骤。
当将限制传递给分片作业 (Sliced Job) 时,如果限制导致分片没有分配主机,这些分片将会失败,从而导致整个作业失败。
作业分片旨在对作业的执行镜像水平扩展。在作业模板中启用作业分片,在启动时会将清单划分为配置的分片数量,然后为每个分片启动作业。
预计的分片数量应等于或小于控制器节点的数量。虽然可以设置非常高的作业分片数量(例如,数千个),但可能会导致性能降低。因为工作负载调度程序并不是针对同时调度数千个工作流程节点而设计的,但对作业进行大量分片会造成这个情况。
配置多个 LDAP 目录以进行身份验证(最多 6 个)的功能需要一个值。在 LDAP 的设置页面中,有一个“Default”LDAP 配置,后接五个数字的配置槽。如果没有填充“Default”,控制器将无法尝试使用其他目录配置进行身份验证。
REMOTE_HOST_HEADERS
中的 X_FORWARDED_FOR
的潜在安全问题¶如果将控制器节点放在某种代理的后面,可能会造成安全问题。这种情况假设数据流量始终完全通过负载均衡器,而那些绕过负载均衡器的流量会存在 X-Forwarded-For
标头欺诈的问题。
当仅通过主机名(例如 https://my-little-controller)访问控制器时,尝试从 /sso/metadata/saml/ 读取 SAML 元数据会生成 sp_acs_url_invalid
服务器错误。
不支持在只通过主机名而不通过 FQDN 访问控制器时使用 SAML 的配置,这样做会生成一个错误,在 tower.log 文件中捕获,并在浏览器中显示完整的追溯信息。
在以前的 automation controller 版本中,SAML 适配器不会评估用户登录的系统审核员或系统管理角色。 因此,登录过程不会更改通过用户界面授予的用户系统角色。 适配器现在有一个名为 SAML User Flags Attribute Mapping 的设置,以便根据 SAML 属性或角色在角色中授予登录,如果未指定了 LDAP 适配器,适配器默认使用删除这些角色。 请参阅 logic table,它演示了如何配置角色、属性和属性值设置之间的关系,以及用户是否被授予 System Admin/Auditor 角色。
出错时,实时事件状态点在自动化控制器仪表板的顶部显示为红色或橙色的点。当系统处于健康状态时,应该不会显示这些点。如果出现了红色或橙色的实时事件状态指示点,即使您的系统看起来正常,我们也建议您考虑以下操作:
尝试手动刷新/重新载入浏览器页面。
尝试使用不同的 web 浏览器。因为已有报告显示 Firefox 和 Safari 有信任自签名证书的问题。
尝试创建一个与您的 DNS 匹配的自签名证书,并手动将其导入您的信任项中。
尝试使用 incognito 或专用浏览会话。
尝试禁用浏览器插件来确保任何插件都不会阻断该服务。
实时事件状态点用于对控制器实例的问题进行故障排除。 您可以通过运行 sosreport
来收集故障排除帮助。 作为 root 用户,从系统运行 sosreport
命令自动生成诊断 tar 文件,然后联络 Ansible 的支持团队并提供收集的信息以获得进一步的帮助。如需 sosreport
的更多信息,请参阅 Automation Controller Administration Guide 中的 sosreport。
如果您有使用自签名证书的 VMware 实例,则需要在云组的 Source Vars 配置中添加以下内容:
"source_vars": "---\nvalidate_certs: False",
您可以按照以下方法在 VMware vCenter 的清单源中设置此项:
通常,在 root 用户或 awx 用户执行时支持使用 awx-manage
命令。但是,在 automation controller 4.0 中,即使以 root 用户身份运行,awx-manage inventory_import
命令也无法与托管红帽执行环境的私有 registry 进行身份验证。解决方法是以 awx
用户身份运行命令,前提是安装程序已预先拉取了已被正确验证的镜像。
所有作业执行都发生在 OCP 4 上部署的 automation controller 4.0 的容器组中。创建新的"常规"实例组在用户界面中是禁用的,但在升级时,常规实例组不会发生任何情况。这是一个已知问题,因为任何试图使用包含 control plane pod 作为实例的普通实例组的资源,都将只有 0 容量,作业将无限期保持在待处理状态。这个问题的临时解决方法是,删除所有这些"常规"实例组。默认情况下,有一个容器组,作业执行将发生在与部署 Controller pod 相同的命名空间中。 通过在同一或任何其他 OpenShift 4 集群上配置其他容器组,可以提供额外的容量。
如果没有完全关闭控制器,它会将 /var/lib/awx/beat.db
文件留在磁盘上。如果发生了这种情况,分配程序 (dispatcher) 就不会启动,且您必须手动删除该 /var/lib/awx/beat.db
文件,并重启控制器,然后分配程序才会正确启动。
控制器中显示以下连接错误:
此错误原因是 Safari 静默拒绝建立到使用自签名证书的 web 嵌套字的连接,要解决这个问题,您必须在第一次访问时将 Safari 设置为始终信任网站:
关闭当前浏览器并重新访问网站。会出现一个错误消息,提示 Safari 无法验证网站的身份。
点击 Show Certificate。
选中 Always trust ... when connecting to ... 复选框,以允许 Safari 接受连接。
如果您在没有勾选复选框的情况下点击 Continue,则这个错误继续存在。
所有 playbook 都由 Linux 容器(称为自动化执行环境)中的 automation controller 执行。
使用 delegate_to: localhost
或 local_action
管理执行的主机在此环境中无法正常工作,因为它仍将在容器内执行。
要管理正在运行执行的本地主机,您需要使用 ssh 连接插件从容器连接到本地主机。
automation controller 中的作业隔离功能将 playbook 可用的目录限制为正在使用的项目。如果您试图通过使用 awx 用户主目录中的自定义 SSH 配置来自定义 SSH 行为,则必须将该目录添加到公开给容器的目录列表中。
例如,要将自定义 SSH 配置添加到 /var/lib/awx/.ssh/config
中并使其可用于控制器作业,您可以指定 Job Execution Isolation Path 字段的路径,该路径可从 Settings 屏幕的 Jobs 标签页访问:
即使节点没有数据库,集群中的所有节点也会获得数据库服务器。这是意外的,可能会占用空间。
在删除了使用社交身份验证登录的用户后,这些用户将无法再次登录或重新创建,直到系统管理员使用 days=0
运行 cleanup_deleted
操作,以允许用户再次登录为止。运行 cleanup_deleted
后,控制器必须使用 automation-controller-service restart
命令重启。在运行 cleanup_deleted
操作前删除的帐户将在尝试登录时收到“Your account is inactive”消息。
在使用源控制项目的清单时,支持单独的库变量值。当前不支持库文件。
如果作业模板的配置进行调度或添加到带有提示调查答案的工作流中,更改作业模板调查以提供不同的变量名称可能会导致保存的配置无法正常工作。临时解决方案是删除已保存的调度配置/工作流节点,并使用更新的调查重新创建它。