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 年のクラウド大手のダウンタイム インシデント

推薦する

広告提携で収益を得るのと広告スペースを貸し出すのとではどちらが良いのでしょうか?

私たちウェブマスターや独立ブロガーにとって、ウェブサイトやブログを構築した後は、ホストドメイン名の費...

#黑5# sharktech: 最低価格の専用サーバー、1Gbps無制限、10Gbps無制限のトラフィック

Sharktech の毎年恒例のブラック フライデー プロモーションが始まりました。Sharktec...

OpenStack と ZStack の詳細な比較: アーキテクチャ、デプロイメント、コンピューティング ストレージとネットワーク、運用と保守の監視など。

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

マイクロソフト、クラウド環境向けセキュリティ評価アプリケーション「Cloud Katana」をオープンソース化

[[420614]]テクノロジー大手の Microsoft は最近、クラウドおよびハイブリッド クラ...

クラウドアプリケーションと機会は拡大を続け、2024年までに1兆ドルの市場になる

COVID-19 パンデミックはクラウドの導入と拡大を加速させることが証明されており、クラウド中心の...

SaaS システムのユーザー権限設計の説明

クラウドコンピューティングの発展に伴い、ますます多くの企業の製品ビジネスがソフトウェア サービス プ...

トゥニウのユ・ドゥンデ氏:将来、インターネット業界のセグメントは顧客単価に応じて分割されるだろう

従来の業界分類の方法は、家電業界、書籍業界、ホテル業界など、どのような製品やサービスを販売しているか...

Dell、エッジコンピューティングからコアデータセンター、クラウドコンピューティングまでVMwareソリューションポートフォリオを拡大

Dell は本日、エッジ コンピューティングからコア データ センター、クラウド コンピューティング...

クラウド ネイティブ アプリケーションについてどれくらいご存知ですか?

1) 機能からサービスへ1. 関数から始めましょう私は1993年からコンピューターの勉強を始めました...

やりすぎずにコンテンツを作成するにはどうすればよいでしょうか?

現在、コンテンツの重要性を認識する企業がますます増えています。コンテンツ編集者、コンテンツオペレーシ...

SEO 最適化におけるよくある間違いとその回避方法

SEO を行っている同僚たちは、常にウェブサイトのキーワードランキングを比較してきました。ランキング...

ラッキンコーヒーのブランドマーケティングはどうですか?

最近、ラッキンコーヒーは大人気で、多くの人がその今後の発展に楽観的です。しかし、この記事の著者はあま...

vps777: 絶対的にハイエンドかつ低価格、CC データセンターの安価な VPS、KVM 仮想化、Windows の試用版のサポート

新しい販売業者 vps777 は、オリジナルの OpenVZ シリーズの VPS をベースにした K...

sharktech: 10% 割引コード/40g 高防御/98 ドルから Los Angeles E3-1270v2

ロサンゼルス データ センターの Sharktech の E3-1270v2 シリーズは現在 10%...

グループ購入ウェブサイトの統合が第一陣に広がる

注目を集める資金調達、狂気じみた拡大、そしてサイトの縮小を経て、共同購入業界の再編は今年4月から加速...