13.2.4.3. CLI を使用して OpenShift Elasticsearch Operator をインストールする
OpenShift CLI (oc) を使用して、OpenShift Elasticsearch Operator をインストールできます。
前提条件
Elasticsearch の必要な永続ストレージがあることを確認します。各 Elasticsearch ノードには独自のストレージボリュームが必要であることに注意してください。
注記永続ストレージにローカルボリュームを使用する場合は、
LocalVolumeオブジェクトのvolumeMode: blockで記述される raw ブロックボリュームを使用しないでください。Elasticsearch は raw ブロックボリュームを使用できません。Elasticsearch はメモリー集約型アプリケーションです。デフォルトで、OpenShift Container Platform はメモリー要求および 16 GB の制限を持つ 3 つの Elasticsearch ノードをインストールします。OpenShift Container Platform ノードの最初の 3 つのセットには、Elasticsearch をクラスター内で実行するのに十分なメモリーがない可能性があります。Elasticsearch に関連するメモリーの問題が発生した場合は、既存ノードのメモリーを増やすのではなく、Elasticsearch ノードをクラスターにさらに追加します。
- 管理者権限がある。
-
OpenShift CLI (
oc) がインストールされている。
手順
Namespaceオブジェクトを、YAML ファイルとして作成します。apiVersion: v1 kind: Namespace metadata: name: openshift-operators-redhat1 annotations: openshift.io/node-selector: "" labels: openshift.io/cluster-monitoring: "true"2 - 1
openshift-operators-redhatnamespace を指定する必要があります。メトリクスとの競合が発生する可能性を防ぐには、Prometheus のクラスターモニタリングスタックを、openshift-operatorsnamespace からではなく、openshift-operators-redhatnamespace からメトリクスを収集するように設定します。openshift-operatorsnamespace にはコミュニティーの Operator が含まれている場合があります。コミュニティーの Operator は信頼されたものではなく、メトリクスと同じ名前のメトリクスを公開する可能性があります。これにより、競合が発生することがあります。- 2
- String。クラスターモニタリングが
openshift-operators-redhatnamespace を収集できるように、このラベルを上記のように指定する必要があります。
次のコマンドを実行して、
Namespaceオブジェクトを適用します。$ oc apply -f <filename>.yamlOperatorGroupオブジェクトを、YAML ファイルとして作成します。apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-operators-redhat namespace: openshift-operators-redhat1 spec: {}- 1
openshift-operators-redhatnamespace を指定する必要があります。
以下のコマンドを実行して
OperatorGroupオブジェクトを適用します。$ oc apply -f <filename>.yamlOpenShift Elasticsearch Operator に namespace をサブスクライブするための
Subscriptionオブジェクトを作成します。Subscription の例
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: elasticsearch-operator namespace: openshift-operators-redhat1 spec: channel: stable-x.y2 installPlanApproval: Automatic3 source: redhat-operators4 sourceNamespace: openshift-marketplace name: elasticsearch-operator- 1
openshift-operators-redhatnamespace を指定する必要があります。- 2
- チャネルとして
stableまたはstable-x.yを指定します。以下の注意点を参照してください。 - 3
Automaticにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。Manualには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。- 4
redhat-operatorsを指定します。OpenShift Container Platform クラスターが、非接続クラスターとも呼ばれるネットワークが制限された環境でインストールされている場合、Operator Lifecycle Manager (OLM) の設定時に作成されるCatalogSourceオブジェクトの名前を指定します。
注記stableを指定すると、最新の安定したリリースの現行バージョンがインストールされます。stableをinstallPlanApproval: "Automatic"とともに使用すると、Operator が最新の安定したメジャーリリースとマイナーリリースに自動的にアップグレードされます。stable-x.yを指定すると、特定のメジャーリリースの現在のマイナーバージョンがインストールされます。stable-x.yをinstallPlanApproval: "Automatic"と併せて使用すると、Operator がメジャーリリース内の最新の stable マイナーリリースに自動的にアップグレードされます。次のコマンドを実行して、サブスクリプションを適用します。
$ oc apply -f <filename>.yamlOpenShift Elasticsearch Operator は
openshift-operators-redhatnamespace にインストールされ、クラスター内の各プロジェクトにコピーされます。
検証
以下のコマンドを実行します。
$ oc get csv -n --all-namespaces出力を観察し、OpenShift Elasticsearch Operator の Pod が各 namespace に存在することを確認します。
出力例
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE default elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded kube-node-lease elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded kube-public elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded kube-system elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded non-destructive-test elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded openshift-apiserver-operator elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded openshift-apiserver elasticsearch-operator.v5.8.1 OpenShift Elasticsearch Operator 5.8.1 elasticsearch-operator.v5.8.0 Succeeded ...