MultiClusterComponentカスタム・リソース定義

MultiClusterComponentカスタム・リソースは、マルチクラスタ環境でのcore.oam.dev/v1alpha2/Componentリソースの分散に使用されるエンベロープです。

ノート: Verrazzano v1.1.0以降では、MultiClusterComponentカスタム・リソースを使用しないことをお薦めします。かわりに、アプリケーション内でcore.oam.dev/v1alpha2/Componentリソースを直接使用してください。core.oam.dev/v1alpha2/Componentリソースを直接使用するサンプル・アプリケーションのマルチクラスタToDo Listを参照してください。

managed1という名前のクラスタに作成するOAMコンポーネント・リソースを指定するサンプルMultiClusterComponentを次に示します。

apiVersion: clusters.verrazzano.io/v1alpha1
kind: MultiClusterComponent
metadata:
  name: hello-helidon-component
  namespace: hello-helidon
spec:
  template:
    spec:
      workload:
        apiVersion: oam.verrazzano.io/v1alpha1
        kind: VerrazzanoHelidonWorkload
        metadata:
          name: hello-helidon-workload
          namespace: hello-helidon
          labels:
            app: hello-helidon
        spec:
          deploymentTemplate:
            metadata:
              name: hello-helidon-deployment
            podSpec:
              containers:
                - name: hello-helidon-container
                  image: "ghcr.io/verrazzano/example-helidon-greet-app-v1:0.1.12-1-20210409130027-707ecc4"
                  ports:
                    - containerPort: 8080
                      name: http
  placement:
    clusters:
      - name: managed1

MultiClusterComponent

MultiClusterComponentは、placementセクションで指定されたクラスタにcore.oam.dev/v1alpha2/Componentリソースを作成するためのエンベロープです。

フィールド 説明 必須
apiVersion 文字列 clusters.verrazzano.io/v1alpha1 はい
kind 文字列 MultiClusterComponent はい
metadata ObjectMeta メタデータのフィールドについては、Kubernetes APIのドキュメントを参照してください。 はい
spec MultiClusterComponentSpec core.oam.dev/v1alpha2/Componentリソースの希望の状態。 はい
status MultiClusterResourceStatus マルチクラスタ・リソースの実行時ステータス。 いいえ

MultiClusterComponentSpec

MultiClusterComponentSpecは、core.oam.dev/v1alpha2/Componentリソースの希望の状態を指定します。

フィールド 説明 必須
template ComponentTemplate 埋込みcore.oam.dev/v1alpha2/Componentリソース。 はい
placement Placement リソースを配置するクラスタ。 はい

ComponentTemplate

ComponentTemplateには、core.oam.dev/v1alpha2/Componentリソースのメタデータと仕様があります。

フィールド 説明 必須
metadata ObjectMeta メタデータのフィールドについては、Kubernetes APIのドキュメントを参照してください。 いいえ
spec ComponentSpec core_types.goで定義されているstruct ComponentSpecのインスタンス。 いいえ