OpenShift 4 - 通过 secret 访问受保护的镜像

OpenShift 4.x HOL教程汇总
说明:本文已经在OpenShift 4.8环境中验证

环境要求

  • OpenShift 集群
  • quay.io 账号
  • podman

向 quay.io 推送应用镜像

  1. 设置环境
$ QUAY_USER=dawnskyliu
$ QUAY_PASS=XXXXX
  1. 获取镜像到本地
$ podman pull docker.io/openshift/hello-openshift
  1. 修改“hardening_pipeline/Dockerfile”文件,将第一行内容
$ podman tag docker.io/openshift/hello-openshift quay.io/${QUAY_USER}/hello-openshift
  1. 登录 quay.io,将镜像推送到 quay.io。注意:这里需要执行 2 次 push 命令,第一遍会在 quay.io 中创建 Repository,第二遍会生成镜像。
$ podman login quay.io -u ${QUAY_USER} -p ${QUAY_PASS}
$ podman push quay.io/${QUAY_USER}/hello-openshift
$ podman push quay.io/${QUAY_USER}/hello-openshift
  1. 确认自己的 quay.io 账号下已经有 “hello-openshift” 镜像。
    在这里插入图片描述

向 OpenShift 部署 quay.io 的镜像

  1. 根据 “quay.io”上的“hello-openshift”镜像创建应用,确认会出现一下错误。在这里插入图片描述
  2. 执行命令创建能访问 “quay.io” 的 “**secret **”对象,并将其和名为 “default”的“ServiceAccount”关联,指定用来 “pull” 操作。
$ oc create secret docker-registry quay-pull-secret --docker-server=quay.io --docker-username=${QUAY_USER} --docker-password=${QUAY_PASS} --docker-email=[email protected] -n external-registry
$ oc secret link default quay-pull-secret --for=pull -n external-registry
  1. 再次根据 “quay.io”上的“hello-openshift”镜像创建应用,确认已经可以访问容器。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43902588/article/details/120814851