この記事は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 クラスター アーキテクチャ図
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 も有効にする必要があります。学びましたか? |
>>: 年末レビュー | 2020 年のクラウド大手のダウンタイム インシデント
イラスト:ナンドゥ:チェン・ティンGoogle が中国での音楽検索事業を終了、Baidu の音楽プラ...
今日の SEO 業界について、私たちはますます困惑しています。SEO は本当に古いのでしょうか? 中...
クラウド ベンダーが顧客との信頼関係を構築し、市場で差別化を図るために変更できる主な方法は 2 つあ...
本日、烏鎮で開催されている世界インターネット会議において、多くの同僚と「過去を振り返り新たなことを学...
[51CTO.com からのオリジナル記事] 今年、この流行病は世界に多大な影響をもたらし、人々の生...
spinserversは今月初め、中国電信のネットワークに接続されたサンノゼデータセンターに独立した...
マルチクラウドは単なるトレンドではありません。これは、デジタル環境を切り拓く組織にとって変革的な戦略...
第1章第6節 フェイスプロジェクト---ホームページデザインホームページをどうデザインするかも重要な...
周知のとおり、ウェブサイトのSEO最適化のプロセスにおける外部リンクの役割は明らかです。百度のスパー...
ロシアの VPS 業者である smartape は、ロシア市場で高い評価を得ています。同社は 200...
入札アカウントでのキーワードの重複は、すべての入札担当者が遭遇する一般的な問題です。この問題に対する...
何らかの理由により、Google は最近、Google Drive クラウド ストレージ プランの名...
伝統的な企業がインターネットに参入し、独立したB2Cショッピングモールを設立する際に遭遇する問題と困...
11月24日、第9回CDCCデータセンター標準サミットにおいて、Tencent Cloudは新しくア...
最近、多くのウェブマスターや SEO 担当者がオンラインで Baidu を非難しています。しかし、注...