この記事はOpenshiftアドベントカレンダーの16日目の記事です。恵比寿方面からのやんわりとした圧を感じてうっかりエントリーした@jyoshiseです。今年の7月からNutanixで働いているGAFA社長です。
仮想マシンとクラウドネイティブ
好きだぜKubeVirt
令和も5年が終わりつつあり人類はコロナ禍から立ち直ろうとしていますが、クラウドネイティブ=コンテナ、みたいな認識が根強く残っている今日この頃です。皆様におかれましてはいかがお過ごしでしょうか。
常々思うのですが、クラウドネイティブってべつにコンテナ関係ないですよね。クラウドネイティブを実現しようとしたらコンテナが便利だから使うだけで。
また、Kubernetesっていうのも、コンテナオーケストレーションと呼ばれたりもしますけど、本質的にはリソースオーケストレーションであり、究極的にはあらゆるリソースをAPIオブジェクトとしてコントロールしてやるぜ、というものだと思っています。
というわけで、仮想マシンもKubernetesのリソースになってしまえ。というのがKubeVirtであり、それを利用したものがOpenShift Virtualizationです。(赤帽エンジニアブログの関連記事)
私は、「おれとおれの猫以外世界の全てはKubernetesリソースになってしまえ、おれがkubectlしてやるぜ」という思想の持ち主なので(うそです)、KubeVirtは大好きで、OpenShift Virtualizationも応援しています。
とはいえ全人類がKube APIを喋れるようになる日は遠い
とうぶん人類には仮想マシンが必要なのですが、寝言でKube APIを喋るような人間はまだまだ少数派です。世界のコンピュート、とくにエンタープライズワークロードの大部分は、従来型の仮想マシンの管理(ハイパーバイザーのクラスタとそれを管理するインターフェイス)の下に稼働しています。EC2とか。vSphereとか。その運用は、多くの場合「手続き的な運用」と言っていいと思います。
なんだかんだ、すべての運用をクラウドネイティブというかKubernetes Nativeにするのはハードルが高いわけです。なので、クラウドネイティブな運用(必ずしもコンテナというわけではありません)と、従来型の、手続き的な運用(必ずしも非コンテナというわけではありません)が並立する必要があるわけです。少なくともまだ当分の間は。
いうてもベアメタルにKubernetesをデプロイするのはめんどくさい
めんどくさいですよね。めんどくさいですよ。
というわけで現実世界では
下回りとして仮想マシン基盤があって、OpenShift Container Platformを含むKubernetesディストリビューションはその上にデプロイされているケースが多いと思います。
あとストレージ問題な
パブリッククラウドのマネージドなKubernetesであればブロックストレージはデフォルトのStorageClassがあって使うだけだし、オブジェクトストレージもファイルサーバーもあるものを使うだけです。が、プライベート環境だとそれらも用意して管理しなければならない。めんどくさい。ODF?そんな子もいましたっけねえ・・・
VMwareたん・・・
Broadcomさんの(以下自粛
そこでOpenShift on Nutanixですよ
Nutanixなら、OpenShiftもシュッとデプロイできてしまいます。
ハイパーバイザーはKVMベースのAHVというものを使っていて、なかなか良いものです。https://smzklab.net/2023/12/ahv-in-5min.html
あとNutanixの強みとしてはストレージ。コンピュートのクラスタと分散ストレージのクラスタが一緒になっているので、ブロックストレージ・オブジェクトストレージ・ファイルサーバーがいい感じに使えます。スナップショットやレプリケーションもばっちりです。
さらにいうとDBaaSもあって、KubernetesのOperatorからMySQL, Postgres, MongoDB, Oracle, MSSQLが利用できるので、OpenShift上で動くクラウドネイティブなアプリケーションがサクッとデータベースをコンシュームできます。
他にもいろいろ良いことがあるのですが、日付が変わりそうなのでこのへんで。OpenShift on Nutanixは良いですぞ!