バージョン 2. 0 ServiceMeshControlPlane の例 の例
1.13. カスタムリソース
1.13.2. Red Hat OpenShift Service Mesh カスタムリソース 注記
注記
istio-system プロジェクトは、サービスメッシュのドキュメント全体でサンプルとして
使用されますが、必要に応じて他のプロジェクトを使用できます。
カスタムリソース
カスタムリソースにより、Red Hat OpenShift Service Mesh プロジェクトまたはクラスターで API を 拡張することができます。サービスメッシュをデプロイすると、プロジェクトパラメーターを変更する ために変更できるデフォルトの ServiceMeshControlPlane が作成されます。
Service Mesh Operator は、ServiceMeshControlPlane リソースタイプを追加して API を拡張します。
metadata:
name: gateway1 spec:
selector:
istio: ingressgateway servers:
- port:
number: 80 name: http protocol: HTTP hosts:
- www.bookinfo.com - bookinfo.example.com
$ oc -n <control_plane_namespace> get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD gateway1-lvlfn bookinfo.example.com istio-ingressgateway <all> None
gateway1-scqhv www.bookinfo.com istio-ingressgateway <all> None
これにより、プロジェクト内に ServiceMeshControlPlane オブジェクトを作成できま
す。ServiceMeshControlPlane オブジェクトを作成することで、Operator にサービスメッシュコント ロールプレーンをプロジェクトにインストールするよう指示でき、ServiceMeshControlPlane オブ ジェクトで設定したパラメーターを使用して設定できます。
この例の ServiceMeshControlPlane の定義には、サポートされるすべてのパラメーターが含まれ、こ
れにより Red Hat Enterprise Linux (RHEL) をベースとした Red Hat OpenShift Service Mesh 2.0.2 イ メージがデプロイされます。
重要 重要
3scale の Istio Adapter は、カスタムリソースファイルでデプロイされ、設定されます。
また、アクティブな 3scale アカウント (SaaS または On-Premises) が必要になります。
ServiceMeshControlPlane
リソースの例 リソースの例
apiVersion: maistra.io/v2kind: ServiceMeshControlPlane metadata:
name: basic spec:
proxy:
resources:
requests:
cpu: 100m memory: 128Mi limits:
cpu: 500m memory: 128Mi tracing:
type: Jaeger gateways:
ingress: # istio-ingressgateway service:
type: ClusterIP ports:
- name: status-port port: 15020 - name: http2 port: 80
targetPort: 8080 - name: https port: 443
targetPort: 8443 meshExpansionPorts: []
egress: # istio-egressgateway service:
type: ClusterIP ports:
- name: status-port port: 15020 - name: http2 port: 80
targetPort: 8080 - name: https
port: 443
targetPort: 8443 additionalIngress:
some-other-ingress-gateway: {}
additionalEgress:
some-other-egress-gateway: {}
policy:
type: Istiod # or Mixer
mixer: # only applies if policy.type: Mixer enableChecks: false
failOpen: false telemetry:
type: Istiod # or Mixer
mixer: # only applies if telemetry.type: Mixer, for v1 telemetry sessionAffinity: false
batching:
maxEntries: 100 maxTime: 1s adapters:
kubernetesenv: true stdio:
enabled: true outputAsJSON: true addons:
grafana:
enabled: true install:
config:
env: {}
envSecrets: {}
persistence:
storageClassName: ""
accessMode: ReadWriteOnce capacity: 5Gi
service:
ingress:
contextPath: /grafana tls:
termination: reencrypt kiali:
name: kiali enabled: true
install: # install kiali CR if not present dashboard:
viewOnly: false enableGrafana: true enableTracing: true enablePrometheus: true service:
ingress:
contextPath: /kiali jaeger:
name: jaeger install:
以下の表は、ServiceMeshControlPlane リソースのパラメーターを一覧表示しています。
表
表1.2 ServiceMeshControlPlane リソースパラメーターリソースパラメーター 名前
名前 説明説明 タイプタイプ
apiVersion APIVersion はオブジェクトのこの
表現のバージョンスキーマを定義 します。サーバーは認識されたス キーマを最新の内部値に変換し、
認識されない値は拒否することが あります。Red Hat OpenShift Service Mesh バージョン 2.0 の値 はmaistra.io/v2です。
Red Hat OpenShift Service Mesh バージョン 2.0 の値は
maistra.io/v2 です。
kind kind はこのオブジェクトが表す
REST リソースを表す文字列の値
です。サーバーはクライアントが 要求を送信するエンドポイントか らこれを推測できることがありま す。
設定不可 storage:
type: Memory # or Elasticsearch memory:
maxTraces: 100000 elasticsearch:
nodeCount: 3 storage: {}
redundancyPolicy: SingleRedundancy indexCleaner: {}
ingress: {} # jaeger ingress configuration runtime:
components:
pilot:
deployment:
replicas: 2 pod:
affinity: {}
container:
resources:
limits: {}
requirements: {}
grafana:
deployment: {}
pod: {}
kiali:
deployment: {}
pod: {}
metadata この
ServiceMeshControlPlaneイ ンスタンスについてのメタデー タ。コントロールプレーンのイン ストールの名前を指定して作業を 追跡できます (basic-installや productionなど)。
文字列
spec この
ServiceMeshControlPlaneの 必要な状態の仕様です。これに は、コントロールプレーンを構成 するすべてのコンポーネントの設 定オプションが含まれます。
詳細は、表 2 を参照してくださ い。
status この
ServiceMeshControlPlaneと コントロールプレーンを構成する コンポーネントの現在のステータ スです。
詳細は、表 3 を参照してくださ い。
名前
名前 説明説明 タイプタイプ
以下の表は、ServiceMeshControlPlane リソースの仕様を一覧表示しています。これらのパラメー ターは、マイクロサービスおよびアプリケーション向けに Red Hat OpenShift Service Mesh を設定しま す。
表
表1.3 ServiceMeshControlPlane リソース仕様リソース仕様 名前
名前 説明説明 設定可能なパラメーター設定可能なパラメーター
addons addonsパラメーターを使用し
て、可視化やメトリクスストレー ジなどのコアコントロールプレー ンコンポーネント以外の追加機能 を設定します。
3scale、grafana、jaeger、kia li、およびprometheus
cluster clusterパラメーターは、クラス
ターの一般的な設定 (クラスター 名、ネットワーク名、マルチクラ スター、メッシュ拡張など) の設 定を行います。
meshExpansion、multiClust er、name、およびnetwork
gateways gatewaysパラメーターを使用し
て、メッシュの ingress および
egress ゲートウェイを設定しま
す。
enabled、additionalEgress、 additionalIngress、egress、i ngress、および
openshiftRoute
general generalパラメーターは、その他 の場所には適合しない一般的なコ ントロールプレーンの設定を表し ます。
loggingおよび validationMessages
policy policyパラメーターを使用し
て、コントロールプレーンのポリ シーチェックを設定します。ポリ シーチェックを有効にするに は、spec.policy.enabledを trueに設定します。
mixerremote、または
type。typeはIstiod、Mixerま たはNoneに設定できます。
profiles profilesパラメーターを使用し
て、デフォルト値に使用するため にServiceMeshControlPlane プロファイルを選択します。
default
proxy proxyパラメーターを使用してサ
イドカーのデフォルト動作を設定 します。
accessLogging、adminPort
、concurrency、および envoyMetricsService
runtime runtimeパラメーターを使用して
コントロールプレーンのコンポー ネントを設定します。
components、およびdefaults
security securityパラメーターを使用す
ると、コントロールプレーンのセ キュリティーの各種機能を設定で きます。
certificateAuthority、
controlPlane、identity、data Planeおよびtrust
techPreview techPreviewパラメーターを使
用すると、テクノロジープレ ビュー機能への早期アクセスが可 能になります。
該当なし
telemetry spec.mixer.telemetry.enable dがtrueに設定されている場 合、telemetry は有効にされま す。
mixer、remote、および type。typeはIstiod、Mixerま たはNoneに設定できます。
tracing tracingパラメーターを使用し
て、メッシュの分散トレースを有 効にします。
sampling、type。typeは JaegerまたはNoneに設定でき ます。
名前
名前 説明説明 設定可能なパラメーター設定可能なパラメーター
version versionパラメーターは、インス トールするコントロールプレーン の Maistra バージョンを指定しま す。空のバージョンで
ServiceMeshControlPlaneを 作成する場合、受付 Webhook は バージョンを現行バージョンに設 定します。空のバージョンの新規 の
ServiceMeshControlPlanes はv2.0に設定されます。空の バージョンの既存の
ServiceMeshControlPlanes はそれらの設定を保持します。
文字列 名前
名前 説明説明 設定可能なパラメーター設定可能なパラメーター
ControlPlaneStatus はサービスメッシュの現在の状態を表します。
表
表1.4 ServiceMeshControlPlane リソースリソースControlPlaneStatus 名前
名前 説明説明 タイプタイプ
annotations annotationsパラメーターは、
通常は
ServiceMeshControlPlaneに よってデプロイされるコンポーネ ントの数などの追加の余分なス テータス情報を保存します。これ らのステータスは、JSONPath 式 でオブジェクトのカウントを許可 しないコマンドラインツールの ocで使用されます。
設定不可
conditions オブジェクトの現在の状態として
観察される最新の状態を表しま す。Reconcileは、Operator が デプロイされるコンポーネントの 実際の状態の調整を
ServiceMeshControlPlaneリ ソースの設定を使用して完了した かどうかを示します。installed は、コントロールプレーンがイン ストールされているかどうかを示 します。Readyは、すべてのコ ントロールプレーンコンポーネン トが準備状態にあるかどうかを示 します。
文字列
components デプロイされた各コントロールプ レーンコンポーネントのステータ スを表示します。
文字列
appliedSpec すべてのプロファイルが適用され
た後に生成される設定の仕様で す。
ControlPlaneSpec
appliedValues チャートの生成に使用される生成
される values.yaml です。
ControlPlaneSpec
chartVersion このリソースに対して最後に処理
されたチャートのバージョンで す。
文字列
observedGeneration 直近の調整時にコントローラーに
よって観察される生成です。ス テータスの情報は、オブジェクト の特定の生成に関連するもので す。status.conditionsは、
status.observedGeneration フィールドが
metadata.generationに一致し ない場合は最新の状態ではありま せん。
整数
operatorVersion このリソースを最後に処理した
Operator のバージョンです。
文字列
readiness コンポーネントおよび所有リソー
スの準備状態 ( readiness) のス テータス
文字列 名前
名前 説明説明 タイプタイプ