6.4.2. 准备 OpenShift 进行 Red Hat Quay 构建
在 OpenShift 集群中需要几个操作,然后才能接受来自 Red Hat Quay 的构建。
创建一个将运行构建的项目(如 'builder')
oc new-project builder
$ oc new-project builder
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在此项目中创建一个
ServiceAccount
作业和
Pod
。复制ServiceAccount
的令牌,以便稍后使用。oc create sa -n builder quay-builder oc policy add-role-to-user -n builder edit system:serviceaccount:builder:quay-builder oc sa get-token -n builder quay-builder
$ oc create sa -n builder quay-builder $ oc policy add-role-to-user -n builder edit system:serviceaccount:builder:quay-builder $ oc sa get-token -n builder quay-builder
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 识别 OpenShift 集群 API 服务器的 URL。这可以从 OpenShift 控制台找到。
-
识别调度构建作业时使用的 worker
节点标签
。因为构建 pod 需要在裸机 worker 节点上运行,因此通常这些 pod 使用特定的标签标识。检查您的集群管理员,以确定应使用哪个节点标签。 如果集群使用自签名证书,获取 kube apiserver 的 CA 以添加到 Red Hat Quay 的额外证书。
获取包含 CA 的 secret 的名称:
oc get sa openshift-apiserver-sa --namespace=openshift-apiserver -o json | jq '.secrets[] | select(.name | contains("openshift-apiserver-sa-token"))'.name
$ oc get sa openshift-apiserver-sa --namespace=openshift-apiserver -o json | jq '.secrets[] | select(.name | contains("openshift-apiserver-sa-token"))'.name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
从 Openshift 控制台中的 secret 获取
ca.crt
的键值。该值应该以"-----BEGIN CERTIFICATE-----"开始。 -
使用 ConfigTool,在 Red Hat Quay 中导入 CA。确保此文件的名称与
K8S_API_TLS_CA
匹配。
-
为
ServiceAccount
创建所需的安全上下文/角色绑定: