•  untoreh-light

コンテナについて

コンテナの使用、何を、そしてなぜ

コンテナとは

[コンテナ]は、制限された環境に付けられた名前であり、[のようなLinux内のサブシステムのコレクションによって可能になります。cgroups ] と [namespaces ]。ウィキページは単語を使用していますが 仮想化 言葉だと思います 隔離 仮想化とは、間に変換のレイヤーがあることを意味し、cgroupと名前空間が行うことは、プロセスを分離してコンテキスト化することであるため、より適切です。

Cgroupは、通常、リソースの割り当てポリシーを定義するために使用されますRAMCPU 、名前空間はマウントポイント、ネットワーク、ユーザーなどのコンテキストを制御します。 [Apparmor]は代わりに、コンテナー環境全体の機能を制限する方法を提供しますが、コンテナーのないapparmorは、ウィキペディアに書かれているように、プログラムベースです。

のようなツール flatpak ファイヤージェイルコンテナを使用して、ユーザーアプリケーションのアクセス面を制限します。 [Windows]コンテナーは同等のシステムを実装し、[WSL]を介してLinuxコンテナーのサポートも提供します。

しかし、なぜ?

過度に?

作り始めたとき 、githubリリースから配布された独自のコンテナイメージを出荷することを少し実験しました。メインスクリプト(trees )コマンドは

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

メインの松の画像に基づいてostree静的デルタを出荷し、新しいアプリベースのrootfsを[チェックアウト]して、その上にコンテナインスタンスを起動したため、flatpakに似ていました。 OpenVZは、v7より前にコンテナーを実行するための多くの問題を抱えていました(あなたが知っているので...あなたは ネストされた コンテナベースの[VPS]上のコンテナであり、カーネルはv2.6 (!))...そうでした 巨大な 時間の無駄。

いつ?

私の試みは、必要とせずに最小限のコンテナランタイムを取得することでしたdocker dockerはおそらく最も軽量であり、 Dockerの群れ 、組み込みであるため、多くの機能が共有され、オーケストレーションに最も役立つ機能が提供されます。これにより、ホストシステムの要件に最も依存するようになります。 k8s また 遊牧民.

コンテナはほとんどの場合必要な機能ですが、オーケストレーションはそうではありません。私が思うに ゆるくターゲット 広告キャンペーンは 意図しない そのようなソフトウェアのターゲットオーディエンス、それが有用である可能性があると信じさせる 彼らへ 、あなたの前提を強調せずに 本当 このようなセットアップの複雑さのコストを正当化するために、多くのスケーリング(!)を行う必要があります。の数 便利な工具 k8sクラスターのブートストラッププロセスを支援するためにk8sを中心に構築されていることは、十分な証拠となるはずです...

結論

オーケストレーションツールは、ユーザーがペットサーバーと牛サーバーの違いを区別できない場合に、マルチホストマシンを管理するソリューションの場所を混雑させることになります。多くの場合、ansible、pyinfra、さらには cssh また assh 必要なのはこれだけです。

投稿タグ: