検索

3.3. OpenShift Update Service アプリケーションの作成

download PDF

OpenShift Container Platform Web コンソールまたは CLI を使用し、OpenShift Update Service アプリケーションを作成できます。

3.3.1. Web コンソールを使用した OpenShift Update Service アプリケーションの作成

OpenShift Container Platform Web コンソールを使用して、OpenShift Update Service Operator で OpenShift Update Service アプリケーションを作成できます。

前提条件

  • OpenShift Update Service Operator がインストールされている。
  • OpenShift Update Service の graph-data コンテナーイメージを作成して、OpenShift Update Service がアクセスできるリポジトリーにプッシュしておく。
  • 現在のリリースおよび更新ターゲットリリースがローカルアクセス可能なレジストリーにミラーリングされている。

手順

  1. Web コンソールで Operators Installed Operators をクリックします。
  2. インストールされた Operator の一覧から OpenShift Update Service を選択します。
  3. Update Service タブをクリックします。
  4. Create UpdateService をクリックします。
  5. service など、Name フィールドに名前を入力します。
  6. Graph Data Image フィールドに OpenShift Update Service グラフデータコンテナーイメージの作成で作成した graph-data コンテナーイメージにローカルの pullspec を入力します (例: registry.example.com/openshift/graph-data:latest)。
  7. Releases フィールドに、OpenShift Container Platform イメージリポジトリーのミラーリングでリリースイメージを含むように作成したローカルのレジストリーとリポジトリー (例: registry.example.com/ocp4/openshift4-release-images) を入力します。
  8. Replicas フィールドに 2 と入力します。
  9. Create をクリックして OpenShift Update Service アプリケーションを作成します。
  10. OpenShift Update Service アプリケーションを検証します。

    • Update Service タブの UpdateServices 一覧から、作成した Update Service アプリケーションをクリックします。
    • Resources タブをクリックします。
    • 各アプリケーションリソースのステータスが Created であることを確認します。

3.3.2. CLI を使用した OpenShift Update Service アプリケーションの作成

OpenShift CLI (oc) を使用して、OpenShift Update Service アプリケーションを作成できます。

前提条件

  • OpenShift Update Service Operator がインストールされている。
  • OpenShift Update Service の graph-data コンテナーイメージを作成して、OpenShift Update Service がアクセスできるリポジトリーにプッシュしておく。
  • 現在のリリースおよび更新ターゲットリリースがローカルアクセス可能なレジストリーにミラーリングされている。

手順

  1. OpenShift Update Service ターゲット namespace を設定します (例: openshift-update-service)。

    $ NAMESPACE=openshift-update-service

    namespace は Operator グループの targetNamespaces 値と一致する必要があります。

  2. OpenShift Update Service アプリケーションの名前 (例: service) を設定します。

    $ NAME=service
  3. OpenShift Container Platform イメージリポジトリーの設ミラーリング (例: registry.example.com/ocp4/openshift4-release-images) に設定されるように、リリースイメージのローカルレジストリーおよびリポジトリーを設定します。

    $ RELEASE_IMAGES=registry.example.com/ocp4/openshift4-release-images
  4. OpenShift Update Service グラフデータコンテナーイメージの作成で作成した graph-data コンテナーイメージにローカルの pullspec を入力します (例: registry.example.com/openshift/graph-data:latest)。

    $ GRAPH_DATA_IMAGE=registry.example.com/openshift/graph-data:latest
  5. OpenShift Update Service アプリケーションオブジェクトを作成します。

    $ oc -n "${NAMESPACE}" create -f - <<EOF
    apiVersion: updateservice.operator.openshift.io/v1
    kind: UpdateService
    metadata:
      name: ${NAME}
    spec:
      replicas: 2
      releases: ${RELEASE_IMAGES}
      graphDataImage: ${GRAPH_DATA_IMAGE}
    EOF
  6. OpenShift Update Service アプリケーションを検証します。

    1. 以下のコマンドを使用してポリシーエンジンルートを取得します。

      $ while sleep 1; do POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonpath='{.status.policyEngineURI}/api/upgrades_info/v1/graph{"\n"}' updateservice "${NAME}")"; SCHEME="${POLICY_ENGINE_GRAPH_URI%%:*}"; if test "${SCHEME}" = http -o "${SCHEME}" = https; then break; fi; done

      コマンドが成功するまでポーリングが必要になる場合があります。

    2. ポリシーエンジンからグラフを取得します。チャネル に有効なバージョンを指定してください。たとえば、OpenShift Container Platform 4.7 で実行している場合は、stable-4.7 を使用します。

      $ while sleep 10; do HTTP_CODE="$(curl --header Accept:application/json --output /dev/stderr --write-out "%{http_code}" "${POLICY_ENGINE_GRAPH_URI}?channel=stable-4.6")"; if test "${HTTP_CODE}" -eq 200; then break; fi; echo "${HTTP_CODE}"; done

      これにより、グラフ要求が成功するまでポーリングされます。ただし、ミラーリングしたリリースイメージによっては、生成されるグラフが空白の場合があります。

注記

ポリシーエンジンのルート名は、RFC-1123 に基づき、63 文字以上を指定できません。host must conform to DNS 1123 naming convention and must be no more than 63 characters が原因で、ReconcileCompleted のステータスが false、理由が CreateRouteFailed となっている場合には、更新サービスをもう少し短い名前で作成してみてください。

3.3.3. Cluster Version Operator (CVO) の設定

OpenShift Update Service Operator をインストールして、OpenShift Update Service アプリケーションを作成した後に、ローカルインストールされた OpenShift Update Service からグラフデータをプルするように Cluster Version Operator (CVO) を更新できます。

前提条件

  • OpenShift Update Service Operator がインストールされている。
  • OpenShift Update Service の graph-data コンテナーイメージを作成して、OpenShift Update Service がアクセスできるリポジトリーにプッシュしておく。
  • 現在のリリースおよび更新ターゲットリリースがローカルアクセス可能なレジストリーにミラーリングされている。
  • OpenShift Update Service アプリケーションが作成されている。

手順

  1. OpenShift Update Service ターゲット namespace を設定します (例: openshift-update-service)。

    $ NAMESPACE=openshift-update-service
  2. OpenShift Update Service アプリケーションの名前 (例: service) を設定します。

    $ NAME=service
  3. ポリシーエンジンルートを取得します。

    $ POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonpath='{.status.policyEngineURI}/api/upgrades_info/v1/graph{"\n"}' updateservice "${NAME}")"
  4. プルグラフデータのパッチを設定します。

    $ PATCH="{\"spec\":{\"upstream\":\"${POLICY_ENGINE_GRAPH_URI}\"}}"
  5. CVO にパッチを適用して、ローカルの OpenShift Update Service を使用します。

    $ oc patch clusterversion version -p $PATCH --type merge
注記

クラスター全体のプロキシーを有効 にして、更新サーバーを信頼するように CA を設定するを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.