クイック・スタート
前提条件
クイック・スタートは、Kubernetesクラスタがすでにインストールされていることを前提としています。VerrazzanoをインストールするためのKubernetesプラットフォームの準備の詳細は、プラットフォームの設定を参照してください。
- Verrazzanoの前提条件の要件は、ここを参照してください。
- Verrazzano CLIをインストールします。
- Verrazzanoでサポートおよびインストールされるソフトウェア・バージョンのリストを確認します。
- Verrazzanoのインストール手順の詳細は、インストレーション・ガイドを参照してください。
ノート: クラスタを作成した直後の場合、ノードがReady
ステータスになるまで待ってから、Verrazzanoをインストールする必要があります。
Verrazzanoのインストール
Verrazzanoは、Verrazzanoインストールのライフサイクルを管理するためのKubernetesオペレータを提供します。オペレータは、クラスタで定義されたカスタム・リソースと連携します。Verrazzanoカスタム・リソースを更新することで、Verrazzanoインストールのインストール、アンインストールおよび更新を行うことができます。Verrazzanoプラットフォーム・オペレータ・コントローラは、カスタム・リソースからクラスタに構成を適用します。
Verrazzanoをインストールするには、KubernetesクラスタにVerrazzanoカスタム・リソースを作成します。現在、Verrazzanoでは、デフォルトの本番(prod
)プロファイルおよび評価に適した開発(dev
)プロファイルがサポートされています。
開発プロファイルには次の特性があります:
- ワイルドカード(nip.io)DNS
- 自己署名証明書
- システム・コンポーネントとすべてのアプリケーションで使用される共有可観測性スタック
- 可観測性スタック用のエフェメラル・ストレージ(ポッドが再起動されると、すべてのログおよびメトリックが失われます)
- 単一ノード、低メモリーのOpenSearchクラスタ
ノート
dev
プロファイルは自己署名証明書をインストールするため、VerrazzanoをmacOSにインストールすると、「接続はプライベートではありません」と表示されます。回避策は、このFAQを参照してください。
Verrazzano CLIを使用したVerrazzanoのインストール
Verrazzano CLIのインストールについては、「CLI設定」を参照してください。
-
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
-
インストールが完了するまで待ちます。インストールが完了するか、デフォルトのタイムアウト(30分)に達するまで、インストール・ログがコマンド・ウィンドウにストリーミングされます。
ノート: 一部のアプリケーションでは、Kialiコンソールに、複数のIngressTraitにわたってホスト名/ポート構成をレプリケートするオブジェクトに対する警告が表示される場合があります。これらの警告は機能に影響せず、次のコンポーネント・オーバーライドを使用して抑制できます。
サンプル・アプリケーションのデプロイ
Hello World Helidonサンプル・アプリケーションは、Helidonで記述された単純なHello World RESTサービスを提供します。このアプリケーションの詳細およびコードについては、Verrazzanoの例を参照してください。
Hello World Helidonサンプル・アプリケーションをデプロイするには:
-
サンプル・アプリケーションのネームスペースを作成し、ネームスペースがVerrazzanoによって管理され、Istioが有効化されることを示すラベルを追加します。
$ kubectl create namespace hello-helidon $ kubectl label namespace hello-helidon verrazzano-managed=true istio-injection=enabled
-
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
-
アプリケーションの準備ができるまで待ちます。
$ 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
ネームスペースのポッドの準備ができるまで待機します。 -
アプリケーションのRESTサービス・エンドポイントを公開するロード・バランサのホスト名を保存します。
$ HOST=$(kubectl get gateways.networking.istio.io hello-helidon-hello-helidon-gw \ -n hello-helidon \ -o jsonpath='{.spec.servers[0].hosts[0]}')
-
デフォルトのメッセージを取得します。
$ curl -sk \ -X GET \ "https://${HOST}/greet" # Expected response {"message":"Hello World!"}
サンプル・アプリケーションのアンインストール
-
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
-
サンプルのネームスペースを削除します。
$ kubectl delete namespace hello-helidon # Expected response namespace "hello-helidon" deleted
-
hello-helidon
ネームスペースが削除されていることを確認します。$ kubectl get ns hello-helidon # Expected response Error from server (NotFound): namespaces "hello-helidon" not found
Verrazzanoのアンインストール
-
Verrazzanoカスタム・リソースを削除します。これで、Verrazzanoプラットフォーム・オペレータと現在インストールされているすべてのコンポーネントがアンインストールされます。
$ vz uninstall
-
アンインストールが完了するまで待ちます。アンインストールが完了するか、デフォルトのタイムアウト(20分)に達するまで、Verrazzanoプラットフォーム・オペレータのアンインストール・ログがコマンド・ウィンドウにストリーミングされます。
次のステップ
Verrazzanoサンプル・アプリケーションを参照してください。