【ケイネイティブ】
Knative とは?
💡 Kubernetesにサーバレスの魔法を追加するプラグイン
📌 このページのポイント
- Knative Servingでトラフィックに応じたオートスケール(0台へのスケールダウンも可能)を実現する
- Knative Eventingでクラウドイベントを使ったイベント駆動アーキテクチャを構築できる
- Google・IBM・Red Hatなどが開発に参画するCNCF傘下のプロジェクト
- Cloud Runの内部はKnativeをベースにしているとされ、GKEとCloud Runの橋渡しにもなる
KnativeってKubernetesとどう違うの?
KubernetesはコンテナをデプロイするOSのような基盤で、KnativeはそのKubernetes上に乗っかってサーバレスの機能を追加するプラットフォームなんだよ。拡張機能みたいなイメージだね。
サーバレスの機能ってどういうこと?
代表的なのは「リクエストが来たら起動、しばらく来なければ0台に縮退」というオートスケールだよ。普通のKubernetesでも最小1台は維持するけど、Knativeなら完全にゼロにできてコストが抑えられるんだ。
Knative ServingとKnative Eventingって別々のものなの?
Google Cloud Runと関係あるって聞いたんだけど?
じゃあどんなときにKnativeを選ぶの?
オンプレやプライベートクラウドでサーバレスを動かしたい場合や、Kubernetes環境に統一したい場合に向いているよ。クラウドベンダーに縛られずにサーバレスを実現したいチームが採用することが多いんだね。
まとめ:ざっくりこれだけ覚えればOK!
「Knative」って出てきたら「Kubernetes上でサーバレスを動かすプラットフォーム」と思えればだいたいOK!
📖 おまけ:英語の意味
「Knative」 = Kubernetes Native(の省略造語)
💬 Kubernetes(k8s)の上でNative(ネイティブ)に動くサーバレス基盤という意味で名付けられたんだよ。「K」はKubernetesの頭文字だね