今年、私はLinuxカーネルの名前空間、ルートレスコンテナー、およびPodman周辺のツールチェーンに慣れ始めました。この記事では、初心者だけでなく、開発者、プロダクトマネージャー、ソリューションアーキテクトとの最初の経験を共有して、コンテナの世界の初心者であることがどのように感じられるかを皆さんに知ってもらいます。
なぜLinuxコンテナを気にする必要があるのですか?
私の認識では、コンテナーの誇大宣伝は、Docker、Kubernetes、OpenShiftなどの新しい流行語が登場した2015年頃に始まりました。当時、私の同僚やユーザーは文字通りこのテクノロジーを気にかけていなかったので、私はコンテナーを気にしませんでした。私たちはうまく機能した(そして今でも機能している)プロセスを持っていました。もちろん、いくつかの問題がありましたが、この新しいテクノロジーでは問題が解決されなかったようです。では、私が突然このトピックに関心を持ち始めたのは何が変わったのでしょうか?
それは2021年であり、COVID-19のパンデミックは、コンテナと同様にまだ続いています。しかし、誇大広告は終わったように見えますが、コンテナはITエコシステムでその場所を見つけたと確信しており、近い将来に存在するでしょう。すでにコンテナテクノロジーに精通しているシステム管理者の仲間に追いつくために、私はコンテナランドの旅を始めました。
どこから始めますか?
どこから始めればよいかを誰かに尋ねると、「マニュアルを読んでください」というメッセージが表示されたり、「Linuxで利用できるかなり優れたマニュアルページがいくつかあります」というメッセージが表示されたりすることがあります。しかし、探しているツールの名前がわからない場合、どのようにしてマニュアルページを見つけたり、マニュアルを読んだりしますか?
インターネットでコンテナを調べていると、用語とチュートリアルの複雑さという2つの問題に苦労するかもしれません。特定の用語を初めて読んだときに、それが会社、CLIツール、コンテナイメージ、またはコンテナインスタンスのいずれを意味するのか混乱する可能性があります。 2番目の問題は、チュートリアルが2種類しかないように見えることです。「Hello、World!」です。 1つは、「これは、おそらく聞いたことのない3つの異なる自動化ツールとオーケストレーションツールの組み合わせを使用して、マルチクラウド環境にKubernetesクラスターをデプロイする方法です。」
コンテナの用語とアーキテクチャをよく理解するために、オンラインで入手できる次の記事をお勧めします。
- コンテナ用語の実用的な紹介
- コンテナの設計パート1:ユーザースペースとカーネルスペースの問題を理解する理由
- コンテナの設計パート2:ユーザースペースが重要な理由
- コンテナの設計パート3:ユーザースペースがアプリケーションに与える影響
理論の基礎を説明したら、小さなスターターから始めることをお勧めします。 事業。興味のあるソフトウェアをいくつか選択し、それがコンテナイメージとして利用できるかどうかを確認し、最初の実践的な経験を集めてツールに慣れ始めてください。
ツールについて言えば、Podmanを使用して旅を始めることにしました。これは、ある種のデーモンを実行し続けることなく、コンテナーとポッドを管理および実行するためのシンプルなツールだからです。 Red Hatがこのツールに注いだ努力と、ルートレスコンテナーを実行する可能性が気に入っています。また、Podmanは幅広いディストリビューションで利用できます。
たとえば、Red Hat Enterprise Linux 8(RHEL)でPodmanを実行しています。これは、1つのvCPUと2GBのRAMを備えた私のホームラボで実行されている小さな仮想マシンです。簡単なプロジェクトを開始するには、これで十分です。
Podmanという名前がわかったので、その使用方法を説明しているmanページを見つける方法もわかりました。さらに、RHEL以外のディストリビューションでPodmanを実行している場合でも、次のドキュメントをお勧めします。
- Red Hat Enterprise Linux 8でのLinuxコンテナの構築、実行、管理
kanboard-containerとpostgresql-96-containerを使用してポッドを実行することから始めました。 「コンテナ間でデータを共有するにはどうすればよいですか?」などの質問になります。または「コンテナネットワークを設定するにはどうすればよいですか?」上記のリンクと次のリンクが役立ちます:
- Podmanを使用したコンテナネットワークの構成
最初のコンテナ/ポッドが稼働しているときに何をしますか?
それはあなたがすでに知っている仕事とそれほど違いはありません。ここで、次のような通常のトピックに対処する必要があります。
- データを永続的に保存する方法と場所
- バックアップと復元
- セキュリティの強化と更新
- ドキュメント
- 導入-自動化
これまでに達成したことを楽しんで、会社またはホームラボで最初のKubernetes/OpenShiftクラスターを実行する方法を前もって考えてください。
まとめ
用語とツールを理解すれば、この新しいコンテナテクノロジーの世界に簡単にアクセスして探索できます。ルートレスPodmanコンテナを実行すると、ホストシステムの構成を台無しにすることなく、安全な環境で新しいアプリケーションをすばやく簡単に探索して試すことができます。