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

推薦する

最新のTOP44ウェブマスターウェブサイトの要約と分析

昨年3月に、Alexaランキング1万位以下の国内ウェブマスターサイトを初めてまとめました。その時は合...

Vaicdn-全品永久20%オフ、香港クラウドサーバー+香港物理サーバー、Huawei香港+Alibaba香港専用回線へのアクセス、香港高防御保護付き

VaiCDNは現在、全製品を対象に永久20%割引プロモーションを実施しています。香港のトップネットワ...

centralhosts-4.5$/windows/256m/40g ハードディスク/無制限 G ポート

centralhosts は、非常に昔ながらのワンマン IDC で、多くのビジネスを展開しています。...

スイカは動き出し、ステーションBは速く走っている

動画配信プラットフォーム「ビリビリ」( Bステーション)は先日、上海で「新世代」をテーマにした年次マ...

いくつかの主要な図書館ウェブサイトへの外部リンクの作成方法の概要

WenKu の Web サイトは、SEO 実践者が垂涎の的となる重要な情報源であり、SEO 担当者が...

クラウド アーキテクチャ DevOps を適用するには?

DevOps はプロセス改善に関連し、クラウド コンピューティングはテクノロジーとサービスの改善に関...

time4vps: リトアニア VPS、50% オフ、年間 30 ユーロ、2G メモリ/1 コア/1T ハードディスク/8T トラフィック

time4vps(2003年設立のInterneto vizijaのブランド)は現在50%割引を提供...

高級品ウェブサイトは厳しい冬を迎える:3つのウェブサイトが閉鎖

数万元から数十万元もする高級ブランドに比べ、中高級市場に位置する数千元から数万元程度の軽奢品がホワイ...

より優れた指標、より優れたクラウドファースト戦略

クラウドファースト戦略のリスクとメリットは、大規模で複雑な IT 環境を持つ CIO にとって難しい...

ビジネスウェブサイトへのトラフィックを増やす方法

企業はインターネットの重要性をますます認識するようになり、インターネットを第二の人生のようにしっかり...

Cert-manager を使用した Admission Webhooks 証明書の管理

Kubernetes は、組み込み機能を拡張する方法を提供します。最も一般的に使用されるのは、おそら...

2020 年のパブリック クラウド ホスティング サービスのトップ 10 プレーヤー

[51CTO.com クイック翻訳] Gartner は、パブリック クラウドの Infrastru...

元小紅書社員が明かす:売上を伸ばすコピーライティングの7つのルーティン

10 語で見知らぬ人を惹きつけるのは、誰もが習得すべきスキルです。夜酵素は日本の女性向けダイエット薬...

地域ウェブサイトの運用と保守の最適化のプロセスにおける外部リンク構築のアイデアの簡単な分析

ウェブサイトの最適化コンテンツと外部リンクは切り離せない関係にあります。著者は日々ウェブマスターフォ...

藍雲鋒:オンラインマーケティングにおける悪事と悪事の不在の概念について

オンライン マーケティング (OM) は、テクノロジー、知恵、安定性、勤勉さの組み合わせです。 OM...