Workload Group

WorkloadGroup は、ワークロードインスタンスのコレクションを記述します。これは、メタデータやIDなど、ワークロードインスタンスがプロキシをブートストラップするために使用できる仕様を提供します。これは、仮想マシンなどの非k8sワークロードでの使用のみを目的としており、Kubernetesワークロードに使用される既存のサイドカーインジェクションおよびデプロイメント仕様モデルを模倣してIstioプロキシをブートストラップすることを目的としています。

次の例では、名前空間 bookinforeviews に登録されるワークロードのコレクションを表すワークロードグループを宣言します。ラベルのセットは、ブートストラッププロセス中に各ワークロードインスタンスに関連付けられ、ポート 3550 および 8080 はワークロードグループに関連付けられ、サービスアカウント default を使用します。app.kubernetes.io/version は、ラベルの任意の例にすぎません。

apiVersion: networking.istio.io/v1
kind: WorkloadGroup
metadata:
  name: reviews
  namespace: bookinfo
spec:
  metadata:
    labels:
      app.kubernetes.io/name: reviews
      app.kubernetes.io/version: "1.3.4"
  template:
    ports:
      grpc: 3550
      http: 8080
    serviceAccount: default
  probe:
    initialDelaySeconds: 5
    timeoutSeconds: 3
    periodSeconds: 4
    successThreshold: 3
    failureThreshold: 3
    httpGet:
     path: /foo/bar
     host: 127.0.0.1
     port: 3100
     scheme: HTTPS
     httpHeaders:
     - name: Lit-Header
       value: Im-The-Best

ワークロードグループ

WorkloadGroup は、ブートストラップのための単一ワークロードのプロパティの指定を可能にし、DeploymentPod テンプレートを介してワークロードのプロパティを指定する方法と同様に、WorkloadEntry のテンプレートを提供します。WorkloadGroup は複数の WorkloadEntry を持つことができます。WorkloadGroupServiceEntry のようなサービスレジストリを制御するリソースとは関係がなく、これらのワークロードのホスト名を構成しません。

フィールドタイプ説明必須
メタデータObjectMeta

対応するすべての WorkloadEntry に使用されるメタデータ。ワークロードグループのユーザーラベルは、template ではなく、ここ metadata に設定する必要があります。

いいえ
テンプレートWorkloadEntry

このWorkloadGroupに属するWorkloadEntryリソースの生成に使用されるテンプレートです。テンプレートにはaddressフィールドとlabelsフィールドを設定しないでください。また、空のserviceAccountはデフォルトでdefaultになります。ワークロードのID(mTLS証明書)は、指定されたサービスアカウントのトークンを使用してブートストラップされます。このグループのワークロードエントリは、ワークロードグループと同じ名前空間に存在し、上記のmetadataフィールドからラベルとアノテーションを継承します。

はい
probeReadinessProbe

ReadinessProbeは、ユーザーがワークロードのヘルスチェックのために提供する必要がある構成を記述します。この構成は、ほとんどの場合、構文とロジックの両方でK8Sをミラーリングします。

いいえ

ReadinessProbe

フィールドタイプ説明必須
initialDelaySecondsint32

コンテナが起動してからreadiness probeが開始されるまでの秒数。

いいえ
timeoutSecondsint32

プローブがタイムアウトするまでの秒数。デフォルトは1秒です。最小値は1秒です。

いいえ
periodSecondsint32

プローブを実行する頻度(秒単位)。デフォルトは10秒です。最小値は1秒です。

いいえ
successThresholdint32

プローブが失敗後に成功したと見なされるための最小連続成功回数。デフォルトは1秒です。

いいえ
failureThresholdint32

プローブが成功後に失敗したと見なされるための最小連続失敗回数。デフォルトは3秒です。

いいえ
httpGetHTTPHealthCheckConfig (oneof)

httpGetは、指定されたエンドポイントに対して実行され、ステータス/接続できるかどうかによってヘルスが判断されます。

いいえ
tcpSocketTCPHealthCheckConfig (oneof)

プロキシが接続できるかどうかによってヘルスが判断されます。

いいえ
execExecHealthCheckConfig (oneof)

実行されたコマンドの終了コードによってヘルスが判断されます。

いいえ

HTTPHealthCheckConfig

フィールドタイプ説明必須
pathstring

HTTPサーバーにアクセスするパス。

いいえ
portuint32

エンドポイントが存在するポート。

はい
hoststring

接続するホスト名。デフォルトはポッドIPです。代わりにhttpHeadersで「Host」を設定することをお勧めします。

いいえ
schemestring

HTTPまたはHTTPS。デフォルトはHTTPです

いいえ
httpHeadersHTTPHeader[]

プロキシがリクエストを行う際に渡すヘッダー。ヘッダーの繰り返しを許可します。

いいえ

HTTPHeader

フィールドタイプ説明必須
namestring

ヘッダーフィールド名

いいえ
valuestring

ヘッダーフィールド値

いいえ

TCPHealthCheckConfig

フィールドタイプ説明必須
hoststring

接続するホスト。デフォルトはlocalhostです。

いいえ
portuint32

ホストのポート

はい

ExecHealthCheckConfig

フィールドタイプ説明必須
commandstring[]

実行するコマンド。終了ステータスが0の場合は正常/稼働中とみなされ、0以外の場合は異常とみなされます。

いいえ

WorkloadGroup.ObjectMeta

ObjectMetaは、WorkloadEntryに付与されるメタデータを記述します。これは、サポートされているKubernetesメタデータのサブセットです。

フィールドタイプ説明必須
labelsmap<string, string>

付与するラベル

いいえ
annotationsmap<string, string>

付与するアノテーション

いいえ
この情報は役に立ちましたか?
改善のためのご提案はありますか?

フィードバックありがとうございます!