K8S ワーカーノードの進化: Docker から CRI-O へ

K8S ワーカーノードの進化: Docker から CRI-O へ

K8S ワーカーノードの進化: Docker から CRI-O へ

K8S の台頭と OCI の導入により、コンテナとクラウド アーキテクチャは徐々に発展し、改善されてきました。純粋にオープンソースでコミュニティベースの、完璧かつ効率的なコンテナ エコシステムが形成され、さまざまな企業の生産環境で使用されています。エコシステムの最も重要な部分は、そのノード、つまり動作ノードの進化です。この記事では、K8S ワーキングノードの進化と OCI 標準に基づくエコシステムについて説明します。

ワーカーノードの進化

K8S アーキテクチャの開発を振り返ってみましょう。作業ノードのランタイム コンテナーには大きな変更と調整が加えられました。 Docker が主流となっているコンテナは、OCI 標準に準拠した CRI-O ツール チェーン形式に発展しました。


Dockerが主流

このフェーズは主に、管理のために API サーバーを介してマスター ノードからコマンドを受信するワーカー ノード エージェントとしてのシンプルな kubelet アーキテクチャから始まります。 Kubelet は Docker ランタイムを使用して Docker コンテナを起動します (レジストリからイメージをプルすることを含む)。


CRI (コンテナ ランタイム インターフェース)

Container Runtime Interface (CRI) 仕様は、K8s 1.5 で導入されました。 CRI 仕様には、プロトコル バッファ、gRPC API、ライブラリも含まれます。 kubelet で実行されている gRPC クライアントと CRI Shim で実行されている gRPC サーバー経由。この仕様は、K8S アーキテクチャ システムに抽象化レイヤーを導入し、アダプターとして機能します。これにより、さまざまなコンテナ ランタイムをより簡単な方法で実行できるようになります。

これらの機能は 2 つのレベルに分かれています。

  • 高レベルの機能: イメージ管理、転送、イメージの解凍と API、コンテナを実行するためのコマンドの送信、ネットワーク、ストレージ (rkt、docker、LXC など)。
  • 低レベルの機能: コンテナを実行します。

これらの機能は独立した部分に分割することができ、各部分はさまざまなオープンソース コンポーネントを使用して、より合理的で効率的な組み合わせに組み合わせることができます。

OCI、CRI-O、ツールチェーンエコシステム

OCI (Open Container Initiative) は、明確なコンテナ ランタイムとイメージの仕様を提案しており、これはマルチプラットフォーム サポート (Linux、Windows、VM など) の実現に役立ちます。 Runc は、基盤となるコンテナ ランタイムである OCI のデフォルト実装です。現在の世代のコンテナ ランタイムはこの階層化アーキテクチャに基づいており、Kubelet は CRI-gRPC を介してコンテナ ランタイムと通信し、コンテナ ランタイムは OCI を介してコンテナを実行します。 CRI には、Docker shim、CRI-O、containerD など、複数の実装があります。

ポッドマン

OCI コンテナを開発、管理、実行するためのデーモンレス コンテナ エンジン。ある程度、Docker CLI 言語を置き換えることができます。ほとんどの Docker コマンド (RUN、PUSH、PULL など) を使用でき、Docker エイリアスとして直接使用することもできます。

ビルダ

buuildah OCI イメージの構築を支援するツール。ユーザーはイメージの構成を心配したり、複雑な Dockerfile を記述したりする必要はありません。代わりに、一度に 1 つのレイヤーずつイメージを構築し、テストして、満足するまで (必要な場合) ロールバックしてから、レジストリに送信できます。

スコペオ


完全なコンテナ管理 CLI ツール。 skopeo の特徴の 1 つは、ダウンロードや解凍を行わずにリモート レジストリで直接イメージを確認できることです。 Skopeo は現在、イメージの署名、レジストリ間の複製、リモート レジストリの同期の維持など、リモート レジストリ向けのフル機能のイメージ管理ツールへと進化しました。これにより、コンテナのビルド、管理、およびデプロイメント パイプラインが大幅に高速化されます。

クリオー

