community.okd.openshift_adm_prune_images 模块 – 删除未引用的镜像
注意
此模块是 community.okd 集合(版本 4.0.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.okd
。您需要更多要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.okd.openshift_adm_prune_images
。
community.okd 2.2.0 中的新功能
概要
此模块允许管理员删除引用的镜像。
请注意,如果指定了
namespace
,则只有相应命名空间中镜像流上的引用镜像才会被考虑修剪,前提是它们未在另一个命名空间的另一个镜像流中使用或引用。类似于
oc adm prune images
。
要求
在执行此模块的主机上需要以下要求。
python >= 3.6
kubernetes >= 12.0.0
docker-image-py
参数
参数 |
注释 |
---|---|
包括从外部注册表导入的镜像作为修剪的候选对象。 如果修剪,则与它们关联的所有镜像对象也将从集成注册表中删除。 选择
|
|
用于通过 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 环境变量指定。 |
|
如果设置为True,则修剪过程将忽略解析镜像引用时产生的所有错误。 这意味着修剪过程将忽略对象和引用的镜像之间的预期连接。 因此,可能会错误地删除未使用的镜像。 选择
|
|
要为此操作模拟的组。 也可以通过 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 版本中添加。 |
|
用于指定对象的命名空间。 |
|
不应通过代理的以逗号分隔的主机/域名/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” |
|
提供用于 API 身份验证的密码。也可以通过 K8S_AUTH_PASSWORD 环境变量指定。 请阅读 |
|
是否保存 kube config 刷新令牌。也可以通过 K8S_AUTH_PERSIST_CONFIG 环境变量指定。 当 k8s 上下文使用带有刷新令牌的用户凭据(如 oidc 或 gke/gcloud 身份验证)时,令牌由 k8s Python 客户端库刷新,但默认情况下不会保存。因此,旧的刷新令牌可能会过期,下次身份验证可能会失败。将此标志设置为 true 将告诉 k8s Python 客户端将新的刷新令牌保存到 kube config 文件中。 默认为 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 环境变量指定。 |
|
指定是否应考虑修剪超出同一命名空间中指定的 LimitRanges 的镜像。 选择
|
|
如果设置为 False,则修剪操作将清理镜像 API 对象,但不会删除注册表中关联的任何内容。 选择
|
|
用于联系注册表的 CA 证书的路径。必须提供完整的证书链,以避免证书验证错误。 |
|
联系注册表时要使用的地址,而不是使用默认值。 如果您无法解析或访问默认注册表,但您确实有一个可用的替代路由,这将非常有用。 可以使用“<scheme>://”前缀强制执行特定的传输协议。 |
|
是否验证 API 服务器的 SSL 证书。也可以通过 K8S_AUTH_VERIFY_SSL 环境变量指定。 选择
|
|
提供用于 API 身份验证的用户名。也可以通过 K8S_AUTH_USERNAME 环境变量指定。 请注意,这仅适用于配置为使用 HTTP 基本身份验证的集群。如果您的集群具有不同的身份验证形式(例如,OpenShift 中的 OAuth2),则此选项将无法按预期工作,您应该研究 community.okd.k8s_auth 模块,因为该模块可能会满足您的需求。 |
|
是否验证 API 服务器的 SSL 证书。也可以通过 K8S_AUTH_VERIFY_SSL 环境变量指定。 选择
|
说明
注意
为了避免当
validate_certs
为 True 时出现 SSL 证书验证错误,必须通过ca_cert
或在 kubeconfig 文件中提供 API 服务器的完整证书链。
示例
# Prune if only images and their referrers were more than an hour old
- name: Prune image with referrer been more than an hour old
community.okd.openshift_adm_prune_images:
keep_younger_than: 60
# Remove images exceeding currently set limit ranges
- name: Remove images exceeding currently set limit ranges
community.okd.openshift_adm_prune_images:
prune_over_size_limit: true
# Force the insecure http protocol with the particular registry host name
- name: Prune images using custom registry
community.okd.openshift_adm_prune_images:
registry_url: http://registry.example.org
registry_validate_certs: false
返回值
通用返回值记录在这里,以下是此模块独有的字段
键 |
描述 |
---|---|
已删除的镜像。 返回:成功 示例: |
|
更新的镜像流。 返回:成功 示例: |