サードパーティーツールと統合¶
以下はネイティブまたはプラグイン経由で Incus をサポートする一般的な運用ツールの一覧です。
Terraform / OpenTofu¶
TerraformとOpenTofuは infrastructure as code のツールでインフラストラクチャー自体を作成することにフォーカスしたツールです。 Incus に関しては、これはプロジェクト、プロファイル、ネットワーク、ストレージボリューム、そしてインスタンスを作成できることを意味します。
たいていの場合、一旦インスタンスとインスタンスに必要なその他すべてが用意されたら、その後の環境構築は Ansible を使うでしょう。
Incus との統合はIncus 専用のプロバイダーにより実現されます。
Ansible¶
Ansible は infrastructure as code のツールで、特にソフトウェアのプロビジョニングと構成管理にフォーカスしています。 ほとんどの作業をソフトウェアをデプロイする対象のシステムにまず接続してから行います。
そのために、Ansible は SSH やその他さまざまなプロトコルで接続ができ、そのうちの 1 つが Incus です。リモートのIncusサーバーにIncus Ansible Connectionタイプを使う場合は、Linuxディストリビューションで提供される完全なIncusパッケージではなくincus-clientパッケージを使うほうが良いかもしれません。
これにより、最初に SSH をセットアップすることなしに Incus のインスタンス内にソフトウェアを簡単にデプロイできます。
Packer¶
Packer はカスタム OS イメージを幅広い様々なプラットフォーム用に生成するツールです。
Packer が Incus のイメージを直接生成できるようにする プラグイン が存在します。
Distrobuilder¶
Distrobuilder は公式の LXC と Incus イメージを生成することで良く知られているイメージ生成ツールです。 イメージの YAML 定義を読み込んで LXC コンテナーのイメージと Incus のコンテナーと VM のイメージを生成します。
Distrobuilder は既存のイメージを再パッケージするというよりも、クリーンなイメージをスクラッチから生成することにフォーカスしています。
GARM¶
GARM GitHub の自己ホストランナーを稼働できる Github Actions Runner Manager です。
Incusを含む、さまざまな種類のランナーのプロバイダーを提供しています。
Kubernetes¶
Kubernetesは、K8sとしても知られますが、コンテナ化されたアプリケーションのデプロイ、スケール、管理を自動化するオープンソースのシステムです。 Cluster APIは複数のKubernetesクラスタのプロビジョニング、アップグレード、運用を簡単にするための宣言的なAPIとツールを提供することに焦点を当てたサブプロジェクトです。
The Cluster API provider for IncusはCluster APIのInfrastructure Providerで、Incusで運用されているインフラストラクチャー上にKuberneesクラスターのデプロイを可能にします。 このプロバイダーは単一ノードの開発環境で評価や検証に使うこともできますが、複数ノードのIncusクラスターで本番環境のKubernetesクラスタをデプロイ、管理するのにも使えます。