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

推薦する

Qiyiマーケティングモバイルフォンは、唯一の安全なWeChatクローンシステムである別のブラックテクノロジーを開発しました

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

Baidu関連のキーワードについての私の個人的な推測

今日は、百度の関連キーワードについての私の個人的な推測についてお話しします。百度の宣伝広告やインター...

オンラインで購入したティソの時計のアフターサービスが拒否されました。ウェブサイトチームが責任を負います

記者らは、ここで開催された「上海ダイヤモンド文化祭」で、オンラインダイヤモンドショッピング市場が時間...

草の根ウェブマスターがインターネットに挑戦し、何度も失敗:メンタリティが成功と失敗を決める

序文:草の根ウェブマスターとして、A5 のようなウェブマスター プラットフォームで自分の経験を共有す...

美容ウェブサイトの短命な人気の背景には、プライバシー紛争と創造性の欠如がある

武漢大学の「美人コンテスト」ウェブサイトwhuface.comのスクリーンショット(写真提供:Sin...

バックリンクの自然さと品質の優先順位についての簡単な説明

バックリンクは、単にターゲット ドキュメント内の宣言です。つまり、通常のリンクはドキュメント A で...

extravmはどうですか?米国ダラスデータセンターのVPSの簡単なテスト

Extravm は、米国中部のダラスに独自の VPS 事業を展開しています。デフォルト構成は、AMD...

Kata Containersの創設者が安全なコンテナ技術を紹介します

1. 由来:安全容器の命名Phil Karlton は、「コンピューター サイエンスにおいて本当に難...

ボリュームドライブ - $29.95/X3220/8g メモリ/500g ハードディスク/100m 無制限/IPMI

Volumedrive については説明の必要はありませんね。同社のサーバーの価格性能比は、おそらく ...

SEO最適化における各タグ命令の役割を共有する

検索エンジン最適化では、タグのさまざまな指示がさまざまな役割を果たします。さまざまな指示を通じて、ウ...

ウェブマスターはどのようにして、排除法によって良質で安価な SEO サービス プロバイダーを選択できるのでしょうか?

SEO サービス プロバイダーを選択することは、ウェブマスターにとって徐々に一般的なことになってきて...

インターネットマーケティングのマーケティングポジショニング

みなさんこんにちは。私はHongtu Internetです。私たちの家の近くには四川人が経営するレス...

今日の話題: CNNIC、第31回「中国インターネット統計レポート」を発表

Admin5.comは1月15日、中国インターネットネットワークインフォメーションセンター(CNNI...

SEO担当者に関するジョーク:傷つくわけにはいかない

この記事を書くきっかけは、SEOの仕事をしている友人が過労で2ヶ月以上入院したことでした。私もこの業...

どのようなウェブサイトがBaiduのホームページにランクインできるのか

みなさん、こんにちは。私はハルビン仮想現実ウェブサイト設計です。最近、百度のキーワードランキングが1...