Kubernetesは問題を解決するため複雑である

Kubernetesは問題を解決するため複雑である

Kubernetes は複雑すぎますか?

Kubernetes は複雑かどうかとよく聞かれます。この記事では、これらの議論を一つずつ説明し、答えていきます。 Kubernetes が必要な場合と不要な場合についても説明します。

仮想マシンよりもコンテナを使用する利点

Kubernetes 自体の複雑さを検討する前に、Docker コンテナについても理解する必要があります。Docker コンテナも複雑さを増すからです。この複雑さは価値があるのでしょうか?

Kubernetes を使用しないことに決めたとしても、Docker は使用すべきであることにほぼ全員が同意するでしょう。 Kubernetes を使用せずに Docker コンテナを AWS やその他のクラウド プロバイダーにデプロイすることも難しくありません。仮想マシン上で実行中の Docker デーモンをセットアップするだけです。

Docker コンテナの主な利点は、自己完結型のパッケージであることです。アプリケーションの環境を、それが実行されるマシンから分離します。 Dockerfile によって依存関係が明示的に示されるため、ホスト上に存在するライブラリや Python のバージョンを気にする必要がなくなりました。自分のマシンで動作する場合は、同じ CPU アーキテクチャを持つどのマシンでも動作します。 Docker は厳密にはコードとしてのインフラストラクチャではありませんが、Dockerfile を使用すると、アプリケーション ランタイムを Git リポジトリ内の単純なファイルとして定義できます。

Docker コンテナのもう 1 つの利点は、不変のインフラストラクチャの世界向けに設計された分散アプリケーション パッケージであることです。言い換えれば、ステートレスになるように設計されています。コンテナは本質的に一時的なものです。死んで再起動しても問題ありません。

Kubernetes を使用しない場合

次の 4 つの条件が満たされる場合、Kubernetes は必要ありません。

  • 非常に少数のコンテナを非常に少数のマシン (ホスト) にデプロイします。つまり、ユーザー数が限られているということです。
  • コンテナとマシンの数は固定されており、頻繁に増減されることはありません。
  • コンテナやマシンの故障がそれほど頻繁に発生しなくなります。
  • 永続ストレージ、負荷分散、構成管理、サービス検出、自動修復、自動スケーリングなどの機能は必要ありません。あるいは、機能は必要だが、要件が非常に限られており、ベンダー ロックインを気にしないという場合もあります。

つまり、要件が単純な場合は、より単純な Kubernetes の代替手段があります。複数の仮想マシン上で実行されている Docker デーモンにコンテナを直接デプロイできます。

複雑なニーズには複雑なソリューションが必要

ビジネスが急速に成長し、ユーザー数が急増している場合は、Kubernetes が本当に必要になる可能性があります。

  • アプリケーションは変化するユーザー負荷を処理する必要がある
  • コンピューティング以外にも、永続ストレージ、ロードバランサー、構成管理などの追加のクラウド サービスを使用する必要があります。
  • ノードが多すぎるとエラーが頻繁に発生し、アプリケーションに自動回復機能が必要になる
  • 複数のアプリケーションとシステムを一貫した方法で管理したい
  • 何百ものチームが同じ環境で作業したり、お互いのマイクロサービスを使用したりしている
  • その他の複雑なシナリオ

上記の要件を満たすには、Docker コンテナの大規模かつ動的な展開と、それらを相互に接続したり、ストレージなどの他のクラウド サービスに接続したりするために最適化されたインフラストラクチャであるコンテナ インフラストラクチャを導入する必要があります。

このインフラストラクチャの最も一般的な形式は Kubernetes です。これらが要件である場合、Kubernetes を実行してみませんか?確かに複雑ですが、これらの要件を満たすすべてのソリューションは同様の複雑さを伴います。

少なくとも Kubernetes の場合、複雑さはオープンソースであり、宣言型 Kubernetes API の形式で標準化されています。これは、他のパブリック クラウドやオンプレミス ソリューションよりも優れています。

Kubernetes と Docker を使用しないエンタープライズ インフラストラクチャ

これはヘイターたちの典型的な主張です:

