Dockerってすごいですよね? K8s を使用する理由

Dockerってすごいですよね? K8s を使用する理由

[[360669]]

この記事はWeChatの公開アカウント「笑い好きの建築家」から転載したもので、著者はLei Jiaです。この記事を転載する場合は、笑いが大好きな建築家の公開アカウントまでご連絡ください。

k8s がコンテナ オーケストレーション ソリューションとしてますます人気が高まるにつれて、Docker と k8s を比較し始める人が増え、「Docker は良いのではないですか?」と尋ねずにはいられなくなります。

k8s は kubernetes の略称で、「8」は真ん中の 8 つの文字を表します。

実際、Docker と k8s は直接競合するものではなく、相互に依存しています。 Docker はコンテナ化プラットフォームであり、k8s は Docker などのコンテナ プラットフォームのオーケストレーターです。

コンテナ化の時代が到来

仮想化技術は3つの時代を経てきました。コンテナ化技術の進化がなければ、Docker 技術は誕生しなかったでしょう。

仮想化技術の進化

(1)物理マシン時代:1台のマシン上で複数のアプリケーションが実行可能となる。

物理マシン時代

(2)仮想マシン時代:1台の物理マシンに複数の仮想マシン(VM)をインストールでき、1台のVMで複数のプログラムを実行できる。

仮想マシンの時代

(3)コンテナ化時代:1台の物理マシンに複数のコンテナインスタンス(コンテナ)をインストールでき、1つのコンテナで複数のプログラムを実行できる。

コンテナ化の時代

コンテナ化は、ソフトウェア開発プロセスにおける非常に厄介な問題を解決します。これは、次のような会話で説明できます。

テスター: 関数に問題があります。

開発者: ローカルマシンは正常です。

開発者はコードを記述し、ローカル環境でテストしてから、テスト環境または本番環境にデプロイします。彼らはしばしばさまざまな問題に遭遇します。ローカルでは完璧に動作するコードが、デプロイ後に多くのバグを引き起こすのはなぜでしょうか?理由はさまざまです。オペレーティング システムが異なる、依存ライブラリが異なるなどです。簡単に言えば、ローカル環境とリモート環境が一致していないためです。

コンテナ化テクノロジーは、ソフトウェア プログラムを、それが実行される基盤となる環境から分離することで、この重要な問題を解決します。開発者はコーディングを完了すると、依存環境の詳細をリストしたコンテナ イメージにプログラムをパッケージ化します。標準化されたイメージを異なるコンテナで実行すると、環境の不一致の問題が根本的に解決されます。

コンテナ化は鋭い武器

コンテナ化技術の特徴

移植性: 特定のオペレーティング システムやクラウド プラットフォームに依存しません。たとえば、Alibaba Cloud や Tencent Cloud に直接移行できます。

小さなフットプリント: コンテナーに必要なのは、そのアプリケーションと、実行に必要なすべてのコンテナーおよびライブラリの依存関係のリストだけです。依存するライブラリをすべてまとめてパッケージ化する必要はありません。

共有 bin と lib: 異なるコンテナーで bin と lib を共有できるため、スペースをさらに節約できます。

Dockerの誕生

2010年、一人の若者が米国サンフランシスコでdotCloudという会社を設立し、Dockerの中核技術を開発し、コンテナ技術の時代を切り開きました。

Dockerの元の会社名

その後、dotCloud はコンテナ技術を簡素化および標準化し、おなじみのクジラのロゴである Docker と名付けました。

Docker の新しいロゴ

2013 年、dotCloud は Docker をオープンソース化すると発表しました。ますます多くのエンジニアがその利点を発見するにつれて、Docker の人気は急速に高まり、当時最も人気のあるオープンソース テクノロジーの 1 つになりました。

現在、30% を超える企業が AWS 環境で Docker を使用しており、この数は増加し続けています。

Dockerの使用が増加している

Docker の使い方は?

ほとんどの人が Docker について話すとき、彼らは Docker Engine について話していますが、これは単にビルドと実行のためのコンテナーです。

コンテナを実行する前に、Docker ファイルを作成し、dockerFile を通じてイメージを生成し、Docker コンテナを実行する必要があります。

