クイック・スタート

Verrazzanoを開始するための手順

前提条件

クイック・スタートは、Kubernetesクラスタがすでにインストールされていることを前提としています。VerrazzanoをインストールするためのKubernetesプラットフォームの準備の詳細は、プラットフォームの設定を参照してください。

ノート: クラスタを作成した直後の場合、ノードがReadyステータスになるまで待ってから、Verrazzanoをインストールする必要があります。

Verrazzanoのインストール

Verrazzanoは、Verrazzanoインストールのライフサイクルを管理するためのKubernetesオペレータを提供します。オペレータは、クラスタで定義されたカスタム・リソースと連携します。Verrazzanoカスタム・リソースを更新することで、Verrazzanoインストールのインストール、アンインストールおよび更新を行うことができます。Verrazzanoプラットフォーム・オペレータ・コントローラは、カスタム・リソースからクラスタに構成を適用します。

Verrazzanoをインストールするには、KubernetesクラスタにVerrazzanoカスタム・リソースを作成します。現在、Verrazzanoでは、デフォルトの本番(prod)プロファイルおよび評価に適した開発(dev)プロファイルがサポートされています。

開発プロファイルには次の特性があります:

  • ワイルドカード(nip.io)DNS
  • 自己署名証明書
  • システム・コンポーネントとすべてのアプリケーションで使用される共有可観測性スタック
  • 可観測性スタック用のエフェメラル・ストレージ(ポッドが再起動されると、すべてのログおよびメトリックが失われます)
  • 単一ノード、低メモリーのOpenSearchクラスタ

Verrazzano CLIを使用したVerrazzanoのインストール

Verrazzano CLIのインストールについては、「CLI設定」を参照してください。

  1. devプロファイルを使用してVerrazzanoをインストールします。

    $ vz install -f - <<EOF
    apiVersion: install.verrazzano.io/v1beta1
    kind: Verrazzano
    metadata:
      name: example-verrazzano
    spec:
      profile: dev
      defaultVolumeSource:
        persistentVolumeClaim:
          claimName: verrazzano-storage
      volumeClaimSpecTemplates:
        - metadata:
            name: verrazzano-storage
          spec:
            resources:
              requests:
                storage: 2Gi
    EOF
    
  2. インストールが完了するまで待ちます。インストールが完了するか、デフォルトのタイムアウト(30分)に達するまで、インストール・ログがコマンド・ウィンドウにストリーミングされます。

ノート: 一部のアプリケーションでは、Kialiコンソールに、複数のIngressTraitにわたってホスト名/ポート構成をレプリケートするオブジェクトに対する警告が表示される場合があります。これらの警告は機能に影響せず、次のコンポーネント・オーバーライドを使用して抑制できます。

サンプル・アプリケーションのデプロイ

Hello World Helidonサンプル・アプリケーションは、Helidonで記述された単純なHello World RESTサービスを提供します。このアプリケーションの詳細およびコードについては、Verrazzanoの例を参照してください。

Hello World Helidonサンプル・アプリケーションをデプロイするには:

  1. サンプル・アプリケーションのネームスペースを作成し、ネームスペースがVerrazzanoによって管理され、Istioが有効化されることを示すラベルを追加します。

    $ kubectl create namespace hello-helidon
    $ kubectl label namespace hello-helidon verrazzano-managed=true istio-injection=enabled
    
  2. hello-helidonリソースを適用してアプリケーションをデプロイします。

    $ kubectl apply -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.4.8/examples/hello-helidon/hello-helidon-comp.yaml -n hello-helidon
    $ kubectl apply -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.4.8/examples/hello-helidon/hello-helidon-app.yaml -n hello-helidon
    
  3. アプリケーションの準備ができるまで待ちます。

    $ kubectl wait \
        --for=condition=Ready pods \
        --all -n hello-helidon \
        --timeout=300s
    
    # Sample output
    pod/hello-helidon-deployment-78468f5f9c-czmp4 condition met
    

    これにより、サンプルのVerrazzano OAMコンポーネント・アプリケーション・リソースが作成され、hello-helidonネームスペースのポッドの準備ができるまで待機します。

  4. アプリケーションのRESTサービス・エンドポイントを公開するロード・バランサのホスト名を保存します。

    $ HOST=$(kubectl get gateways.networking.istio.io hello-helidon-hello-helidon-gw \
        -n hello-helidon \
        -o jsonpath='{.spec.servers[0].hosts[0]}')
    
  5. デフォルトのメッセージを取得します。

    $ curl -sk \
        -X GET \
        "https://${HOST}/greet"
    
    # Expected response
    {"message":"Hello World!"}
    

サンプル・アプリケーションのアンインストール

  1. Verrazzanoアプリケーション・リソースを削除します。

    $ kubectl delete -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.4.8/examples/hello-helidon/hello-helidon-comp.yaml
    $ kubectl delete -f https://raw.githubusercontent.com/verrazzano/verrazzano/v1.4.8/examples/hello-helidon/hello-helidon-app.yaml
    
  2. サンプルのネームスペースを削除します。

    $ kubectl delete namespace hello-helidon
    
    # Expected response
    namespace "hello-helidon" deleted
    
  3. hello-helidonネームスペースが削除されていることを確認します。

    $ kubectl get ns hello-helidon
    
    # Expected response
    Error from server (NotFound): namespaces "hello-helidon" not found
    

Verrazzanoのアンインストール

  1. Verrazzanoカスタム・リソースを削除します。これで、Verrazzanoプラットフォーム・オペレータと現在インストールされているすべてのコンポーネントがアンインストールされます。

    $ vz uninstall
    
  2. アンインストールが完了するまで待ちます。アンインストールが完了するか、デフォルトのタイムアウト(20分)に達するまで、Verrazzanoプラットフォーム・オペレータのアンインストール・ログがコマンド・ウィンドウにストリーミングされます。

次のステップ

Verrazzanoサンプル・アプリケーションを参照してください。