17.2.9. マネージドクラスターのパラメーターを変更するためのポリシーのデプロイ
ClusterVersion ポリシーをマネージドクラスターにプッシュし、アップグレード取得先のデフォルトの場所を変更します。
マネージドクラスターから、以下のコマンドを入力して ClusterVersion アップストリームパラメーターがデフォルトの OpenShift Update Service オペランドであることを確認します。
oc get clusterversion -o yaml
返される内容は以下のようになります。
apiVersion: v1 items: - apiVersion: config.openshift.io/v1 kind: ClusterVersion [..] spec: channel: stable-4.4 upstream: https://api.openshift.com/api/upgrades_info/v1/graph
ハブクラスターから、
oc get routes
というコマンドを入力して OpenShift Update Service オペランドへのルート URL を特定します。ヒント: 今後の手順で使用できるようにこの値をメモします。
- ハブクラスターの Red Hat Advanced Cluster Management コンソールメニューで、Governance > Create a policy を選択します。
-
YAML
スイッチを On に設定して、ポリシーの YAML バージョンを表示します。 -
YAML
コードのコンテンツをすべて削除します。 以下の
YAML
コンテンツをウィンドウに貼り付け、カスタムポリシーを作成します。apiVersion: policy.open-cluster-management.io/v1 kind: Policy metadata: name: policy-pod namespace: default annotations: policy.open-cluster-management.io/standards: policy.open-cluster-management.io/categories: policy.open-cluster-management.io/controls: spec: disabled: false policy-templates: - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: policy-pod-sample-nginx-pod spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: v1 kind: Pod metadata: name: sample-nginx-pod namespace: default status: phase: Running remediationAction: inform severity: low remediationAction: enforce --- apiVersion: policy.open-cluster-management.io/v1 kind: PlacementBinding metadata: name: binding-policy-pod namespace: default placementRef: name: placement-policy-pod kind: PlacementRule apiGroup: apps.open-cluster-management.io subjects: - name: policy-pod kind: Policy apiGroup: policy.open-cluster-management.io --- apiVersion: apps.open-cluster-management.io/v1 kind: PlacementRule metadata: name: placement-policy-pod namespace: default spec: clusterConditions: - status: "True" type: ManagedClusterConditionAvailable clusterSelector: matchExpressions: [] # selects all clusters if not specified
policy セクションの
policy.spec
に以下の内容を追加します。apiVersion: config.openshift.io/v1 kind: ClusterVersion metadata: name: version spec: channel: stable-4.4 upstream: https://example-cincinnati-policy-engine-uri/api/upgrades_info/v1/graph
spec.upstream の値は、ハブクラスター OpenShift Update Service オペランドへのパスに置き換えます。
ヒント: 以下の手順を実行すると、オペランドへのパスを確認できます。
-
ハブクラスターで
oc get routes -A
コマンドを実行します。 -
cincinnati
へのルートを見つけます。+ オペランドへのパスは、HOST/PORT
フィールドの値です。
-
ハブクラスターで
マネージドクラスター CLI で、
ClusterVersion
のアップストリームパラメーターがローカルハブクラスター OpenShift Update Service URL に更新されていることを確認します。これには以下のコマンドを入力します。oc get clusterversion -o yaml
結果は、以下の内容のようになります。
apiVersion: v1 items: - apiVersion: config.openshift.io/v1 kind: ClusterVersion [..] spec: channel: stable-4.4 upstream: https://<hub-cincinnati-uri>/api/upgrades_info/v1/graph