community.okd.openshift_process 模块 – 处理 OpenShift 模板(openshift.io/v1 Template)
注意
此模块是 community.okd 集合(版本 4.0.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.okd
。您需要进一步的要求才能使用此模块,请参阅要求 了解详细信息。
要在 playbook 中使用它,请指定:community.okd.openshift_process
。
community.okd 0.3.0 中的新增功能
概要
使用提供的模板处理指定的 OpenShift 模板。
模板可以内联提供、从文件提供,或者在集群中按名称和命名空间指定。
类似于 `oc process`。
有关模板资源本身的 CRUD 操作,请参阅 community.okd.k8s 模块。
要求
在执行此模块的主机上需要以下要求。
python >= 3.6
kubernetes >= 12.0.0
PyYAML >= 3.11
参数
参数 |
注释 |
---|---|
用于向 API 进行身份验证的令牌。也可以通过 K8S_AUTH_API_KEY 环境变量指定。 |
|
用于向 API 进行身份验证的 CA 证书的路径。必须提供完整的证书链以避免证书验证错误。也可以通过 K8S_AUTH_SSL_CA_CERT 环境变量指定。 |
|
用于向 API 进行身份验证的证书的路径。也可以通过 K8S_AUTH_CERT_FILE 环境变量指定。 |
|
用于向 API 进行身份验证的密钥文件的路径。也可以通过 K8S_AUTH_KEY_FILE 环境变量指定。 |
|
配置文件中找到的上下文的名称。也可以通过 K8S_AUTH_CONTEXT 环境变量指定。 |
|
提供用于访问 API 的 URL。也可以通过 K8S_AUTH_HOST 环境变量指定。 |
|
用于操作的模拟组。 也可以通过 K8S_AUTH_IMPERSONATE_GROUPS 环境变量指定。示例:Group1,Group2 |
|
用于操作的模拟用户名。 也可以通过 K8S_AUTH_IMPERSONATE_USER 环境变量指定。 |
|
现有 Kubernetes 配置文件的路径。如果未提供,并且未提供其他连接选项,则 Kubernetes 客户端将尝试从 ~/.kube/config 加载默认配置文件。也可以通过 K8S_AUTH_KUBECONFIG 环境变量指定。 可以使用分隔符“;”(对于 Windows 平台)或“:”(对于其他平台)提供多个 Kubernetes 配置文件。 可以将 Kubernetes 配置作为字典提供。此功能需要 python kubernetes 客户端版本 >= 17.17.0。在版本 2.2.0 中添加。 |
|
要处理的模板的名称。 模板必须存在于集群中。 提供时,需要 *namespace*。 与 *resource_definition* 或 *src* 互斥 |
|
可以在其中找到模板的命名空间。 |
|
应在其中创建、更新或删除资源的命名空间。 仅当 *state* 存在或不存在时使用。 |
|
不应通过代理的以逗号分隔的主机/域名/IP/CIDR 列表。也可以通过 K8S_AUTH_NO_PROXY 环境变量指定。 请注意,此模块不会从环境(例如 NO_PROXY)中获取典型的代理设置。 此功能需要 kubernetes>=19.15.0。当 kubernetes 库小于 19.15.0 时,即使 no_proxy 设置正确也会失败。 示例值为“localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16” |
|
包含模板参数值以覆盖/设置模板中值的文件的路径。 对应于 oc process 的 `–param-file` 参数。 |
|
一组键:值对,将用于设置/覆盖模板中的值。 对应于 oc process 的 `–param` 参数。 |
|
提供用于向 API 进行身份验证的密码。也可以通过 K8S_AUTH_PASSWORD 环境变量指定。 请阅读 |
|
是否保存 kube config 刷新令牌。也可以通过 K8S_AUTH_PERSIST_CONFIG 环境变量指定。 当 k8s 上下文使用带有刷新令牌的用户凭据(如 oidc 或 gke/gcloud 身份验证)时,令牌由 k8s python 客户端库刷新,但默认情况下不会保存。因此,旧的刷新令牌可能会过期,并且下一次身份验证可能会失败。将此标志设置为 true 将告诉 k8s python 客户端将新的刷新令牌保存到 kube 配置文件中。 默认为 false。 请注意,当前版本的 k8s python 客户端库尚不支持将此标志设置为 True。 此 k8s Python 库的修复方案在这里:https://github.com/kubernetes-client/python-base/pull/169 选项
|
|
用于连接的 HTTP 代理的 URL。也可以通过 K8S_AUTH_PROXY 环境变量指定。 请注意,此模块不会从环境中获取典型的代理设置(例如 HTTP_PROXY)。 |
|
用于基本身份验证标头的冒号分隔的用户名:密码。 也可以通过 K8S_AUTH_PROXY_HEADERS_BASIC_AUTH 环境变量指定。 |
|
用于代理基本身份验证标头的冒号分隔的用户名:密码。 也可以通过 K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH 环境变量指定。 |
|
表示您想要的 user-agent 的字符串,例如 foo/1.0。 也可以通过 K8S_AUTH_PROXY_HEADERS_USER_AGENT 环境变量指定。 |
|
在创建或更新对象时,提供有效的 YAML 定义(可以是字符串、列表或字典)。 注意:kind、api_version、name 和 namespace 将被提供的 resource_definition 中找到的相应值覆盖。 |
|
提供一个文件路径,其中包含要创建或更新的一个或多个对象的有效 YAML 定义。与 resource_definition 互斥。注意:kind、api_version、name 和 namespace 将被从 src 文件中读取的配置中找到的相应值覆盖。 从本地文件系统读取。要从 Ansible 控制器的文件系统(包括 vault 文件)读取,请使用文件查找插件或模板查找插件,并结合 from_yaml 过滤器,然后将结果传递给 resource_definition。请参见下面的示例。 可用于创建资源的清单文件的 URL。在 2.4.0 版本中添加。 在 kubernetes.core.k8s 模块的情况下,与 template 互斥。 |
|
确定如何处理呈现的模板。 状态 rendered 将基于提供的参数呈现模板,并在 resources 字段中返回呈现的对象。这些可以在未来的任务中引用。 状态 present 将在呈现的模板中创建资源(如果它们尚不存在),并在存在时进行修补。 状态 absent 将删除呈现的模板中的资源。 选项
|
|
提供用于与 API 进行身份验证的用户名。也可以通过 K8S_AUTH_USERNAME 环境变量指定。 请注意,这仅适用于配置为使用 HTTP 基本身份验证的集群。如果您的集群具有不同的身份验证形式(例如 OpenShift 中的 OAuth2),则此选项将无法按预期工作,您应该研究 community.okd.k8s_auth 模块,因为它可能满足您的需求。 |
|
是否验证 API 服务器的 SSL 证书。也可以通过 K8S_AUTH_VERIFY_SSL 环境变量指定。 选项
|
|
是否等待某些资源类型达到所需状态。 默认情况下,一旦 Kubernetes 收到请求,模块就会退出。 为 对于没有实现的资源类型, 选项
|
|
指定要等待的状态的自定义条件。 如果未设置 |
|
所需条件中 reason 字段的值 例如,如果暂停了 条件中可能的原因特定于 Kubernetes 中的每种资源类型。 请参阅给定资源的 status 字段的 API 文档,以查看可能的选项。 |
|
所需条件中 status 字段的值。 例如,如果暂停了 选项
|
|
要等待的条件类型。 例如, 如果您指定了 如果留空,将忽略 条件的可能类型特定于 Kubernetes 中的每种资源类型。 请参阅给定资源的 status 字段的 API 文档,以查看可能的选项。 |
|
两次检查之间休眠的秒数。 默认值: |
|
等待资源达到所需状态的秒数。 如果未设置 默认值: |
说明
注意
为避免当
validate_certs
为 *True* 时出现 SSL 证书验证错误,必须通过ca_cert
或在 kubeconfig 文件中提供 API 服务器的完整证书链。
示例
- name: Process a template in the cluster
community.okd.openshift_process:
name: nginx-example
namespace: openshift # only needed if using a template already on the server
parameters:
NAMESPACE: openshift
NAME: test123
state: rendered
register: result
- name: Create the rendered resources using apply
community.okd.k8s:
namespace: default
definition: '{{ item }}'
wait: true
apply: true
loop: '{{ result.resources }}'
- name: Process a template with parameters from an env file and create the resources
community.okd.openshift_process:
name: nginx-example
namespace: openshift
namespace_target: default
parameter_file: 'files/nginx.env'
state: present
wait: true
- name: Process a local template and create the resources
community.okd.openshift_process:
src: files/example-template.yaml
parameter_file: files/example.env
namespace_target: default
state: present
- name: Process a local template, delete the resources, and wait for them to terminate
community.okd.openshift_process:
src: files/example-template.yaml
parameter_file: files/example.env
namespace_target: default
state: absent
wait: true
返回值
通用返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
在模板中定义的呈现的资源 返回:当状态为 rendered 时成功返回 |
|
此对象表示的版本化架构。 返回:成功 |
|
表示此对象所代表的 REST 资源。 返回:成功 |
|
标准对象元数据。包括名称、命名空间、注释、标签等。 返回:成功 |
|
资源的名称 返回:成功 |
|
资源的命名空间 返回:成功 |
|
对象的特定属性。将根据 api_version 和 kind 而变化。 返回:成功 |
|
对象的当前状态详细信息。 返回:成功 |
|
对象的 状态条件 数组。不保证存在 返回:成功 |
|
已创建、修补或以其他方式存在的对象。在删除的情况下将为空。 返回:当状态为 present 或 absent 时成功返回 |
|
此对象表示的版本化架构。 返回:成功 |
|
任务的已用时间(以秒为单位) 返回:当 示例: |
|
仅当多个 yaml 文档传递给 src 或 resource_definition 时返回 返回:当 resource_definition 或 src 包含对象列表时 |
|
表示此对象所代表的 REST 资源。 返回:成功 |
|
标准对象元数据。包括名称、命名空间、注释、标签等。 返回:成功 |
|
资源的名称 返回:成功 |
|
资源的命名空间 返回:成功 |
|
对象的特定属性。将根据 api_version 和 kind 而变化。 返回:成功 |
|
对象的当前状态详细信息。 返回:成功 |
|
对象的 状态条件 数组。不保证存在 返回:成功 |