クイック・スタート

Verrazzanoを開始するための手順

前提条件

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

Verrazzanoプラットフォーム・オペレータのインストール

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

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

Verrazzanoプラットフォーム・オペレータをインストールするには:

  1. Verrazzanoプラットフォーム・オペレータをデプロイします。

    $ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v1.2.2/operator.yaml
    
  2. デプロイが完了するまで待ちます。

    $ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator
    
    # Sample output
    deployment "verrazzano-platform-operator" successfully rolled out
    
  3. オペレータ・ポッドが正しく定義され、実行中であることを確認します。

    $ kubectl -n verrazzano-install get pods
    
    # Sample output
    NAME                                            READY   STATUS    RESTARTS   AGE
    verrazzano-platform-operator-59d5c585fd-lwhsx   1/1     Running   0          114s
    

Verrazzanoのインストール

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

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

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

Verrazzanoをインストールするには:

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

    $ kubectl apply -f - <<EOF
    apiVersion: install.verrazzano.io/v1alpha1
    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. インストールが完了するまで待ちます。

    $ kubectl wait \
        --timeout=20m \
        --for=condition=InstallComplete \
        verrazzano/example-verrazzano
    
  3. (オプション)インストール・ログを表示します。次のコマンドでログを表示できます:

    $ kubectl logs -n verrazzano-install \
        -f $(kubectl get pod \
        -n verrazzano-install \
        -l app=verrazzano-platform-operator \
        -o jsonpath="{.items[0].metadata.name}") | grep '^{.*}$' \
        | jq -r '."@timestamp" as $timestamp | "\($timestamp) \(.level) \(.message)"'
    

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

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/master/examples/hello-helidon/hello-helidon-comp.yaml -n hello-helidon
    $ kubectl apply -f https://raw.githubusercontent.com/verrazzano/verrazzano/master/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-appconf-gw \
        -n hello-helidon \
        -o jsonpath='{.spec.servers[0].hosts[0]}')
    
  5. デフォルトのメッセージを取得します。

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

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

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

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

    $ kubectl delete -f https://raw.githubusercontent.com/verrazzano/verrazzano/master/examples/hello-helidon/hello-helidon-comp.yaml
    $ kubectl delete -f https://raw.githubusercontent.com/verrazzano/verrazzano/master/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のアンインストール

Verrazzanoをアンインストールするには:

  1. Verrazzanoカスタム・リソースを削除します。

    $ kubectl delete verrazzano example-verrazzano
    
  2. (オプション)アンインストール・ログを表示します。

    Verrazzanoオペレータは、Kubernetesのジョブを起動してVerrazzanoインストールを削除します。次のコマンドを使用して、そのジョブからアンインストール・ログを表示できます:

    $ kubectl logs -n verrazzano-install -f \
        $( \
          kubectl get pod \
              -n verrazzano-install \
              -l job-name=verrazzano-uninstall-example-verrazzano \
              -o jsonpath="{.items[0].metadata.name}" \
        )
    

次のステップ

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