Istio
Istioクラスタ・アドオンを有効にすると、次のキー/値のペアを引数として渡すことができます。
| キー(APIおよびCLI) | キーの表示名(コンソール) | 説明 | 必須/オプション | デフォルト値 | 値の例 |
|---|---|---|---|---|---|
affinity |
affinity |
アフィニティ・スケジューリング・ルールのグループ。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 未使用者:
可能な等価:
|
オプション | null | null |
nodeSelectors |
ノード・セレクター |
ノード・セレクタおよびノード・ラベルを使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。 ポッドをノードで実行するには、ポッドのノード・セレクタのキー/値がノードのラベルと同じである必要があります。
プレーン・テキストまたはエンコードされたBase64のJSON形式。 未使用者:
可能な等価:
|
オプション | null | {"foo":"bar", "foo2": "bar2"}ポッドは、 |
numOfReplicas |
numOfReplicas | アドオン配備の複製の数。 未使用者:
可能な等価:
|
必須 | 1クラスタごとにアドオン・デプロイメントのレプリカを1つ作成します。 |
2クラスタごとにアドオン・デプロイメントの2つのレプリカを作成します。 |
rollingUpdate |
rollingUpdate |
maxSurgeおよびmaxUnavailableによるローリング更新の望ましい動作を制御します。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 未使用者:
可能な等価:
|
オプション | null | null |
tolerations |
許容範囲 |
テイントおよび許容範囲を使用して、アドオン・ポッドが実行されるワーカー・ノードを制御できます。 taintがあるノード上でポッドを実行するには、ポッドに対応する許容範囲が必要です。
プレーン・テキストまたはエンコードされたBase64のJSON形式。 可能な等価:
|
オプション | null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]この許容範囲を持つポッドのみが、 |
topologySpreadConstraints |
topologySpreadConstraints |
指定されたトポロジ間で一致するポッドを分散する方法。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 未使用者:
|
オプション | null | null |
| キー(APIおよびCLI) | キーの表示名(コンソール) | 説明 | 必須/オプション | デフォルト値 | 値の例 |
|---|---|---|---|---|---|
customizeConfigMap
|
customizeConfigMap |
OracleでIstioを自動的に管理する場合は、 istioctl (またはIstioでサポートされている別のツール)を使用してIstioをカスタマイズし、Oracleがアドオンを更新するときにカスタマイズを保持する場合は、 |
必須 |
false
|
true
|
discovery.ContainerResources
|
discovery.ContainerResources |
アドオン・コンテナが要求するリソース数量を指定し、アドオン・コンテナが超過できないリソース使用量制限を設定できます。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション | null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
100ミリコアのCPUと100メビバイトのメモリーをリクエストするアドオン・コンテナを作成します。アドオンコンテナを500MバイトのCPUおよび200Mバイトのメモリーに制限します。 |
discovery.EnvVariables
|
discovery.EnvVariables |
JSON形式のIstioコントロール・プレーン検出コンテナ環境変数のリスト。 |
オプション | null |
[{"name":"ISTIO_GPRC_MAXRECVMSGSIZE","value":"8388608"},{"name":"ISTIO_GPRC_MAXSTREAMS","value":"150000"}]
|
enableIngressGateway
|
enableIngressGateway | Istioイングレス・ゲートウェイの有効化 | 必須 |
false
|
true
|
istio-ingressgateway.Annotations
|
istio ingressgateway.Annotations |
Istioデプロイメントに渡す注釈。 たとえば、ロード・バランサのシェイプを指定する場合や、ロード・バランサをネットワーク・ロード・バランサとして作成するかどうかを指定できます。その他の注釈については、ロード・バランサおよびネットワーク・ロード・バランサの注釈の概要を参照してください。 プレーン・テキストまたはエンコードされたBase64のJSON形式。 |
オプション |
""
|
|
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
istio ingressgateway.HorizontalPodAutoscalerMinReplicas |
Istioイングレス・ゲートウェイ水平ポッド自動スカラの最小レプリカ数。 ゼロより大きい値を持つ整数である必要があります。 |
オプション | null |
1
|
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
istio ingressgateway.HorizontalPodAutoscalerMaxReplicas |
Istioイングレス・ゲートウェイの水平ポッド自動スケーラのレプリカの最大数。 ゼロより大きい値を持つ整数である必要があります。 |
オプション | null |
3
|
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
istio ingressgateway.PodDisruptionBudgetMinAvailable |
使用可能なIstioイングレス・ゲートウェイ・ポッドの最小数または割合。 |
オプション | null |
|
istiod.HorizontalPodAutoscalerMinReplicas
|
istiod.HorizontalPodAutoscalerMinReplicas |
Istioコントローラの最小レプリカの数。 ゼロより大きい値を持つ整数である必要があります。 |
オプション | null |
1
|
istiod.HorizontalPodAutoscalerMaxReplicas
|
istiod.HorizontalPodAutoscalerMaxReplicas |
Istioコントローラのレプリカの最大数。 ゼロより大きい値を持つ整数である必要があります。 |
オプション | null |
3
|
istiod.PodDisruptionBudgetMinAvailable
|
istiod.PodDisruptionBudgetMinAvailable |
使用可能なIstioコントローラ・ポッドの最小数または割合。 |
オプション | null |
|
profile
|
プロファイル | Istioインストール・プロファイル | 必須 |
"oke-default"
|
"oke-default"
|
次の表に、大規模クラスタでこのクラスタ・アドオンを構成する際の考慮事項を示します。
| 引数名 | ロールWRTノード数 | 説明 | クラスタ・サイズが増加するにつれて | リスク | 推奨事項 |
|---|---|---|---|---|---|
affinity
|
なし |
特定のノードでのIstioポッドの配置を制御します。 |
該当なし | 該当なし | 該当なし |
nodeSelectors
|
なし |
特定のラベルを持つノード上でIstioポッドを実行するかどうかを制御します。 |
該当なし | 該当なし | 該当なし |
tolerations
|
なし |
汚染されたノードでIstioポッドを実行できるかどうかを制御します。 |
該当なし | 該当なし | 該当なし |
topologySpreadConstraints
|
あり |
一致するIstioポッドをクラスタ・トポロジ間で分散する方法を制御します。 |
|
適切に構成されていない場合、同じノードまたは同じゾーンにistiodまたはゲートウェイの複製が同時に配置される可能性があるため、ノード/ゾーンの障害によって一度に複数の複製が取り出されます。 |
異なるノードおよび可用性ゾーンにistiodおよびイングレス・ゲートウェイ・レプリカを分散するように |
numOfReplicas
|
あり |
Istioコントロールプレーンレプリカの数を制御します。 |
サービスメッシュに参加するポッドの数が増えるにつれて、より多くのレプリカが必要になる場合があります。 |
設定が低すぎると、ノードのドレインまたはアップグレード中に単一障害点になる可能性が高くなります。 |
メッシュ・ポッドの数が増えるにつれて、レプリカの数を増やします。 |
rollingUpdate
|
なし |
Istioデプロイメントの更新戦略を制御します。 |
該当なし | 該当なし | 該当なし |
customizeConfigMap
|
なし |
オペレータ・レベルのIstio構成を制御します。 |
該当なし | 該当なし | 該当なし |
discovery.ContainerResources
|
あり |
|
メッシュ・プロキシの数およびIstio構成の量が増加すると、CPUおよびメモリーの要件が増加する可能性があります。 |
サイズが小さい場合、Istioコントロール・プレーンはCPUまたはメモリー不足になり、メッシュ・チャーンが大きくなると構成の伝播が遅くなり、サイドカーの更新が遅延し、不安定になる可能性があります。 |
メッシュサイズとトラフィックに基づいて、十分なCPUとメモリーを同期間に割り当て、クラスタの拡大に伴う制御プレーンのボトルネックを防ぐためにリソース使用率を定期的にモニターします。 |
discovery.EnvVariables
|
なし |
Istioコントロールプレーン検出コンテナの環境変数を定義します。 |
該当なし | 該当なし | 該当なし |
enableIngressGateway
|
なし |
クラシックIstioイングレス・ゲートウェイを有効にするかどうかを制御します。 |
該当なし | 該当なし |
クラスタにクラシックIstioイングレス・ゲートウェイが必要な場合にのみ、イングレス・ゲートウェイを有効にします。 |
istio-ingressgateway.Annotations
|
あり |
ロード・バランサのタイプとシェイプを制御する注釈など、Istioイングレス・ゲートウェイの注釈を定義します。 |
必要なロード・バランサ構成は、クラスタ・ノードの数に直接ではなく、イングレス・ゲートウェイが受信または受信する予定のトラフィックの量によって異なります。 |
構成が正しくない場合、イングレス・ゲートウェイに誤ったロード・バランサのシェイプまたはタイプ(たとえば、誤ったOCI LBシェイプまたはNLB設定)をプロビジョニングできます。これにより、不正なエクスポージャー、スループット制限、またはトラフィックルーティングの問題が発生する可能性があります。 |
本番トラフィック要件およびネットワーキング・アーキテクチャに合せてOCIロード・バランサ注釈を構成し、最適なロード・バランシング、スケーラビリティおよび高可用性を確保します。 |
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas
|
あり |
Horizontal Pod Autoscalerによって管理されるIstioイングレス・ゲートウェイ・レプリカの最小数を定義します。 |
トラフィックが増加するにつれて、より多くのイングレス・ゲートウェイ・レプリカが必要になる場合があります。 |
小さすぎると、イングレス・ゲートウェイのベースライン容量が少なくなり、スパイク中にトラフィックのボトルネックになる可能性が高くなります。1の場合、中断時の回復力も低下します。 |
可用性およびフォルト・トレランスを維持するために、トラフィックが増加するにつれてレプリカの最小数を増やします。 |
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas
|
あり |
Horizontal Pod Autoscalerで作成できるIstioイングレス・ゲートウェイ・レプリカの最大数を定義します。 |
イングレス・ゲートウェイは、トラフィックが増加するにつれて、より多くのレプリカにスケーリングする必要がある場合があります。 |
イングレス・ゲートウェイが小さすぎると、トラフィックの急増中に十分なスケーリングができず、レイテンシが発生したり、接続が切断されたりする可能性があります。 |
可用性およびフォルト・トレランスを維持するために、トラフィックが増加するにつれてレプリカの最大数を増やします。 |
istio-ingressgateway.PodDisruptionBudgetMinAvailable
|
あり |
任意の中断時に使用可能にしておく必要があるIstioイングレス・ゲートウェイ・ポッドの最小数または割合を定義します。 |
イングレス・トラフィックが増加すると、可用性の最小値が高くなる場合があります。 |
低すぎると、アップグレードまたはノード・ドレインによって、一度に多数のゲートウェイが削除され、イングレス停止が発生する可能性があります。 |
高可用性を維持するためにトラフィックが増加するにつれて、最小可用性値を増やします。 |
istiod.HorizontalPodAutoscalerMinReplicas
|
あり |
Horizontal Pod Autoscalerで保持される |
サービス・メッシュのサイズが増加すると、さらに |
小さすぎると、コントロール・プレーンは少なすぎる容量から開始され、構成バースト中に遅延する可能性が高くなります。 |
メッシュサイズが大きくなるにつれて、レプリカの最小数を増やします。可用性を維持するには、少なくとも3つのレプリカを使用します。 |
istiod.HorizontalPodAutoscalerMaxReplicas
|
あり |
Horizontal Pod Autoscalerで作成できる |
既存のレプリカがリソース制限に達するか超える場合は、さらに |
値が小さすぎると、istiodはメッシュの成長、コンフィグチャーン、または多数のサイドカーを処理するのに十分なスケーリングができません。 |
|
istiod.PodDisruptionBudgetMinAvailable
|
あり |
任意の中断時に使用可能にしておく必要がある |
コントロール・プレーンが大規模なサービス・メッシュを管理する場合、使用可能な |
低すぎると、ドレインまたはアップグレードによってコントロール・プレーンが使用できなくなり、サイドカー・インジェクションがクラスタ全体で失敗する可能性があります。 |
再起動および構成の更新中、一部の |
profile
|
なし |
Istioインストールプロファイルを指定します。 |
該当なし | 該当なし | 該当なし |