跳到内容

从私有仓库使用镜像

从私有仓库使用镜像的可用变量

有一些变量可以用于 awx 的镜像管理。

名称 描述 默认值
image 要拉取的镜像的路径 quay.io/ansible/awx
image_version 要拉取的镜像版本 DEFAULT_AWX_VERSION 的值或最新版本
image_pull_policy 要采用的拉取策略 IfNotPresent
image_pull_secrets 要使用的拉取密钥
ee_images 要注册的 EE 列表 quay.io/ansible/awx-ee:DEFAULT_AWX_VERSION
ee_pull_credentials_secret ee_images 的拉取密钥
redis_image 要拉取的镜像的路径 docker.io/redis
redis_image_version 要拉取的镜像版本 最新版本
control_plane_ee_image 要拉取的镜像版本 quay.io/ansible/awx-ee:DEFAULT_AWX_VERSION
init_container_image 要拉取的镜像的路径 quay.io/ansible/awx-ee
init_container_image_version 要拉取的镜像版本 DEFAULT_AWX_VERSION 的值或最新版本
init_projects_container_image 要拉取的镜像版本 quay.io/centos/centos:stream9

自定义示例可能是

---
spec:
  ...
  image: myorg/my-custom-awx
  image_version: latest
  image_pull_policy: Always
  image_pull_secrets:
    - pull_secret_name
  ee_images:
    - name: my-custom-awx-ee
      image: myorg/my-custom-awx-ee
  control_plane_ee_image: myorg/my-custom-awx-ee:latest
  init_container_image: myorg/my-custom-awx-ee
  init_container_image_version: latest
  init_projects_container_image: myorg/my-mirrored-centos:stream9

警告

imageimage_version 用于本地镜像场景。请注意,不支持使用与 awx-operator 捆绑的版本不同的 AWX 版本。对于默认值,请查看 main.yml 文件。

来自私有仓库的默认执行环境

为了从私有仓库注册默认执行环境,自定义资源需要知道拉取凭据。这些凭据应存储为密钥,并在 CR 规范级别指定为 ee_pull_credentials_secret,或者简单地存在于命名空间中,名称为 <resourcename>-ee-pull-credentials 。实例初始化将在部署的实例上注册一个 Container registry 类型的凭据,并将其分配给注册的默认执行环境。

密钥应按以下格式设置

---
apiVersion: v1
kind: Secret
metadata:
  name: <resourcename>-ee-pull-credentials
  namespace: <target namespace>
stringData:
  url: <registry url. i.e. quay.io>
  username: <username to connect as>
  password: <password to connect with>
  ssl_verify: <Optional attribute. Whether verify ssl connection or not. Accepted values "True" (default), "False" >
type: Opaque

来自私有仓库的控制平面 ee

ee_images 中列出的镜像将被添加为全局可用的执行环境。control_plane_ee_image 将用于运行项目更新。为了对这些镜像中的任何一个使用私有镜像,您需要使用 image_pull_secrets 提供 k8s 拉取密钥列表以访问它。目前,安装时提供的这些镜像中的任何一个都使用相同的密钥。

您可以创建 image_pull_secret

kubectl create secret <resoucename>-cp-pull-credentials regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

如果您需要更多控制(例如,在新的密钥上设置命名空间或标签),那么您可以在存储密钥之前对其进行自定义

示例规范文件 extra-config

---
apiVersion: v1
kind: Secret
metadata:
  name: <resoucename>-cp-pull-credentials
  namespace: <target namespace>
data:
  .dockerconfigjson: <base64 docker config>
type: kubernetes.io/dockerconfigjson