Apptainer導入
Linux Foundationへの移管とApptainerへの改名
HPC向けコンテナ環境としてよく使われているSingularityプロジェクトのLinux Foundationへの移管に伴って名称を変更されたものがApptainerです。
Singularityというプロジェクトはやや込み入った状況があります。例えば理化学研究所のスーパーコンピュータ富岳で採用されているコンテナ環境はSingularityPROと呼ばれているものですが、これはSylabsという会社が上記のプロジェクトをフォークしたもので、現在では実質的に独立して開発が続けられています。2つのプロジェクトが同じSingularityという名前で開発されている事による混乱を避けるため、またSylabsが引き続きSingularityという名称を商用に使えるように、Linux Foundationに移管された方のプロジェクトは別名に変更される事になったようです。
コンテナ技術は登場から時間が経つにつれて多くの実装や周辺ツールが整備され、またいくつか重要な団体が設立されています。中でも重要となるのが
の2つでしょう。CNCFはLinux Foundationの一部で、Kubernetesやcontainerdといったコンテナ技術やenvoyやlinkerdといったネットワーク技術を支えるプロジェクトを支援しています。一方OCIもLinux Foundationのプロジェクトの一つですが、こちらはコンテナ技術の標準化を目標に掲げるプロジェクトです。OCIによるコンテナの実行環境・コンテナイメージ・配布レジストリの標準化のおかげで現在では複数の異なるコンテナ実行環境、例えばDockerやPodmanといった異なる実行環境で同じコンテナを同じように使うことができます。
残念ながらApptainerプロジェクトはこれらのモダンなコンテナ技術と上手く統合出来ているとは言い難い状況です。今後の開発においてはこれらの利用、特にコンテナの署名のためのSigstore、コンテナレジストリをストレージとして扱う技術であるORAS、及び自動テストを支えるCIと自動デプロイを支えるCDとの連携に注力すると述べられています。
Apptainerのインストール
この記事ではArchLinuxで行った場合について書きます
pacman -Sy apptainer
community/apptainer
として登録されています。既にsingularity-container
を入れている場合は置き換わるので注意してください。
Singularityからの移行
既にSingularityを使っていた場合、設定ファイル等を更新する必要があります
WARNING: /etc/singularity/ exists, migration to apptainer by system administrator is not complete
設定ファイルはsingularityという名前が入っているもの以外はほとんどがそのまま使えるはずです。詳しくは上記の管理者マニュアルを見てください。
Apptainerの使い方
はまた次の記事で
Discussion