
コンテナは今や大流行しており、その勢いは衰える気配がありません。多くの企業は、アプリやサービスの導入における重労働の多くをコンテナに大きく依存しており、そのため管理者はお気に入りのOSを使いがちです。しかし、それは時に、メスが必要な時に削岩機を使うようなものです。
参照: 採用キット: バックエンド開発者 (TechRepublic Premium)
ここで専用OSが登場しますが、コンテナに関しては、これまでいくつかのOSが登場しては消えていきました。そんな中、Super Container OSと呼ばれる新しいOSが登場しました。名前はマーベル映画から出てきたような響きですが、このLinuxディストリビューションは紛れもなく現実のものであり、開発はまだベータ段階です。それでも、この新しいLinuxディストリビューションは大きな可能性を秘めています。
Super Container OS の機能は何ですか?
- ライブ OS またはインストールされた OS として実行できます。
- Docker Container Engine はデフォルトでインストールされます。
- 軽量コンテナは systemd-nspawn を使用してデプロイできます。
- Kubernetes がプリインストールされています。
- Xen Hypervisor はインストール時に実行できます。
- Docker 管理用に Portainer がプリインストールされています。
- 事前設定された Kubernetes リソースのパッケージを管理するために Helm が追加されました。
- コックピットがインストールされ、有効化されています。
- Vagrant 開発環境の統合。
- Dagger を使用して CI/CD パイプラインを構築します。
- GUI または ncurses ベースの OS インストーラー。
Super Container OSのインストール:CockpitとPortainerについて
Super Container OSは、他のLinuxディストリビューションと同様にインストールされます。いくつかのオプションから選択できます。
- SOC をライブで実行します。
- テキストベースのインストーラーを使用してハードディスクにインストールします。
- GUI インストーラーを使用してハードドライブにインストールします。
3つのオプションすべてを試してみましたが、どれも期待通りに動作しました。しかし、一つだけ注意点があります。インストール中に管理者パスワードの設定を求められます。管理者パスワードが正常に作成されても、インストール時にrootユーザーでそのパスワードは使用できません。通常のユーザーとしてログインすることはできますが、そのユーザーはsudoグループに追加されません。つまり、Super Container OS上で管理タスクを実行できないということです。Cockpitにログインしても(https://SERVER:9090、SERVERはホスティングサーバーのIPアドレス)、管理タスクは実行できません。
システムアップデートの必要性を考えると、なぜこのような選択がなされたのか、私にはよく分かりません。私から見ると、これは問題です。これは、CockpitとPortainerの両方のツールを使用する場合にも問題となります。説明させてください。
まず、Cockpitには一般ユーザーとしてログインでき、そのログイン情報を使って昇格した権限を取得することも可能です。しかし、だからといって何でもできるわけではありません。GUIで操作内容を確認することはできますが、何らかのタスクを実行しようとすると、権限がないという同じ問題に直面することになります。
Portainerでも同じことが言えます。Super Container OSでPortainerを実行するには、たった2つの簡単なコマンドを実行するだけで済むので、これは本当に残念です。
mkdir /opt/portainer-data
portainer –data /opt/portainer-data
ああ、でも問題が分かりますか?/opt にディレクトリを作成するには管理者権限が必要です。つまり、ユーザーのホームディレクトリ内にディレクトリを作成する必要があります。
mkdir ~/portainer-data
次に、次のコマンドを実行して Portainer を起動します。
portainer --data ~/portainer-data
Portainer は正常にデプロイされます。しかし、ブラウザで http://SERVER:9000(SERVER はホスティングサーバーの IP アドレス)にアクセスすると、管理者ユーザーの作成を求められます。なんと、管理者ユーザーを作成する権限がないのです。
問題の解決策
Super Container OSの開発者に連絡したところ、OSのインストール時に管理者ユーザーにパスワードを設定しないようアドバイスを受けました。そうすると、一般ユーザーがsudoグループに追加されてしまうとのことでした。そして、まさにその通りにしたところ、なんとうまくいきました。
ルート ユーザーに空のパスワードを与えるという考えには抵抗を感じますが、ルート ユーザーにはいずれにせよアクセスできないようですので、不安は軽減されました。
sudo 権限を持つユーザーアカウントを作成できたので、Super Container OS を本来の姿で操作できるようになりました。管理者ユーザーを作成して Portainer にログインすると、Docker 環境と Kubernetes 環境の両方が既に作成され、すぐに使用できる状態になっていることがわかります (図 A )。
図A

そしてもちろん、https://SERVER:9090 (SERVER はホスティング サーバーの IP アドレス) 経由で Cockpit にログインすると、すべてを更新したり、ユーザーを管理したり、sudo 対応ユーザーが実行できるはずのすべての操作を実行したりすることはできません。
スーパーコンテナOSの印象
当初の躓きを除けば、Super Container OSは、複雑さに溢れるこの世界で、まさに新風を吹き込んでくれる存在だと感じました。このOSを使えば、コンテナの開発とデプロイそのものに集中でき、必要な環境を最初から構築する必要がなくなります。
Super Container OS は、コンテナの展開に加わる複雑さを解消する上で実に優れた仕事をしています。この OS の開発者である Harshad Joshi 氏が、管理者にとって本当に画期的な発明に取り組んでいることから、この取り組みを継続してくれることを心から願っています。
コンテナを使い始めたばかりの方、あるいはより簡単な導入方法を探している方にとって、Super Container OSはまさにぴったりの選択肢かもしれません。ただし、インストール中に管理者パスワードを設定しないようにしてください。そうしないと、後で面倒なことになり、再度インストールしなければならなくなります。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。