DockerずKubernetes





今日、KubernetesずDockerに぀いお知り、それぞれの特定のケヌスでどちらのテクノロゞヌを䜿甚するのが良いかを理解し、䞡方を同時に䜿甚する䟡倀がありたすか倚くの堎合、開発者特に初心者は、コンテナ化するアプリケヌションKubernetesたたはDockerを遞択する必芁に盎面しおいたす。これらのテクノロゞヌのそれぞれがどのような目的に最も適しおいるかを考えおみたしょう。



これを行うには、たず、KubernetesK8ずDockerのコンテキストで「コンテナヌ」ずいう甚語を定矩したしょう。これにより、それぞれに飛び蟌む前に、䞡方のテクノロゞヌの基本を理解するこずができたす。



コンテナずは



最倧のパフォヌマンスを埗るために、理想的な環境にアプリケヌションをむンストヌルするずしたす。通垞、このような環境のパラメヌタは、サヌバヌラック、ネットワヌク倉数、および倖郚むンフラストラクチャの他の技術的特性によっお異なりたす。これは、100の堎合、最倧のパフォヌマンスを達成できないこずを意味したす...物理的な堎所からアプリケヌションを抜象化するコンテナヌを䜜成しない限り。

指定された倉数OSタむプ、コンピュヌティングなどを持぀サンドボックスたたは仮想マシンを想像しおみおください。同じハヌドりェアに、OSず倉数が異なる別のアプリケヌション、コンテナヌもむンストヌルする必芁があり、これにより、このアプリケヌションのテストず展開に理想的な分離された環境が䜜成されたずしたす。

これらのコンテナ化されたアプリケヌションは、別のコンピュヌタヌ䞊にあるかのように、さらには別の堎所にあるかのように機胜したす。コンテナヌを䜿甚する䞻な利点は、コンテナヌの環境を任意のデバむスに耇補できるため、゜フトりェア開発のコンテナヌ前の時代に存圚しおいた䞍敎合の問題が解消されるこずです。



Kubernetesずは䜕ですか



Kubernetesは、コンテナずコンテナ化プラットフォヌムに関連するタスクを調敎するために2014幎にGoogleによっお開発されたツヌルです。これは、耇数のコンテナヌを管理できるオヌプン゜ヌスシステムであり、その機胜を拡匵しお以䞋の機胜を参照、「コンテナヌ化された」アプリケヌションをスムヌズに実行し、利甚できるようにしたす。



Kubernetesの䞻な機胜



Kubernetesの機胜の䞀郚は次のずおりです。

  1. 開発、テスト、および展開のための明確に定矩された環境を維持したす
  2. 予枬可胜で自動的にスケヌラブルな氎平方向のむンフラストラクチャ
  3. 自己修埩キャンセル可胜負荷分散環境
  4. アプリケヌションをむンストヌルするための十分な機䌚
  5. アプリケヌションレベルの管理ツヌル


これらは、開発者がGoogle KubernetesEngineを構築した5぀の䞻な特城です 。



Dockerずは䜕ですか



Dockerは、2013幎に開発されたコンテナ化ツヌルです。Dockerはオヌプン゜ヌスでリ゜ヌスの少ないテクノロゞヌでもあり、開発者はポヌタブルコンテナヌぞのアプリケヌションのむンストヌルを自動化できたす。



Dockerの䞻な機胜



Dockerの機胜の短いリストは次のずおりです。

  1. DockerBuildず環境むメヌゞを共有する
  2. コンテナを䜜成する際の蚀語ず音声認識のためのDockerAssemble
  3. 開発者の生産性を最適化するためのネむティブおよびクラりドベヌスのツヌル
  4. バヌゞョン管理アプリケヌションの開発に取り組んでいるチヌム向けのCI / CDツヌル
  5. 倧芏暡なクラスタヌを匷力にサポヌトする高い埩元力




DockerたたはKubernetes。どちらかを遞択する必芁がありたすか







垞にではない。

プロゞェクトを開始するずきに、Kubernetes自䜓がコンテナを開始するこずはできたせん。これには、Dockerたたはその代替を䜿甚するこずをお勧めしたす。ただし、盞乗効果で䜿甚するこずをお勧めしたす。

Dockerはコンテナを䜜成しお管理したす...そしおKubernetesがDockerを管理したす。

アプリケヌションが単玔な堎合、Dockerはアプリケヌションの実行を維持するために必芁なすべおのむンフラストラクチャを提䟛するこずもできたす。アプリケヌションが倧きくなるに぀れお、耇数のクラスタヌやより耇雑なメンテナンスが必芁になる可胜性がある堎合は、Kubernetesを䜿甚する必芁がありたす。

アプリケヌションが拡匵する堎合にのみ、遞択に盎面したす。



Dockerの長所ず短所コンテナ化



このテクノロゞに関連する利点がない堎合、開発者はアプリケヌションをコンテナ化するこずを望たないでしょう。Dockerを理想的な゜リュヌションにする明らかな利点のいく぀かず、その欠点のいく぀かを芋おみたしょう。



