2.4.2.3. odo init イメージを内部レジストリーに直接プッシュする
クラスターでイメージを内部レジストリーに直接プッシュできるようにする場合、以下のように odo
init イメージをレジストリーにプッシュします。
2.4.2.3.1. init イメージを Linux 上で直接プッシュする
手順
デフォルトのルートを有効にします。
$ oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
ワイルドカードルート CA を取得します。
$ oc get secret router-certs-default -n openshift-ingress -o yaml
出力例
apiVersion: v1 data: tls.crt: ************************** tls.key: ################## kind: Secret metadata: [...] type: kubernetes.io/tls
base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。$ echo <tls.crt> | base64 --decode > ca.crt
クライアントプラットフォームで CA を信頼します。
$ sudo cp ca.crt /etc/pki/ca-trust/source/anchors/externalroute.crt && sudo update-ca-trust enable && sudo systemctl daemon-reload && sudo systemctl restart docker
内部レジストリーにログインします。
$ oc get route -n openshift-image-registry NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD default-route <registry_path> image-registry <all> reencrypt None $ docker login <registry_path> -u kubeadmin -p $(oc whoami -t)
odo
init イメージをプッシュします。$ docker pull registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> $ docker tag registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <registry_path>/openshiftdo/odo-init-image-rhel7:<tag> $ docker push <registry_path>/openshiftdo/odo-init-image-rhel7:<tag>
ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo
init イメージパスを上書きします。$ export ODO_BOOTSTRAPPER_IMAGE=<registry_path>/openshiftdo/odo-init-image-rhel7:1.0.1