はじめに
VerrazzanoはOracleが提供する、コンテナ・ワークロードをデプロイ/運用/管理できるコンテナ・プラットフォームです。Kubernetes上で動作し、コンポーネントはデファクト・スタンダードなオープンソースで構成されていて、オンプレミスとクラウドの両方で動作します。
この記事ではまずVerrazzanoをインストールしてみようと思います。
前提
- Verrazzano v1.5
- OKE v1.24.1
※Verrazzanoは対応しているKubernetesのバージョンがあるので注意してください。例えばv1.5であれば1.21, 1.22, 1.23, 1.24となります。
準備
Verrazzanoのインストールには、
- CLIのインストール
- k8sクラスタのセットアップ
が必要です。k8sクラスタのスペックは、Verrazzanoにはprofile
という概念があり、そのprofileをどれにするかで変わります。profileは3つありそれぞれ、
-
dev
: 開発のための環境などに利用するprofile -
prod
: 本番利用を想定したprofile -
managed-cluster
: マルチ・クラスタ構成時に管理の対象となるクラスタで利用するprofile
今回はdev profile
を利用するのでPrerequisitesを参照すると、
dev profile - Each node in the cluster should contain at least two CPUs, 16 GB RAM, and 100 GB of disk storage. The entire cluster requires at least six CPUs, 48 GB RAM, and 100 GB of disk storage. In addition, about 52 GB of storage is required for the persistent volumes.
とあるので、これに合わせたk8sクラスタを準備します。
CLIのセットアップ
ドキュメントに合わせてセットアップします。
まずはダウンロードします。
$ curl -LO https://github.com/verrazzano/verrazzano/releases/download/v1.5.3/verrazzano-1.5.3-linux-amd64.tar.gz
バイナリを展開してコピーします。
$ tar xvf verrazzano-1.5.3-linux-amd64.tar.gz
$ sudo cp verrazzano-1.5.3/bin/vz /usr/local/bin
以下のコマンドで結果が返ってくればインストールは完了です。
$ vz version
Version: v1.5.3
BuildDate: 2023-05-05T19:16:13Z
GitCommit: ceff3b8e0d0f6fa9f5abd7c02f148fda8070a5f3
k8sクラスタのセットアップ
OCIコンソールを利用してOKEをプロビジョニングしました。
シェイプはVerrazzanoの最小要件にしています。(2 OCPU/16GB × 3台)
他にもkubectl
など実行用のインスタンスを立てましたがそれはここでは割愛します。
インストール
ドキュメントに従ってインストールを進めます。ただ、このCLIを利用するパターンでは、コマンドを1つ実行するだけのようです。
$ 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
あとは待ちます。10分強かかります。
以下のようなログが出ればインストールは成功です
2023-05-31T05:18:18.124Z info Successfully installed Verrazzano
確認
CLIを使うと簡単にVerrazzanoのステータスを確認できます。
$ vz status
Verrazzano Status
Name: example-verrazzano
Namespace: default
Profile: dev
Version: 1.5.3
State: Ready
Available Components: 23/23
Access Endpoints:
consoleUrl: https://verrazzano.default.***.***.***.***.nip.io
grafanaUrl: https://grafana.vmi.system.default.***.***.***.***.nip.io
keyCloakUrl: https://keycloak.default.***.***.***.***.nip.io
kialiUrl: https://kiali.vmi.system.default.***.***.***.***.nip.io
openSearchDashboardsUrl: https://osd.vmi.system.default.***.***.***.***.nip.io
openSearchUrl: https://opensearch.vmi.system.default.***.***.***.***.nip.io
prometheusUrl: https://prometheus.vmi.system.default.***.***.***.***.nip.io
rancherUrl: https://rancher.default.***.***.***.***.nip.io
kubectlでデフォルトのパスワードを取得できます。
$ kubectl get secret \
--namespace verrazzano-system verrazzano \
-o jsonpath={.data.password} | base64 \
--decode; echo
https://verrazzano.default.***.***.***.***.nip.io
にアクセスします。
以下のように入力するとログイン可能です。
- Username:
verrazzano
- Password:
先ほど取得したデフォルトパスワード
まとめ
今回はVerrazzanoのインストールをVerrazzano CLIを用いて行ってみました。以前はもう少し複雑な手順が必要だったのですが、バージョンアップによってCLIが追加され、非常に簡単に構築することができるようになりました。次回はアプリケーションを実際にデプロイしてみようと思います。
参考資料