Verrazzanoインストールの変更

このドキュメントでは、Verrazzanoを変更してインストールをカスタマイズする方法を示します。

Verrazzanoリソース

Verrazzanoリソースは、クラスタ内のVerrazzanoのインストールを制御します。このカスタム・リソースのライフ・サイクルは、Verrazzanoのライフ・サイクルを制御します。このリソースの仕様を変更することで、Verrazzanoにカスタマイズを適用できます。次に、追加構成のないVerrazzanoリソースの例を示します。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: dev

Verrazzanoリソースの編集

次の各項では、Verrazzanoリソースを変更する方法について説明します。

インストール前

Verrazzanoをインストールする前に、インストール時に指定できるVerrazzanoリソース・マニフェスト・ファイルを定義できます。デフォルトで無効になっている2つのVerrazzanoコンポーネントargoCDおよびveleroを有効にするVerrazzanoマニフェスト・ファイルの例を次に示します。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: dev
  components:
    argoCD:
      enabled: true
    velero:
      enabled: true

このマニフェスト・ファイルを保存し、インストール時にVerrazzano CLIに提供できます。

$ vz install -f verrazzano.yaml

インストール手順の詳細は、インストール・ガイドを参照してください。

インストール後

また、Verrazzanoリソースをインストールに変更することもできます。Verrazzanoリソースに対する更新がクラスタに反映されます。Verrazzanoリソースの名前をクラスタで編集できるようにする必要があります。Verrazzanoでは、クラスタごとに1つのカスタム・リソースのみが存在できます。

$ kubectl get vz -A
# Sample output
NAMESPACE   NAME                 AVAILABLE   STATUS            VERSION
default     example-verrazzano   24/24       InstallComplete   1.5.0

Verrazzanoリソースの名前があれば、そのマニフェスト・ファイルを編集できます。kubectl editコマンドを使用すると、クラスタ上のAPIリソースを直接編集できます。kubectl editの詳細は、kubectl editのドキュメントを参照してください。

次の例では、前の出力例にあるVerrazzanoリソースを編集します。

$ kubectl edit vz example-verrazzano

カスタマイズのオプション

Verrazzanoには様々なカスタマイズ・オプションが用意されています。

次の項では、Verrazzano APIを使用して使用可能なカスタマイズ・オプションの全般的な概要を示します。

コンポーネントの機能

各コンポーネントには、enabledおよびoverridesの2つのメイン・フィールドがあります。

  • enabledフィールドを使用すると、Verrazzanoインストールでコンポーネントを選択的にインストールできます。
  • overridesフィールドを使用すると、そのコンポーネントの基礎となるHelmチャートにカスタム値のオーバーライドを指定できます。

これらのフィールドの形式は次のとおりです。

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: dev
  components:
    argoCD:
      enabled: true
      overrides:
      - values:
          global:
            podLabels:
              example: label