クイック・スタート
前提条件
クイック・スタートは、Kubernetesクラスタがすでにインストールされていることを前提としています。VerrazzanoをインストールするためのKubernetesプラットフォームの準備の詳細は、プラットフォームの設定を参照してください。
- Verrazzanoの前提条件の要件は、ここを参照してください。
- Verrazzanoでサポートおよびインストールされるソフトウェア・バージョンのリストを確認します。
- インストール手順の詳細は、インストレーション・ガイドを参照してください。
Verrazzanoプラットフォーム・オペレータのインストール
Verrazzanoは、Verrazzanoインストールのライフサイクルを管理するためのKubernetesオペレータを提供します。オペレータは、クラスタで定義されたカスタム・リソースと連携します。Verrazzanoカスタム・リソースを更新することで、Verrazzanoインストールのインストール、アンインストールおよび更新を行うことができます。Verrazzanoプラットフォーム・オペレータ・コントローラは、カスタム・リソースからクラスタに構成を適用します。
ノート: クラスタを作成した直後の場合、ノードが準備完了ステータスになるまで待ってから、Verrazzanoをインストールする必要があります。
Verrazzanoプラットフォーム・オペレータをインストールするには:
-
Verrazzanoプラットフォーム・オペレータをデプロイします。
$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v1.2.2/operator.yaml
-
デプロイが完了するまで待ちます。
$ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator # Sample output deployment "verrazzano-platform-operator" successfully rolled out
-
オペレータ・ポッドが正しく定義され、実行中であることを確認します。
$ 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クラスタ
ノート
dev
プロファイルは自己署名証明書をインストールするため、VerrazzanoをmacOSにインストールすると、「接続はプライベートではありません」と表示されます。回避策は、このFAQを参照してください。
Verrazzanoをインストールするには:
-
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
-
インストールが完了するまで待ちます。
$ kubectl wait \ --timeout=20m \ --for=condition=InstallComplete \ verrazzano/example-verrazzano
-
(オプション)インストール・ログを表示します。次のコマンドでログを表示できます:
$ 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サンプル・アプリケーションをデプロイするには:
-
サンプル・アプリケーションのネームスペースを作成し、ネームスペースが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/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
-
アプリケーションの準備ができるまで待ちます。
$ 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-appconf-gw \ -n hello-helidon \ -o jsonpath='{.spec.servers[0].hosts[0]}')
-
デフォルトのメッセージを取得します。
$ curl -sk \ -X GET \ "https://${HOST}/greet" # Expected response {"message":"Hello World!"}
サンプル・アプリケーションのアンインストール
Hello World Helidonサンプル・アプリケーションをアンインストールするには:
-
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
-
サンプルのネームスペースを削除します。
$ 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カスタム・リソースを削除します。
$ kubectl delete verrazzano example-verrazzano
ノート
このコマンドは、アンインストールが完了するまでブロックします。進行状況を確認するには、アンインストール・ログを表示します。 -
(オプション)アンインストール・ログを表示します。
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サンプル・アプリケーションを参照してください。