Verrazzanoワークロードについて
Componentには埋込みワークロードが含まれます。VerrazzanoおよびOAM仕様には、VerrazzanoWebLogicWorkloadやContainerizedWorkloadなどの複数のワークロードが用意されています。ワークロードは、任意のKubernetesリソースにすることもできます。
次の例は、Component内に埋め込まれたVerrazzanoHelidonWorkloadワークロードを示しています。
apiVersion: core.oam.dev/v1alpha2
kind: Component
...
spec:
workload:
apiVersion: oam.verrazzano.io/v1alpha1
kind: VerrazzanoHelidonWorkload
spec:
deploymentTemplate:
podSpec:
containers:
- name: example-container
image: ...
...
オプションで、ワークロードにWorkloadDefinitionを関連付けることができます。これにより、ワークロードのスキーマに関する情報をプラットフォームに提供します。WorkloadDefintionは、通常、エンド・ユーザーではなくプラットフォームによって提供されます。
スコープ
Scopeは、Componentワークロードをカスタマイズし、デプロイメント中に関連リソースを生成します。ApplicationConfigurationには、Scopeのコンテンツが埋め込まれているかわりにScope参照が含まれます。プラットフォームでは、適用された各Componentへの参照を使用してScopeが更新されます。この更新によって関連オペレータがトリガーされ、Scopeが処理されます。
次の例は、example-health-scope
という名前のHealthScopeへの参照を示しています。
apiVersion: core.oam.dev/v1alpha2
kind: ApplicationConfiguration
...
spec:
components:
- componentName: example-component
scopes:
- scopeRef:
apiVersion: core.oam.dev/v1alpha2
kind: HealthScope
name: example-health-scope
...
次の例は、参照されているHealthScopeの構成の詳細を示しています。
apiVersion: core.oam.dev/v1alpha2
kind: HealthScope
metadata:
name: example-health-scope
spec:
probe-method: GET
probe-endpoint: /health
各Scopeタイプには、オプションでScopeDefinitionを関連付けることができます。これにより、Scopeの処理に関する追加情報がプラットフォームに提供されます:
- Scopeのスキーマ
- Scopeを適用できるワークロード・タイプ
- 関連するComponent参照を記録するために使用されるScope内のフィールド
ScopeDefintionは、通常、エンド・ユーザーではなくプラットフォームによって提供されます。
Verrazzanoプラットフォームには、複数のワークロード定義と実装が用意されています:
- VerrazzanoWebLogicWorkloadは、WebLogicワークロードに使用されます。「WebLogicワークロード」を参照してください。
- VerrazzanoCoherenceWorkloadはCoherenceワークロードに使用されます。「Coherenceワークロード」を参照してください。
- VerrazzanoHelidonWorkloadはHelidonワークロードに使用されます。「Helidonワークロード」を参照してください。
OAM ContainerizedWorkload
ContainerizedWorkloadは、前述のワークロード・タイプによってカバーされない長時間実行コンテナ・ワークロードに使用する必要があります。このワークロード・タイプは、Deploymentワークロードに似ています。OAMをKubernetes以外のデプロイメント環境で使用できるようにするために提供されています。OAM仕様を参照してください。