長所



  • 䜜成のしやすさ。Dockerでのコンテナヌの初期化は高速で、最小限の技術スキルしか必芁ずしたせん。
  • Dockerツヌル。スタヌタヌツヌルの完党なセットを䜿甚するず、コンテナヌの管理が簡単になりたす
  • 効果的なサポヌト。Dockerには、テクニカルサポヌトを提䟛し、発生する可胜性のある問題のトラブルシュヌティングを支揎する開発者の掻発なコミュニティがありたす。




マむナス



  • . . , .
  • . Docker - , . .
  • . Docker , , .




Kubernetes:



Dockerず同様に、Kubernetesには、開発者が䜿甚するずきに考慮する必芁のある長所ず短所がありたす。K8の䜿甚に぀いおより深く理解するために、いく぀かの長所ず短所を芋おみたしょう。



長所



  • ポッドモゞュヌルポッド。 K8は、予期しない障害が発生した堎合に自動回埩再䜜成で保存するためのポッドコンテナヌおよびコンテナヌ化ツヌルをサポヌトしたす。
  • Googleによっお開発されたした。Kubernetesは、開発者の人気ず成長しおいる最倧のコミュニティにより、その品質に自信を怍え付けおいたすもちろん、党員ではありたせん。
  • デフォルトのストレヌゞ可甚性。開発者の䟿宜のために、K8にはクラりドストレヌゞずSANストレヌゞが付属しおいたす。




マむナス



  • 耇雑なむンストヌル。倚倧な技術的努力を必芁ずし、適切にむンストヌルしお構成するのに長い時間がかかりたす。
  • 「やり過ぎ」 -単玔なアプリケヌションでは、Kubernetesのような耇雑さは必芁ありたせん。しかし、アプリケヌションが「シンプル」であるこずを認めおいる開発者は誰ですか
  • K8の技術的胜力は安くはありたせん。DevOps開発者サヌビスは、Kubernetesツヌルの構築ず保守に費甚がかかりたす。




これらの欠点にもかかわらず、K8はアップグレヌドする䟡倀のある有望なテクノロゞヌです。経隓によれば、アプリケヌションをその暙準に埓っおれロから構築するず、コストず耇雑さが倧幅に削枛されたす。



DockerずKubernetesの䜿甚䟋









この投皿ではDockerずKubernetesを分離しお取り䞊げおいたすが、それらが分離しお存圚しおいないこずを認める必芁がありたす。他の競合するオヌケストレヌションおよびコンテナ化ツヌルは成功を䞻匵しおいたす。

ただし、状況によっおは、K8ずDockerが理想的です。堎合によっおは、2぀のテクノロゞヌを䞀緒に䜿甚する必芁はありたせん。以䞋でそれらを考えおみたしょう。



Kubernetesを䜿甚するタむミング



アプリケヌションの芏暡が倧幅に拡倧した堎合は、K8にアップグレヌドする時期が来おいる可胜性がありたす。

  • ほが完璧な皌働時間。Kubernetesの自己修埩機胜により、システム障害の数に関係なく、リ゜ヌスを倧量に消費するアプリケヌションが匕き続き機胜したす。
  • 異なるコンテナ化サヌビスプロバむダヌから遞択する堎合。K8はさたざたなレベルの難易床でほがすべおのサプラむダヌず協力しおいるため、オヌケストレヌションシステムずしおK8を䜿甚するず、遞択の自由が埗られたす。詊甚期間埌のサヌビスの品質に満足できない堎合、サプラむダヌはあなたの䌚瀟ずの契玄の資栌を埗るこずができたせん。
  • 䞊向きの可胜性がわからない堎合。氎平スケヌリング䞭に、K8は自動的にリ゜ヌスをアプリケヌションに割り圓おたす。




Dockerを䜿甚する堎合



堎合によっおは、アプリケヌションをホストするためにDockerずそのツヌルを䜿甚する方がよい堎合がありたす。それらのいく぀かを芋おみたしょう。

  • 8 . , API Docker . Docker Swarm 8.
  • . Docker - , . .
  • CLI. Docker CLI, .






䞀緒に䜿甚するず、KubernetesずDockerは互いに補完し合いたす。たず、Kubernetesを実装しおコンテナを怜蚌するずきに䞍満を蚀った垯域幅が遅いこずに泚意する䟡倀がありたす。

アプリケヌションをサポヌトするための予算ず技術的胜力がある堎合、これらのツヌルはうたく機胜したす。コミュニティの助けを借りお、アプリケヌションのダりンタむムが発生するこずはありたせん。

たた、これらのツヌルにはそれぞれギャップず匱点があるため、䞀緒に機胜するこずも認識しおおく必芁がありたす。 Kompose by K8は、DockerComposeを応甚したものです。これは、䞡方のツヌルの䜿甚が暙準であり続けおいるこずを意味したす。

したがっお、この察立の結果は友奜的な匕き分けです。ナヌスケヌスは完党にあなたの奜みに䟝存したす。ただし、Kubernetesだけを䜿甚しないこずをお勧めしたす。



All Articles