Kubernetes と Docker は不要です。自動スケーリングが簡単、systemd は自己修復機能、クラウド プロバイダーには永続ボリューム用の API があり、バックアップはホスト上の cronjobs で実行され、シークレットは MyFavoriteSecretVault で実行され、Consul は構成管理を行い、サービス検出は DNS で実行され、ヘルス チェックは不要、Reddit のユーザーが前職でローリング アップデート用に 3000 行の Perl スクリプトを作成したため、明らかに Kubernetes は不要です。

これらの人々に対して私が言えることは、幸運を祈るということだけです。さらに、Kubernetes を再発明しました。

Kubernetesを初心者にとって使いやすくする

Kubernetes の最大の欠点は、非常に複雑な機能があらかじめ組み込まれていることですが、その複雑さは妥当なものであり、事前に学ぶべきことがたくさんあることを意味します。

<<:  サーバーレスが本当にわかりません!

>>:  Kubernetes がネットワーク セキュリティと管理機能を強化する新しいバージョン 1.26 をリリース

推薦する

ファーウェイ、グーグルのNexus 6Pを製造

グーグルは9月30日早朝、米国サンフランシスコで新製品発表会を開催し、ファーウェイ製Nexus 6P...

2020 年、クラウド コンピューティングは上位 4 社による戦いになるのでしょうか、それとも勝者総取りになるのでしょうか。

最近、Googleの親会社であるAlphabetが初めてGoogleのクラウドコンピューティング事業...

ネットワークソフトウェアはマルチクラウド管理の複雑さを軽減できる

複数のパブリック クラウドでアプリケーションを展開して実行することは、多くの IT リーダーにとって...

tragicservers - 40% オフ/メモリアルデーセール/ロサンゼルス VPS

tragicservers は、米国の戦没将兵追悼記念日を記念して、KVM 仮想、1Gbps 帯域幅...

SEO担当者の今後の開発方向を変える必要があるかどうかの簡単な分析

SEO業界の台頭とともに、SEO業者が春雨後のキノコのように出現しました。無名の業界から、徐々に人気...

リモートワークとクラウドコンピューティングはさまざまなエンドポイントセキュリティの問題をもたらす

最近の Syxsense Synergy イベントでは、サイバーセキュリティの専門家がエンドポイント...

Yimakeはオンラインマーケティングに取り組んでおり、オンライン化によって伝統的な業界を打破しています。

2014年、オンラインマーケティングが市場で素晴らしい成果を上げ、従来のマーケティングモデルに大きな...

ニューズウィーク:私たちはみんなインターネット中毒者

インターネット時代では、私たちは必然的にインターネット中毒者になる(インターネット写真)テンセントテ...

Aoyoyun: ロサンゼルス Kr データセンター Unicom AS9929 ライン VPS の簡単なレビュー

2010年に設立されたAoyoyun(aoyohost、Aoyo Cloud、Aoyo Host)は...

ウェブサイトの外部リンクを制御する方法についての簡単な説明

SEO 業界に不慣れなウェブマスターは、ウェブサイトを素早く最適化してすぐにランキングを獲得し、SE...

百度が1年前に大幅調整した後、外部リンクの新たな役割と構築方法を探る

百度の大調整は2012年6月に始まり、あっという間に1年が経ちました。この1年間、百度検索エンジンは...

ウェブサイトのユーザーエクスペリエンスデザイン分析: 色の声に耳を傾ける

序文色は、ウェブサイトが感情を表現したり、その個性を反映する方法であり、それぞれの色には独自の声があ...

LightInTheBox は成長のジレンマに陥っています: ウェディングドレスの代替品を見つける方法

シナテクノロジー トレーシー上場前から人気を集めていたラザダは、第2四半期の決算発表後に「財務報告の...

外部リンクを増やす2つの方法

最近、Google と Baidu は外部リンクにますます注目しています。ウェブマスターは非常に勤勉...

自動車B2Cショッピングモールサイトの4つの収益モデルの分析

自動車は家庭にとって生活必需品となり、それを支える設備も販売のホットスポットとなっています。自動車B...