2.4.2.3.3. init イメージを Windows 上で直接プッシュする

手順

  1. デフォルトのルートを有効にします。

    PS C:\> oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
  2. ワイルドカードルート CA を取得します。

    PS C:\> 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

  3. base64 を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。

    PS C:\> echo <tls.crt> | base64 --decode > ca.crt
  4. 管理者として、以下のコマンドを実行して、クライアントプラットフォームの CA を信頼します。

    PS C:\WINDOWS\system32> certutil -addstore -f "ROOT" ca.crt
  5. 内部レジストリーにログインします。

    PS C:\> oc get route -n openshift-image-registry
    NAME       HOST/PORT    PATH   SERVICES     PORT  TERMINATION   WILDCARD
    default-route   <registry_path>          image-registry   <all>   reencrypt     None
    
    PS C:\> docker login <registry_path> -u kubeadmin -p $(oc whoami -t)
  6. odo init イメージをプッシュします。

    PS C:\> docker pull registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag>
    
    PS C:\> docker tag registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <registry_path>/openshiftdo/odo-init-image-rhel7:<tag>
    
    PS C:\> docker push <registry_path>/openshiftdo/odo-init-image-rhel7:<tag>
  7. ODO_BOOTSTRAPPER_IMAGE 環境変数を設定してデフォルトの odo init イメージパスを上書きします。

    PS C:\> $env:ODO_BOOTSTRAPPER_IMAGE="<registry_path>/openshiftdo/odo-init-image-rhel7:<tag>"