1.14. Red Hat OpenShift GitOps を使用した OLM Operator のインストール
クラスター設定の Red Hat OpenShift GitOps は、特定のクラスタースコープのリソースを管理し、クラスター Operator または namespace スコープの OLM Operator のインストールを処理します。
クラスター管理者として、Tekton などの OLM Operator をインストールする必要がある場合を考えてみましょう。OpenShift Container Platform Web コンソールを使用して Tekton Operator を手動でインストールするか、OpenShift CLI を使用して Tekton サブスクリプションと Tekton Operator グループをクラスターに手動でインストールします。
Red Hat OpenShift GitOps は、Kubernetes リソースを Git リポジトリーに配置します。クラスター管理者は、Red Hat OpenShift GitOps を使用して、手動手順を行わずに他の OLM Operator のインストールを管理および自動化できます。たとえば、Red Hat OpenShift GitOps を使用して Tekton サブスクリプションを Git リポジトリーに配置すると、Red Hat OpenShift GitOps はこの Tekton サブスクリプションを Git リポジトリーから自動的に取得し、クラスターに Tekton Operator をインストールします。
1.14.1. クラスタースコープの Operator のインストール
Operator Lifecycle Manager (OLM) は、クラスタースコープの Operator の openshift-operators
namespace 内のデフォルトの global-operators
Operator グループを使用します。したがって、Gitops リポジトリーで OperatorGroup
リソースを管理する必要はありません。ただし、namespace スコープの Operator の場合は、その namespace で OperatorGroup
リソースを管理する必要があります。
クラスタースコープの Operator をインストールするには、必要な Operator の Subscription
リソースを作成し、Git リポジトリーに配置します。
例: Grafana Operator サブスクリプション
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: grafana spec: channel: v4 installPlanApproval: Automatic name: grafana-operator source: redhat-operators sourceNamespace: openshift-marketplace
1.14.2. namespace スコープの Operator のインストール
namespace スコープの Operator をインストールするには、必要な Operator の Subscription
リソースと OperatorGroup
リソースを作成して Git リポジトリーに配置します。
例: Ansible Automation Platform リソースオペレーター
# ... apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: ansible-automation-platform # ... apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: ansible-automation-platform-operator namespace: ansible-automation-platform spec: targetNamespaces: - ansible-automation-platform # ... apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: ansible-automation-platform namespace: ansible-automation-platform spec: channel: patch-me installPlanApproval: Automatic name: ansible-automation-platform-operator source: redhat-operators sourceNamespace: openshift-marketplace # ...
Red Hat OpenShift GitOps を使用して複数の Operator をデプロイする場合は、対応する namespace に Operator グループを 1 つだけ作成する必要があります。1 つの namespace に複数の Operator グループが存在する場合、その namespace で作成された CSV はすべて、TooManyOperatorGroups
の理由で failure
状態に移行します。対応する namespace 内の Operator グループの数が 1 に達すると、以前の failure
状態の CSV はすべて pending
状態に移行します。Operator のインストールを完了するには、保留中のインストールプランを手動で承認する必要があります。