5.4. OpenShift を使用した Red Hat Quay Builder の設定
5.4.1. Red Hat Quay ビルド向けの OpenShift の準備 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Quay からのビルドを許可する前に、OpenShift クラスターで必要となるいくつかのアクションがあります。
ビルドが実行されるプロジェクトを作成します (例:「builder」)。
oc new-project builder
$ oc new-project builderCopy to Clipboard Copied! Toggle word wrap Toggle overflow ビルドの実行に使用されるこの
ProjectでServiceAccountを作成します。これにJobsおよびPodsを作成するのに十分な権限があることを確認します。後で使用できるように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-builderCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenShift クラスターの API サーバーの URL を特定します。これは OpenShift コンソールで確認できます。
-
ビルド
Jobsのスケジュール時に使用されるワーカーノードラベルを特定します。ビルド Pod はベアメタルワーカーノードで実行される必要があるため、通常はそれらが特定のラベルで識別されます。クラスター管理者と、どのノードラベルを使用する必要があるかを確認します。 クラスターが自己署名証明書を使用している場合、Red Hat Quay の追加証明書に追加する kube apiserver の CA を取得します。
CA を含むシークレットの名前を取得します。
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"))'.nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Openshift コンソールのシークレットから
ca.crtキー値を取得します。値は「-----BEGIN CERTIFICATE-----」で開始されるはずです。 -
ConfigTool を使用した Red Hat Quay での CA のインポートこのファイルの名前が
K8S_API_TLS_CAと一致することを確認します。
-
ServiceAccountに必要なセキュリティーコンテキスト/ロールバインディングを作成します。