インスタンスを1回以上実行した後、既存のLXCテンプレートに基づいてカスタムテンプレートを作成します。

インスタンスを1回以上実行した後、既存のLXCテンプレートに基づいてカスタムテンプレートを作成します。

(参考にしてくださいこの問題LXC 1.xに関しては、これLXC 2.x/LXDについて)

この質問に対する回答をオンラインで検索しましたが、ハッカーではなく合理的な回答が見つかりませんでした。

既存のテンプレートを自分が好きなように作成できる方法を探しています。私が特に望むのは、ルートFSをさまざまに変更し、構成を追加/変更してアップストリームUbuntuクラウドイメージをカスタマイズすることです。

したがって、現在のアプローチは、私が作成したスクリプトをコンテナにプッシュしてから実行してカスタマイズをlxc launch ubuntu:lts CONTAINER実行することです。lxc exec CONTAINER -- ...

このアプローチを使用して得られたのは、合理的にカスタマイズされたコンテナです。問題があります。この時点のコンテナは準備ができており、cloud-initイメージ/テンプレートではなくコンテナインスタンスです。

それで、これが私が今迷っているところです。必要なのは、コンテナをイメージに戻して(を使用して機能する必要がありますlxc publish)、変更を元に戻すcloud-initか、少なくとも次にイメージがソースとして使用されたときにトリガーされるようにcloud-init「コック」することです。lxc initまたはlxc launch。それとも、アップストリームから取得cloud-initしたlxc launch画像で完全に無効にする方法はありますか?

権威ある方法はありますか?を含むさまざまな文書を参照しましたが、LXDリポジトリのマークダウン文書Stéphane Graber(LXDプロジェクトリーダー)のブログシリーズ、特に[5/12]、適切な方法が見つかりません。たぶん私はそれを逃したかもしれません。言い換えれば、私が必要なことを説明するいくつかを知っていれば、より多くの文書を読んでみたいと思います。

使用されているLXCのバージョンは2.20です(つまり、LXDフロントエンドを使用しています)。

ベストアンサー1

リンクからページ番号[5/12]Stéphane Graberを使って2番目の方法を見つけることができます。

イメージを手動でビルド

独自のプロフィールを作成するのも非常に簡単です。

  1. コンテナファイルシステムを作成します。すべて使用しているディストリビューションによって異なります。 UbuntuとDebianではdebootstrapを使用できます。
  2. コンテナでデプロイが正しく機能するために必要なすべてのエントリを設定します(必要な場合)。
  3. コンテナファイルシステムのタールボールを作成し、オプションで圧縮します。
  4. 上記のファイルに基づいて新しいメタデータ.yamlファイルを作成します。
  5. メタデータ.yaml ファイルを含む別のタールボールを作成します。
  6. 次のコマンドを使用して、これら2つのtarballをLXDイメージにインポートします。

これにより、イメージを公開する前にコンテナを起動する必要がなくなります。既存の画像から始めることができます。

$ lxc image copy ubuntu:16.04/amd64 local: --alias ubuntu
$ mkdir export-directory
$ lxc image export ubuntu export-directory
$ cd export-directory
$ ls 
5f364e2e3f460773a79e9bec2edb5e993d236f035f70267923d43ab22ae3bb62.squashfs
meta-5f364e2e3f460773a79e9bec2edb5e993d236f035f70267923d43ab22ae3bb62.tar.xz

$ mkdir meta squashfs
$ tar -xf *.tar.xz -D meta
$ sudo unsquashfs -f -d squash/ *squashfs

これでファイルのサイズを変更したり、カボチャのディレクトリにルートを移動したりできます。その後、これら2つのディレクトリをtarし、次のようにサイズ変更された画像をインポートできます。

lxc image import <metadata tarball> <rootfs tarball> --alias my-adjusted-image

おすすめ記事