Open1

マイクロVM「Flintlock」を試す

kun432kun432

GitHubレポジトリ

https://github.com/liquidmetal-dev/flintlock

Flintlock - containerdによりサポートされるMicroVMのライフサイクルの作成および管理

flintlockとは何か?

🎉 本プロジェクトはもともとWeaveworksによって開発されましたが、現在はコミュニティによって所有および運営されています。ご協力いただける方は、ぜひご連絡ください。

flintlockは、ホストマシン上でMicroVMのライフサイクルを作成および管理するためのサービスです。私たちは Cloud Hypervisor と限定的に (Firecracker もサポートしています。(Firecrackerに関する詳細についてはリリースノートを参照してください。)

flintlockの元々のユースケースは、MicroVMをベアメタルホスト上で作成し、それらを仮想化されたKubernetesクラスターのノードとして利用することでした。これは Liquid Metal の不可欠な部分であり、Cluster API Provider Microvm によってオーケストレーションすることが可能です。

しかし、軽量仮想化が必要な他の多くのユースケース(例:アイソレーションされたワークロード、パイプライン)にも有用です。

特徴

APIリクエスト(gRPCまたはHTTP経由)を使用して:

  • MicroVMの作成および削除
  • MicroVMのライフサイクルの管理(例:起動、停止、一時停止)
  • cloud-init、ignition等を介したMicroVMのメタデータの設定
  • MicroVMのボリューム、カーネル、initrdにOCIイメージを使用
  • Prometheusによる収集のためのMicroVMメトリクスの公開
  • (近日公開)CNIを使用してMicroVMのネットワークを設定

互換性

以下の表は、どのバージョンのFirecrackerがFlintlockと互換性があるかを示しています:

Flintlock Firecracker Cloud Hypervisor
v0.7.0 Official v1.10+ v41.0
v0.6.0 Official v1.0+ または v1.0.0-macvtap v26.0
v0.5.0 Official v1.0+ または v1.0.0-macvtap v26.0
v0.4.0 Official v1.0+ または v1.0.0-macvtap サポート対象外
v0.3.0 Official v1.0+ または v1.0.0-macvtap サポート対象外
<= v0.2.0 <= v0.25.2-macvtap サポート対象外
<= v0.1.0-alpha.6 <= v0.25.2-macvtap サポート対象外
v0.1.0-alpha.7 使用しないでください サポート対象外
v0.1.0-alpha.8 <= v0.25.2-macvtap サポート対象外

注:Weaveworksフォーク(macvtap付き)のFirecrackerの使用はもはやサポートされていません。macvtapを使用したい場合は、vmプロバイダーとしてCloud Hypervisorをご利用ください。