CRI-O は、OCI 標準に基づいて一貫したランタイムと kubelet の統合方法を提供し、kubelet コンテナ ランタイム用のインターフェースを提供します。

  • Docker イメージ形式を含むより多くのイメージ形式をサポートします。
  • イメージ パッケージをダウンロードおよび検証するためのより多くの方法をサポートします。
  • コンテナ イメージ管理 (イメージ レイヤー、ファイル システムの管理)
  • コンテナプロセスのライフサイクル管理。
  • CRI によって要求される監視とログ記録。
  • CRI 要件のためのリソース分離。

オープンシフト

OpenShift にはツールのエコシステム全体が含まれています。昨年 Red Hat がリリースした Red Hat OpenShift 4.x システムでは、デフォルトのコンテナ ランタイムとして CRI-O が使用されています。 CoreOS を使用して不変のインフラストラクチャを構築し、そのインフラストラクチャ上で OpenShift 4.x を実行できます。 CRI-O が CoreOS をベースにしていることの利点は明らかです。最も重要な点は、CRI-O が k8s コミュニティによって制御され、完全にオープンソースであり、非常に合理化されており、k8s コンテナ ランタイム インターフェースを直接実装していることです。

<<:  テンセントは情報通信技術アカデミーのOSCARでオープンソースのトップ事例の一つに選ばれ、そのオープンソースの実践が再び全国レベルで認められた。

>>:  Oracle から離れる傾向が強まっています。 AWSは30万のデータベースのクラウドへの移行を完了したと発表した

推薦する

DMOZ カテゴリ ディレクトリに参加して Google の権威を高める方法

DMOZ は、現在でも手動追加を主張している数少ないウェブサイト分類ディレクトリの 1 つです。ウェ...

「一人一ホームページ」の秘密 百度の新ホームページの便利さを体験

「一人一ホームページ」は百度の新しいホームページを作る秘訣と方法です。ここ数日、私たちは百度の新しい...

独占分析:モバイル インターネットを収益化する 4 つの方法! (下)

分析の前に、広告の定義について簡単に説明させてください。多くの学生は、広告というと、印刷広告やテレビ...

百科事典ウェブサイトの新たな探究:Wikipedia が SMS リクエスト サービスを開始

北京時間2月24日朝のニュースによると、Wikipediaは発展途上市場のユーザーにWikipedi...

#スペシャル: sharktech- L5520/24g メモリ/2x2T ハードディスク/29IP/100M 無制限/DDOS 保護

DDOS 防御で有名な老舗ホスティング会社 Sharktech には、特別なプロモーション サーバー...

ウェブサイト分析: Excel での高度なデータ分析 (パート 2)

前回のブログ投稿では、Excel の高度なデータ分析機能のインストール方法と回帰分析について紹介しま...

百度インデックスの信頼性を判断するためのヒント

キーワードを選択する一般的な方法は、依然として百度インデックスを使用することです。しかし、ウェブマス...

オンライン薬局のブルーオーシャンは青くない。どれも利益が出ず、JD.comとJ&Jは分裂

2年以上の協力関係を経て、両者はB2C医薬品取引市場の成熟を待ちましたが、最終的には決裂しました。 ...

降格したウェブサイトを素早く復元する方法の例の共有

実際、このような記事を書く主な目的は、過去 1 か月間の Web サイト構築の経験をまとめることです...

企業がハイブリッドクラウドストレージの問題を克服する方法

Microsoft Azure、Google Cloud Platform、AWS などのクラウド ...

SEO 担当者は期限切れのページをどのように処理しますか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSEO の...

Google Anthos が Kubernetes のコピーであるのはなぜですか?

Google は今週ニューヨークで開催されたカンファレンス イベントで Anthos について講演し...

GO言語のパフォーマンス問題の発見と解決

事件の原因この事件は、社内の同僚が社内メーリンググループに質問を投稿したことから始まりました。 go...

SEOはもはや単なる外部リンクではなく、専門的で包括的な戦略です

2013年に入ってから、Baiduのアルゴリズムが絶えずアップグレードされ、更新されたため、多くのS...

クラウドストレージ緊急訓練システムの構築とシナリオ設計

この記事では、クラウド ネイティブとエンタープライズ クラウド アーキテクチャの観点から、クラウド ...