Docker ファイルは、オペレーティング システムやソフトウェアのインストール場所など、イメージを実行するために必要なすべてのものを定義します。通常、Docker ファイルを最初から作成する必要はありません。 Docker Hubには世界中のエンジニアが作成したイメージがあり、それを元に修正することができます。

オーケストレーションシステムの必要性からk8sが生まれた

Docker はコンテナ化されたアプリケーションにオープン スタンダードを提供しますが、コンテナの使用が増えるにつれて、次のような一連の新たな問題が発生しています。

  • これらのコンテナを調整してスケジュールするにはどうすればよいでしょうか?
  • サービスを中断せずにアプリケーションをアップグレードするにはどうすればよいですか?
  • アプリケーションの健全性を監視するにはどうすればよいでしょうか?
  • コンテナ内のプログラムをバッチで再起動するにはどうすればよいですか?

これらの問題を解決するには、多数のマシンを抽象化し、外部に単一の大きなマシンとして提示できるコンテナ オーケストレーション テクノロジが必要です。現在業界で人気のあるものは、k8s、Mesos、Docker Swarm です。

ビジネス開発の初期段階では、マイクロサービスは少数であり、Docker で十分です。しかし、事業規模が徐々に拡大するにつれ、コンテナの数も増加し、運用・保守担当者の作業はますます複雑化していきます。このとき、オペレーターを救出するためのオーケストレーション システムが必要になります。

アプリケーションライフサイクル

成熟したコンテナ オーケストレーション システムには、次の機能が必要です。

  • 多数のコンテナとユーザーの処理
  • 負荷分散
  • 認証とセキュリティ
  • マネージドサービスコミュニケーション
  • マルチプラットフォーム展開

k8s と Docker Swarm の争い

k8s 対 Docker Swarm

Docker と k8s を比較する必要がある場合は、実際には Docker Swarm と k8s を比較する必要があります。

Docker Swarm は、クラスター化されたデプロイメント管理のための Docker 独自のソリューションです。明らかな利点があり、Docker エコシステムにさらに緊密に統合できます。

Swarm は Docker の息子ですが、まだ k8s ほど人気が​​ありません。不人気な理由は、主に商業的および環境的理由によるものです。詳しくは説明しません。

k8s は何に使用されますか?

K8s は、Google が開発し、CNCF に寄贈され、現在はオープンソースとなっているコンテナ オーケストレーターです。

Google はコンテナ管理における長年の経験と専門知識を活用して k8s を立ち上げました。これは主にアプリケーション コンテナの展開を自動化するために使用され、現在非常に人気のある Docker を含む多数のコンテナ化ツールをサポートできます。

現在、k8s はコンテナ オーケストレーション市場のリーダーです。一連の標準化された手法をオープンソース化して公開しており、主流のパブリッククラウドプラットフォームもそのサポートを表明しています。

一流メーカーは皆、最高水準の基準を目指して競い合っており、多くの中小メーカーもそれに追随している。これをエコシステムと呼びます。国内大手メーカーは何をしているのか?コミュニティのグループ購入市場を獲得し、資本ゲームをプレイする、ですね?!

K8s アーキテクチャとコンポーネント

K8s は多くのコンポーネントで構成されており、API を介して相互に通信します。要約すると、次の 3 つの部分に分かれます。

  • コントローラーマネージャー
  • ノード
  • ポッド

k8s クラスター アーキテクチャ図

  • コントロール プレーンであるコントローラ マネージャーは、スケジューリングとノード ステータスの検出に使用されます。
  • ノードは Kubernetes クラスターの総合的なコンピューティング能力を構成し、実際のコンテナがデプロイされ実行される場所です。
  • ポッドは、Kubernetes クラスター内のリソースの最小単位です。

Dockerとk8sは切り離せない

Docker と k8s は業界で非常に人気があり、事実上の標準となっています。

Docker は、コンテナを構築、配布、実行するためのプラットフォームおよびツールです。

K8s は実際には、オーケストレーションに Docker コンテナを使用し、主にポッドを中心に動作するシステムです。ポッドは、k8s エコシステムにおける最小のスケジューリング単位であり、1 つ以上のコンテナを含めることができます。

Docker と k8s は根本的に異なるテクノロジーですが、うまく連携できます。

