This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.4. 制限された環境での odo の使用
2.4.1. 制限された環境での odo について リンクのコピーリンクがクリップボードにコピーされました!
odo
を非接続の OpenShift Container Platform クラスター、または制限された環境でプロビジョニングされたクラスターで実行するには、クラスター管理者がミラーリングされたレジストリーでクラスターを作成していることを確認する必要があります。
非接続クラスターで作業を開始するには、まず odo init
イメージをクラスターのレジストリーにプッシュし、ODO_BOOTSTRAPPER_IMAGE
環境変数を使用して odo init
イメージパスを上書きする必要があります。
odo init image
のプッシュ後に、レジストリーからサポートされているビルダーイメージをミラーリングし、ミラーレジストリーを上書きした後にアプリケーションを作成する必要があります。ビルダーイメージは、アプリケーションのランタイム環境を設定するために必要であり、これにはアプリケーションのビルドに必要なビルドツールが含まれます (例: Node.js の場合は npm、Java の場合は Maven)。ミラーレジストリーには、アプリケーションに必要なすべての依存関係が含まれます。
2.4.2. odo init イメージの制限されたクラスターレジストリーへのプッシュ リンクのコピーリンクがクリップボードにコピーされました!
クラスターおよびオペレーティングシステムの設定に応じて、odo init
イメージをミラーレジストリーにプッシュするか、または内部レジストリーに直接プッシュできます。
前提条件
-
クライアントオペレーティングシステムに
oc
をインストールします。 -
odo
をクライアントオペレーティングシステムにインストールします。 - 内部レジストリーまたはミラーレジストリーが設定された OpenShift Container Platform の制限付きクラスターへのアクセス。
2.4.2.1. odo init イメージのミラーレジストリーへのプッシュ リンクのコピーリンクがクリップボードにコピーされました!
オペレーティングシステムによっては、以下のように odo init
イメージをミラーレジストリーを持つクラスターにプッシュできます。
2.4.2.1.1. init イメージを Linux のミラーレジストリーにプッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
$ echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow エンコーディングされたルート CA 証明書を適切な場所にコピーします。
sudo cp ./disconnect-ca.crt /etc/pki/ca-trust/source/anchors/<mirror-registry>.crt
$ sudo cp ./disconnect-ca.crt /etc/pki/ca-trust/source/anchors/<mirror-registry>.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントプラットフォームで CA を信頼し、OpenShift Container Platform ミラーレジストリーにログインします。
sudo update-ca-trust enable && sudo systemctl daemon-reload && sudo systemctl restart / docker && docker login <mirror-registry>:5000 -u <username> -p <password>
$ sudo update-ca-trust enable && sudo systemctl daemon-reload && sudo systemctl restart / docker && docker login <mirror-registry>:5000 -u <username> -p <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow odo init
イメージをミラーリングします。oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
$ oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。export ODO_BOOTSTRAPPER_IMAGE=<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
$ export ODO_BOOTSTRAPPER_IMAGE=<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.1.2. init イメージを MacOS のミラーレジストリーにプッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
$ echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow エンコーディングされたルート CA 証明書を適切な場所にコピーします。
- Docker UI を使用して Docker を再起動します。
以下のコマンドを実行します。
docker login <mirror-registry>:5000 -u <username> -p <password>
$ docker login <mirror-registry>:5000 -u <username> -p <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
odo init
イメージをミラーリングします。oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
$ oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。export ODO_BOOTSTRAPPER_IMAGE=<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
$ export ODO_BOOTSTRAPPER_IMAGE=<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.1.3. Windows のミラーレジストリーに init イメージをプッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。PS C:\> echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
PS C:\> echo <content_of_additional_ca> | base64 -d > disconnect-ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者として、以下のコマンドを実行して、エンコーディングされたルート CA 証明書を適切な場所にコピーします。
PS C:\WINDOWS\system32> certutil -addstore -f "ROOT" disconnect-ca.crt
PS C:\WINDOWS\system32> certutil -addstore -f "ROOT" disconnect-ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントプラットフォームで CA を信頼し、OpenShift Container Platform ミラーレジストリーにログインします。
- Docker UI を使用して Docker を再起動します。
以下のコマンドを実行します。
PS C:\WINDOWS\system32> docker login <mirror-registry>:5000 -u <username> -p <password>
PS C:\WINDOWS\system32> docker login <mirror-registry>:5000 -u <username> -p <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
odo init
イメージをミラーリングします。PS C:\> oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
PS C:\> oc image mirror registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:<tag> <mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。PS C:\> $env:ODO_BOOTSTRAPPER_IMAGE="<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>"
PS C:\> $env:ODO_BOOTSTRAPPER_IMAGE="<mirror-registry>:5000/openshiftdo/odo-init-image-rhel7:<tag>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.2. odo init イメージを内部レジストリーに直接プッシュする リンクのコピーリンクがクリップボードにコピーされました!
クラスターでイメージを内部レジストリーに直接プッシュできる場合、以下のように odo init
イメージをレジストリーにプッシュします。
2.4.2.2.1. init イメージを Linux 上で直接プッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
デフォルトのルートを有効にします。
oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
$ oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワイルドカードルート CA を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。echo <tls.crt> | base64 -d > ca.crt
$ echo <tls.crt> | base64 -d > ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントプラットフォームで 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
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 内部レジストリーにログインします。
oc get route -n openshift-image-registry docker login <registry_path> -u kubeadmin -p $(oc whoami -t)
$ 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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>
$ 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>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。export ODO_BOOTSTRAPPER_IMAGE=<registry_path>/openshiftdo/odo-init-image-rhel7:1.0.1
$ export ODO_BOOTSTRAPPER_IMAGE=<registry_path>/openshiftdo/odo-init-image-rhel7:1.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.2.2. init イメージを MacOS 上で直接プッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
デフォルトのルートを有効にします。
oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
$ oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワイルドカードルート CA を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。echo <tls.crt> | base64 -d > ca.crt
$ echo <tls.crt> | base64 -d > ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントプラットフォームで CA を信頼します。
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca.crt
$ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 内部レジストリーにログインします。
oc get route -n openshift-image-registry docker login <registry_path> -u kubeadmin -p $(oc whoami -t)
$ 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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>
$ 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>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。export ODO_BOOTSTRAPPER_IMAGE=<registry_path>/openshiftdo/odo-init-image-rhel7:1.0.1
$ export ODO_BOOTSTRAPPER_IMAGE=<registry_path>/openshiftdo/odo-init-image-rhel7:1.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.2.3. init イメージを Windows 上で直接プッシュする リンクのコピーリンクがクリップボードにコピーされました!
手順
デフォルトのルートを有効にします。
PS C:\> oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
PS C:\> oc patch configs.imageregistry.operator.openshift.io cluster -p '{"spec":{"defaultRoute":true}}' --type='merge' -n openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ワイルドカードルート CA を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64
を使用してミラーレジストリーのルート認証局 (CA) コンテンツをエンコードします。PS C:\> echo <tls.crt> | base64 -d > ca.crt
PS C:\> echo <tls.crt> | base64 -d > ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理者として、以下のコマンドを実行して、クライアントプラットフォームの CA を信頼します。
PS C:\WINDOWS\system32> certutil -addstore -f "ROOT" ca.crt
PS C:\WINDOWS\system32> certutil -addstore -f "ROOT" ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 内部レジストリーにログインします。
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)
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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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>
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>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ODO_BOOTSTRAPPER_IMAGE
環境変数を設定してデフォルトのodo init
イメージパスを上書きします。PS C:\> $env:ODO_BOOTSTRAPPER_IMAGE="<registry_path>/openshiftdo/odo-init-image-rhel7:<tag>"
PS C:\> $env:ODO_BOOTSTRAPPER_IMAGE="<registry_path>/openshiftdo/odo-init-image-rhel7:<tag>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.3. コンポーネントの作成および非接続クラスターへのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングされたレジストリーを持つクラスターに init
イメージをプッシュした後に、アプリケーションでサポートされるビルダーイメージを oc
ツールでミラーリングし、環境変数を使用してミラーレジストリーを上書きし、コンポーネントを作成する必要があります。
前提条件
-
クライアントオペレーティングシステムに
oc
をインストールします。 -
odo
をクライアントオペレーティングシステムにインストールします。 - 内部レジストリーまたはミラーレジストリーが設定された OpenShift Container Platform の制限付きクラスターへのアクセス。
-
odo init
イメージをクラスターレジストリーにプッシュします。
2.4.3.1. サポートされるビルダーイメージのミラーリング リンクのコピーリンクがクリップボードにコピーされました!
Node.js の依存関係に npm パッケージを使用し、Java の依存関係に Maven パッケージを使用し、アプリケーションのランタイム環境を設定するには、ミラーレジストリーから適切なビルダーイメージをミラーリングする必要があります。
手順
必要なイメージタグがインポートされていないことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サポートされるイメージタグをプライベートレジストリーに対してミラーリングします。
oc image mirror registry.access.redhat.com/rhscl/nodejs-10-rhel7:<tag> <private_registry>/rhscl/nodejs-10-rhel7:<tag>
$ oc image mirror registry.access.redhat.com/rhscl/nodejs-10-rhel7:<tag> <private_registry>/rhscl/nodejs-10-rhel7:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージをインポートします。
oc tag <mirror-registry>:<port>/rhscl/nodejs-10-rhel7:<tag> nodejs-10-rhel7:latest --scheduled
$ oc tag <mirror-registry>:<port>/rhscl/nodejs-10-rhel7:<tag> nodejs-10-rhel7:latest --scheduled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを定期的に再インポートする必要があります。
--scheduled
フラグは、イメージの自動再インポートを有効にします。指定されたタグを持つイメージがインポートされていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.3.2. ミラーレジストリーの上書き リンクのコピーリンクがクリップボードにコピーされました!
Node.js の依存関係用の npm パッケージおよび Java の依存関係用の Maven パッケージをプライベートミラーレジストリーからダウンロードするには、クラスター上にミラー npm または Maven レジストリーを作成し、設定する必要があります。その後、既存のコンポーネントで、または新規コンポーネントの作成時にミラーレジストリーを上書きできます。
手順
既存のコンポーネントでミラーレジストリーを上書きするには、以下を実行します。
odo config set --env NPM_MIRROR=<npm_mirror_registry>
$ odo config set --env NPM_MIRROR=<npm_mirror_registry>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントの作成時にミラーレジストリーを上書きするには、以下を実行します。
odo component create nodejs --env NPM_MIRROR=<npm_mirror_registry>
$ odo component create nodejs --env NPM_MIRROR=<npm_mirror_registry>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.3.3. odo を使用した Node.js アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
Node.js コンポーネントを作成するには、Node.js アプリケーションをダウンロードし、odo
でソースコードをクラスターにプッシュします。
手順
現在のディレクトリーをアプリケーションのあるディレクトリーに切り替えます。
cd <directory name>
$ cd <directory name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Node.js タイプのコンポーネントをアプリケーションに追加します。
odo create nodejs
$ odo create nodejs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記デフォルトで、最新イメージが使用されます。また、
odo create openshift/nodejs:8
を使用してイメージのバージョンを明示的に指定できます。初期ソースコードをコンポーネントにプッシュします。
odo push
$ odo push
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、コンポーネントは OpenShift Container Platform にデプロイされます。
URL を作成し、以下のようにローカル設定ファイルにエントリーを追加します。
odo url create --port 8080
$ odo url create --port 8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更をプッシュします。これにより、URL がクラスターに作成されます。
odo push
$ odo push
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンポーネントに必要な URL を確認するために URL を一覧表示します。
odo url list
$ odo url list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成された URL を使用してデプロイされたアプリケーションを表示します。
curl <URL>
$ curl <URL>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow