このガイドでは、既存の Azure Red Hat OpenShift (ARO) 4.x クラスターでの Red Hat プル シークレットの追加および更新について説明します。
クラスターを初めて作成する場合は、クラスターの作成時にプル シークレットを追加できます。 Red Hat プル シークレットを使用して ARO クラスターを作成する方法の詳細については、「Azure Red Hat OpenShift 4 クラスターを作成する」を参照してください。
[前提条件]
このガイドでは、既存の Azure Red Hat OpenShift 4 クラスターがあることを前提としています。 クラスターへの管理者アクセス権を持っていることを確認します。
プル シークレットを準備する
Red Hat プル シークレットを追加せずに ARO クラスターを作成しても、自動的にクラスターでプル シークレットが作成されます。 ただし、このプル シークレットは完全に設定されていません。
このセクションでは、Red Hat プル シークレットの他の値でプル シークレットを更新する手順について説明します。
次のコマンドを実行して、
pull-secret
名前空間でopenshift-config
という名前のシークレットをフェッチし、個別のファイルに保存します。oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
出力は次の例のようになります。実際のシークレット値は削除されました。
{ "auths": { "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
Red Hat OpenShift クラスター マネージャー ポータルに移動して、 [Download pull secret](プル シークレットのダウンロード) を選択します。 Red Hat プル シークレットは次のサンプルのようになります。実際のシークレット値は削除されました。
{ "auths": { "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }, "quay.io": { "auth": "<my-quayio-secret>", "email": "violet@contoso.com" }, "registry.connect.redhat.com": { "auth": "<my-registry.connect.redhat.com-secret>", "email": "violet@contoso.com" }, "registry.redhat.io": { "auth": "<my-registry.redhat.io-secret>", "email": "violet@contoso.com" } } }
Red Hat プル シークレットで見つかったエントリを追加して、クラスターから取得したプル シークレット ファイルを編集します。
重要
Red Hat プル シークレットから
cloud.openshift.com
エントリを含める場合、クラスターはテレメトリ データを Red Hat に送信します。 このセクションは、利用統計情報を送信する場合にのみ含めてください。 それ以外の場合は、次のセクションを除外します。{ "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }
注意事項
プル シークレットから
arosvc.azurecr.io
エントリを削除または変更しないでください。 このセクションは、クラスターが正常に機能するために必要です。"arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" }
最終的なファイルは次の例のようになります。実際のシークレット値は削除されました。
{ "auths": { "cloud.openshift.com": { "auth": "<my-crc-secret>", "email": "violet@contoso.com" }, "quay.io": { "auth": "<my-quayio-secret>", "email": "violet@contoso.com" }, "registry.connect.redhat.com": { "auth": "<my-registry.connect.redhat.com-secret>", "email": "violet@contoso.com" }, "registry.redhat.io": { "auth": "<my-registry.redhat.io-secret>", "email": "violet@contoso.com" }, "arosvc.azurecr.io": { "auth": "<my-aroscv.azurecr.io-secret>" } } }
有効な JSON ファイルであることを確認してください。 JSON を検証するには、さまざまな方法があります。 次の例では、
jq
を使用してファイルを検証します。cat pull-secret.json | jq
ファイルにエラーがある場合は、
parse error
として表示されます。
クラスターにプル シークレットを追加する
次のコマンドを実行して、プル シークレットを追加します。 ARO 4.9 以前では、このコマンドを実行すると、クラスター ノードが更新されると 1 つずつ再起動します。 ARO 4.10 以降のバージョンでは、再起動はトリガーされません。
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret.json
プル シークレットが配置されていることを確認します
oc exec -n openshift-apiserver $(oc get pod -n openshift-apiserver -o jsonpath="{.items[0].metadata.name}") -- cat /var/lib/kubelet/config.json
シークレットが設定されると、Red Hat 認定オペレーターを有効にする準備が整います。
構成ファイルを変更します。
Red Hat オペレーターが有効になるように、次のオブジェクトを変更します。
Samples Operator 構成ファイルを変更します。 次に、次のコマンドを実行すると、構成ファイルを編集できます。
oc edit configs.samples.operator.openshift.io/cluster -o yaml
spec.managementState
の値を Removed
から Managed
に変更します。
次の YAML スニペットには、編集された YAML ファイルの関連セクションのみが表示されています。
apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
...
spec:
architectures:
- x86_64
managementState: Managed
次のコマンドを実行して、Operator Hub 構成ファイルを編集します。
oc edit operatorhub cluster -o yaml
有効にする任意のソースで Spec.Sources.Disabled
値を true
から false
に変更します。
次の YAML スニペットには、編集された YAML ファイルの関連セクションのみが表示されています。
Name: cluster
...
dd3310b9-e520-4a85-98e5-8b4779ee0f61
Spec:
Sources:
Disabled: false
Name: certified-operators
Disabled: false
Name: redhat-operators
ファイルを保存して、編集を適用します。
シークレットが動作していることを確認する
プル シークレットを追加し、正しい構成ファイルを変更した後、クラスターの更新が完了するまでに数分かかる場合があります。 クラスターが更新されたことを確認するには、次のコマンドを実行して、使用可能な認定オペレーターと Red Hat Operators のソースを表示します。
$ oc get catalogsource -A
NAMESPACE NAME DISPLAY TYPE PUBLISHER AGE
openshift-marketplace certified-operators Certified Operators grpc Red Hat 10s
openshift-marketplace community-operators Community Operators grpc Red Hat 18h
openshift-marketplace redhat-operators Red Hat Operators grpc Red Hat 11s
認定オペレーターと Red Hat オペレーターが表示されない場合は、しばらく待ってから再度試してください。
プル シークレットが更新され、機能していることを確認するには、 OperatorHub を開き、Red Hat 検証済みオペレーターを確認します。 たとえば、OpenShift Container Storage オペレーターが使用可能かどうかを確認し、インストールするためのアクセス許可を持っているかどうかを確認します。
次のステップ
- Red Hat プル シークレットの詳細については、「イメージ プル シークレットの使用」を参照してください。
- Red Hat OpenShift 4 の詳細については、Red Hat OpenShift Container Platform に関するドキュメントを参照してください。