OpenSearchのカスタマイズ
Verrazzanoは、OpenSearchクラスタの2つのクラスタ・トポロジをサポートしています:
- 単一ノード・クラスタ(単一ノードによってマスター・ロール、取込みロールおよびデータ・ロールが実行されます)。
- 個別のマスター・ノード、データ・ノードおよび取込みノードを含むマルチノード・クラスタ構成。
「インストール・プロファイル」では、Verrazzanoによって提供されるデフォルトのOpenSearchクラスタ構成について説明します。
Verrazzanoカスタム・リソースのspec.components.elasticsearch.installArgsフィールドを使用して、OpenSearchクラスタのノード特性をカスタマイズできます。Verrazzanoをインストールする場合、このフィールドを使用してOpenSearch構成のHelm値のオーバーライドのリストを指定できます。
これらのHelmオーバーライドでは、次のノードの特性をカスタマイズできます:
- ノード・レプリカの数。
- 1ノード当たりのメモリー・リクエスト・サイズ。
- ストレージ・リクエスト・サイズ(データ・ノードのみ)。
次の表に、OpenSearchノードに関連するVerrazzanoシステム・チャート内のHelm値を示します。
名前 | 説明 |
---|---|
nodes.master.replicas |
マスター・ノードのレプリカの数。 |
nodes.master.requests.memory |
Quantityで表されるメモリー・リクエスト量。 |
nodes.ingest.replicas |
取込みノードのレプリカの数。 |
nodes.ingest.requests.memory |
Quantityで表されるメモリー・リクエスト量。 |
nodes.data.replicas |
データ・ノードのレプリカの数。 |
nodes.data.requests.memory |
Quantityで表されるメモリー・リクエスト量。 |
nodes.data.requests.storage |
Quantityで表されるストレージ・リクエスト量。 |
次の例では、dev
インストール・プロファイル、OpenSearch構成(1Giのメモリーおよびエフェメラル・ストレージを持つ単一ノード・クラスタ)をオーバーライドし、永続ストレージを持つマルチノード・クラスタを使用します。パブリックAPIはElasticsearchを参照しますが、次期リリースではAPIはOpenSearchに変更されます。
apiVersion: install.verrazzano.io/v1alpha1
kind: Verrazzano
metadata:
name: custom-es-example
spec:
profile: dev
components:
elasticsearch:
installArgs:
- name: nodes.master.replicas
value: "1"
- name: nodes.master.requests.memory
value: "1G"
- name: nodes.ingest.replicas
value: "1"
- name: nodes.ingest.requests.memory
value: "1G"
- name: nodes.data.replicas
value: "3"
- name: nodes.data.requests.memory
value: "1.5G"
- name: nodes.data.requests.storage
value: "10Gi"
前述の構成のverrazzano-system
ネームスペース内のポッドおよび永続ボリュームをリストすると、予期されるノードが適切なデータ・ボリュームで実行されていることが示されます:
$ kubectl get pvc,pod -n verrazzano-system
# Sample output
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/elasticsearch-master-vmi-system-es-master-0 Bound pvc-8ffff457-4d72-4a72-89ba-2cdcb8eade38 10Gi RWO standard 6m51s
persistentvolumeclaim/vmi-system-es-data Bound pvc-e32c2182-46ba-4789-b577-195874b3dd69 10Gi RWO standard 6m53s
persistentvolumeclaim/vmi-system-es-data-1 Bound pvc-67789196-d688-4d06-b074-77655a913552 10Gi RWO standard 6m53s
persistentvolumeclaim/vmi-system-es-data-2 Bound pvc-43e07e3e-0713-4ab1-ac3f-812069c35cbb 10Gi RWO standard 6m53s
NAME READY STATUS RESTARTS AGE
pod/coherence-operator-6986d6cf95-6b58p 1/1 Running 2 7m3s
pod/fluentd-fn28c 2/2 Running 2 7m12s
pod/oam-kubernetes-runtime-679c6f6775-79tvm 1/1 Running 0 5m11s
pod/verrazzano-api-58c5f65c8-6zbpc 2/2 Running 0 7m12s
pod/verrazzano-application-operator-5766b899fd-9fjhb 1/1 Running 0 4m55s
pod/verrazzano-console-6599854544-pw56c 2/2 Running 0 7m12s
pod/verrazzano-monitoring-operator-55877766d4-9ktvh 1/1 Running 0 7m12s
pod/verrazzano-operator-75b5cd49fc-68cm4 1/1 Running 0 7m12s
pod/vmi-system-es-data-0-5884cfb84d-hn8xg 2/2 Running 0 6m52s
pod/vmi-system-es-data-1-679775494f-pdwzf 2/2 Running 0 6m52s
pod/vmi-system-es-data-2-5886d745c5-6pscm 2/2 Running 0 6m52s
pod/vmi-system-es-ingest-795749ddd8-cs4pc 3/3 Running 0 6m52s
pod/vmi-system-es-master-0 2/2 Running 0 6m51s
pod/vmi-system-grafana-b94fcbb67-ktwf8 3/3 Running 0 6m52s
pod/vmi-system-kibana-6594cfccc-j8gp5 3/3 Running 0 6m51s
pod/vmi-system-prometheus-0-75864fc668-s5xv8 4/4 Running 0 44s
pod/weblogic-operator-5bd7bb6fb5-wz5cr 2/2 Running 0 6m30s
master
ノードは、データ・ノード用に構成されているのと同じ量の永続ストレージを使用します。
コマンドkubectl describe pod -n verrazzano-system vmi-system-es-data-0-5884cfb84d-hn8xg
を実行すると、リクエストされたメモリー量が表示されます:
Containers:
es-data:
Container ID: containerd://cc01f24b107da0e1e90a05a49c7fd969761f59a81316fa01f7cc56a166684628
Image: ghcr.io/verrazzano/opensearch:1.2.3-20220207214930-833b159de83
Image ID: ghcr.io/verrazzano/elasticsearch@sha256:3d2cbb539f9ebba991c6f36db4fbaa9dc9c03e6192a28787869f7850cc2bd66c
Ports: 9200/TCP, 9300/TCP
Host Ports: 0/TCP, 0/TCP
State: Running
Started: Thu, 29 Jul 2021 06:04:17 +0000
Ready: True
Restart Count: 0
Requests:
memory: 1500M