開発実践、自己省察

(1)KubernetesなしでDockerを使用できますか?

できる。実際、ビジネスがそれほど複雑でない場合は、一部の中小企業では Docker を直接使用しています。 k8s には多くの利点がありますが、非常に複雑であることはよく知られています。ビジネスが比較的単純な場合は、k8s の使用をあきらめることができます。

(2)Dockerなしでk8sは使えるのか?

k8s は単なるコンテナ オーケストレーターです。コンテナなしでオーケストレーションするにはどうすればいいのでしょうか?

k8s は Docker で使用されることが多いですが、RunC、Containerted などの他のコンテナも使用できます。

(3)Docker Swarmとk8sのどちらを選ぶべきか?

k8sを選択します。 2019 年末に、Docker Enterprise は Mirantis に売却されました。 Mirantis は、Docker Swarm を段階的に廃止し、将来的にはデフォルトのオーケストレーション ツールとして k8s を使用することを発表しました。

最後の質問

Dockerっていいですよね? k8s を使用する理由は何ですか?

Docker は素晴らしいですが、ビジネスが一定規模に達すると、k8s も有効にする必要があります。学びましたか?

<<:  分散ストレージに関する5つの嘘

>>:  年末レビュー | 2020 年のクラウド大手のダウンタイム インシデント

推薦する

今年上半期のライブストリーミングeコマース業界の洞察

ライブストリーミング電子商取引が新たな発展段階に入るにつれ、さまざまなプラットフォームも新しいルール...

raksmart: 日本国内の無制限トラフィックサーバー(物理マシン)、100Mbps 帯域幅、月額 139 ドルから、最大 1Gbps 帯域幅

4月、raksmartは日本のデータセンターの独立サーバーのプロモーションを実施しています。日本のデ...

フォーラムコミュニティを宣伝する際には、以下の重要なポイントに注意する必要があります。

皆さんも聞いたことがあると思います。フォーラムコミュニティはBBSとも呼ばれています。現在、主要なポ...

ハイブリッドクラウドを構成する方法

IT リーダーは、ハイブリッド クラウド環境に向けてネットワーク チームとインフラストラクチャ チー...

Kubernetes スレーブ ノードが参加に失敗するのはなぜですか?

[[398367]]この記事はWeChatの公開アカウント「プログラマーjinjunzhu」から転載...

VPS でデータをバックアップするにはどうすればいいですか?

VPS (仮想プライベートサーバー) のデータをバックアップする方法はいくつかあります。スナップショ...

エッジ コンピューティングと 5G はモノのインターネットにとって何を意味するのでしょうか?

ビジネスの世界における IoT アーキテクチャのほとんどは複雑です。少なくとも、センサー ネットワー...

オランダの大型ハードディスク VPS、V.PS: 年間 60 ユーロ、2G メモリ/1 コア/500g ハードディスク/5T トラフィック/1Gbps 帯域幅

v.ps には、KVM 仮想化を採用し、デフォルトで 1Gbps の帯域幅を持つオランダの大容量ハー...

共同購入ウェブサイトが新たな「寒波」に見舞われる。共同購入の半数は17人未満の購入者

共同購入ナビゲーションサイト「Tuan800」が発表した最新の統計報告(以下、「報告」)によると、国...

ウェブマスターネットワークニュース: SEO は死に、アプリはタクシー業界を脅かす

1. Vanclは数百のブランドを対象とする「フラッシュセールツール」アプリをリリースします電子商取...

百度VS360:両者は夜間に攻防戦を繰り広げた

ユーザーが360ブラウザで360総合検索を使用すると、Baiduの関連サービスをクリックすると、「W...

入手可能: oplink-$24.5/L5420/16g メモリ/120g SSD/100m 無制限

oplink は 2006 年に登録され、AS40156 でヒューストンに独自のコンピュータ ルーム...

ウェブサイトの各ページの負荷バランスを最適化する方法

正があるところには負があり、陰があるところには陽があり、男があるところには女がある。この世のあらゆる...

百度の青大根アルゴリズムがリリースされるとすぐに、外部リンク取引プラットフォームはK

Baidu はウェブ検索不正対策チームを設立した後、最近新しいアルゴリズム「Baidu Green ...