Oracle Verrazzanoを知っていますか? Verrazzano(ヴェラッツァーノ)は、マルチKubernetes環境のライフサイクルを総合的に管理できるコンテナ・プラットフォームです。
マニュアルなどに書かれている説明なのですが、わかりづらいですね。もう少しわかりやすく説明しましょう。
コンテナ化されたアプリケーションや従来のアプリケーションがあるとします。これらはパブリッククラウドで実行されていたり、またオンプレミスで実行されていたりします。このような環境において、従来型アプリケーションのコンテナ化を促進すると共に、クラウドやオンプレミスなど複数環境のKubernetesを統合的に管理・展開するプラットフォームです。
今回は、このOracle Verrazzanoを簡単に紹介すると共にインストール方法を説明します。
余談ですが、Verrazzanoを検索すると競走馬などが上位に表示されます。しかし、16世紀のイタリア・フィレンツェの海洋探検家ジョバンニ・ダ・ヴェラッツァーノ(Giovanni da Verrazzano)が語源だと思われます。
Oracle Verrazzanoとは
Verrazzanoの概要は、弊社のOracle Verrazzano紹介ページやOracle社がSpeaker Deckで公開している以下の資料をご覧ください。ここでは簡単に説明します。
- Verrazzano Enterprise Container Platform Overview
- Verrazzanoで実現するKubernetesマルチクラスタ運用とコンテナアプリケーションのライフサイクル管理
Oracle Verrazzanoの正式名称はVerrazzano Enterprise Container Platformといい、オープンソースとして提供されています。2021年8月にv1.0がリリースされ、2023年8月の最新はv1.6です。無償で利用できますが、Oracle Verrazzano Premierという有償の商用サポートも提供しています。
次の図はOracle Verrazzanoの概要図です。この図からもわかるように、多くのオープンソースを組み合わせ、インフラ運用管理やモニタリング機能、セキュリティ機能(SSO/アクセス管理)を実現しています。
Verrazzanoは、公式ドキュメントでは次のように説明されています。
Verrazzano is an end-to-end enterprise container platform for deploying cloud native and traditional applications in multicloud environments. It is made up of a curated set of open source components – many that you may already use and trust, and some that were written specifically to pull together all of the pieces that make Verrazzano a cohesive and easy to use platform.
意訳すると「Verrazzanoは、クラウドネイティブ・アプリケーションや従来のアプリケーションをマルチクラウド(プライベートクラウドを含む)に展開するためのコンテナプラットフォームです。実績のあるオープンソースコンポーネントを最適化してまとめることで使いやすくなっています」と言ったところでしょうか。類似する商用プラットフォームとしては、Red Hat OpenShiftやVMware Tanzuがあります。
ここまで説明してもVerrazzanoはわかりづらいと思いますが、「何がおいしいの」という視点でメリットをまとめると次のようになります。
- オンプレミスを含む複数のKubernetesクラスタを単一のインターフェースで管理できる
- セキュリティやモニタリングなどKubernetesで不足している機能は、実績のあるオープンソースのコンポーネントを組み合わせることで補完している。つまり、Linuxディストリビューション的な役割を担うことで利用者の利便性を向上している
- 従来のアプリケーションをクラウドネイティブのモダンなアプリケーションに変換するには手間が掛かるが、より短時間で移行できる。とくにOracle社が開発するWebLogicやCoherence、Helidon(※)などは、より使いやすい機能を提供している
※ Heridonは、Oracleが開発している、MicroProfile準拠のマイクロサービス開発に適したJavaアプリケーションフレームワーク。
Verrazzanoのインストール手順
次の図はVerrazzanoのインストール手順を表したものです。ポイントになるのは「Kubernetes環境のセットアップ」と「Verrazzanoのインストール」です。
使用するKubernetes環境によって、構築にかかる工数や用意するハードウェウェアリソースは大きく異なります。また、Verrazzanoのインストールは主体となる作業で、Kubernetesのコンテナ環境にVerrazzanoをセットアップします。以上が終われば、コンテナアプリケーションをデプロイできるようになります。
公式マニュアルの手順に注意
公式マニュアルのクイック・スタートでは、Kubernetesクラスタが構築されていることを前提としています。そのためKubernetesクラスタの構築方法を省略し、Verrazzanoのインストール方法として次の手順を紹介しています。
- Verrazzano CLIのインストール
- KubernetesクラスタのカスタムリソースとしてVerrazzanoを作成
- コンテナアプリケーションをKubernetesへデプロイ
しかし、Kubernetesクラスタが無いときには事前に構築する必要があります。
Kubernetesクラスタの選択肢
Kubernetesクラスタを構築する選択肢として、Verrazzanoのマニュアルでは次の4種類を紹介しています。
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)
- Oracle Cloud Native Environment
- ジェネリックKubernetes
- kind
このなかで、もっとも簡単なのがOracle Cloud InfrastructureのOKEを使用する方法です。各種ドキュメントでも構築手順が紹介されています。
Oracle Cloud Native Environmentは、オンプレミスでKubernetesを主体としたコンテナ環境を実現するオープン・ソフトウェアスイートです。つまり、オンプレミスサーバーでマネージドKubernetesサービスのような多機能を実現するソフトウェアセットです。Oracleが提供するKubernetesディストリビューションと言ってもいいでしょう。
ジェネリックKubernetesは、いわゆる素のKubernetesです。
kindは、Dockerコンテナをワーカーノードとして使用し、ローカル環境でKubernetesクラスタを構成するツールです。Minikubeのようなシングルノードではできないマルチノードクラスタを構築できます。
そこで今回はオンプレミスだけで実現でき、比較的簡単なkindを利用してKubernetesクラスタを構築します。
Oracle Cloud Native EnvironmentとVerrazzanoで構成したときのアーキテクチャ図
インストールの前提条件
使用目的や利用環境に応じて、前提条件を確認します。
インストールプロファイルの決定
Verrazzanoでは、使用する構成に応じて3種類のインストールプロファイルを提供しています。またシステム要件には、それぞれで必要なハードウェア要件が書かれています。利用目的に応じて、必要なリソースを満たしているか確認します。
- prod:本番環境向けフルインストール構成
- dev:開発や評価用の構成
- managed-cluster:マルチクラスタ環境における管理対象クラスタ用のインストール。下図において、Managed Clusterにインストールするときに使用します
VerrazzanoとKubernetesバージョンの決定
Verrazzanoのバージョンごとに、サポートしているKubernetesバージョンは異なります。そのためSupported software versionsで、VerrazzanoがサポートするKubernetesのバージョンを確認します。v1.5と v1.6のサポート状況は以下の表のとおりです。
Verrazzano | Kubernetes Versions |
---|---|
1.6 | 1.24, 1.25, 1.26 |
1.5 | 1.21, 1.22, 1.23, 1.24 |
なお、Kubernetes経験者のかたはわかると思いますが、Kubernetes関連のソフトウェアは短期間に更新されます。その時点の最新情報を確認するようにしてください。また、Kubernetesの知識が十分にあり、マニュアル通りに動作しなくても自己解決できるならば、それぞれサポートされている範囲で最新をお勧めします。
Verrazzanoのマニュアルでは、kindでKubernetesバージョン1.21を使用しています。今回はテスト目的なので、マニュアルと同じVerrazzano 1.5とKubernetes 1.21を使用します。
おわりに
今回は実際のインストールに進めなかったので次回にインストール方法を説明します。
Verrazzanoのマニュアル
Verrazzanoのマニュアルは、英語版だけでなく日本語版もあります。2023年8月時点では英語版はv1.6まで、日本語版はv1.5までが公開されています。利用するVerrazzanoのバーションに合わせて適切なものを選択してください。