Kubernetes は、最も人気のあるオープンソースのコンテナ オーケストレーション ソリューションです。 Kubernetes を使い始めるのは簡単ではありません。 この記事は、Kubernetes の最も重要な概念のいくつかを理解するのに役立ちます。 1. コンテナ オーケストレーションが必要な理由は何ですか?ほとんどの企業はマイクロサービス アーキテクチャを採用しています。 マイクロサービスは革新のための柔軟性を提供します。 ただし、マイクロサービスは無料ではありません。いくつかのアプリケーションをデプロイする代わりに、数百のマイクロサービスをデプロイします。これにより複雑さが増します。 コンテナは、デプロイメントと監視の課題を簡素化するのに役立ちます。ただし、インフラストラクチャと展開の管理には課題が残っています。例: マイクロサービス A のコンテナ インスタンスが 10 個、マイクロサービス B のコンテナ インスタンスが 15 個、... などが必要です。また、マイクロサービスには他の機能も必要です。代表的な機能は次のとおりです。
2. コンテナ オーケストレーションとは何ですか?コンテナ オーケストレーション ソリューションは、マイクロサービス アーキテクチャに必要なほとんどの技術的機能を提供します。複数の VM インスタンスのクラスターを作成し、そのクラスターにマイクロサービスをデプロイできるようになります。コンテナ オーケストレーション ソリューションは、クラスターとデプロイメントを管理します。 3. Kubernetes とは何ですか?コンテナ オーケストレーション プラットフォームは数多くあります。たとえば、Docker Swarm、Mesosphere、Kubernetes などがあります。過去数年間、Kubernetes はコンテナ オーケストレーション分野の勝者として浮上してきました。 4. Kubernetes の最も重要な概念は何ですか?Kubernetes を使用してマイクロサービス アーキテクチャを構築したいとします。ワークフローは次のようになります。
それでは、それぞれについて詳しく見ていきましょう。 4.1 クラスターとは何ですか?クラスターは仮想マシンのグループです。クラスターには 2 種類のノードがあります。
以下に、マスターノード(コントロール プレーン) の重要なコンポーネントをいくつか示します。
ワーカーノードの役割は、マイクロサービスを実行することです。さらに、各ポッドでは Kubelet と呼ばれる Kubernetes コンポーネントが実行されます。 Kubelet により、ワーカー ノードはマスター ノードと通信できるようになります。 4.2 マイクロサービスをデプロイしようマイクロサービス A の V1 のインスタンスを 5 つデプロイするとします。デプロイメントを作成し、複数のインスタンスを設定するために発行されるコマンドは、以下のようになります。 ** デプロイメントを作成します** hello - world - rest - api --image = in28min / hello - world - rest - api : 0.0 .1 。 リリース これにより、5 つのインスタンスを持つ Microservice A の v1 が Kubernetes クラスターにデプロイされます。 Kubernetesは内部的に
Kubernetes はなぜこれを実行するのでしょうか? もっと深く掘り下げてみましょう。 4.3 ポッドとは何ですか?Pod は Kubernetes でデプロイ可能な最小単位です。ポッドはマイクロサービスのインスタンスを表します。各ポッドには一時的な IP アドレスが割り当てられます。 Kubernetes クラスターでマイクロサービス A のインスタンスを 10 個、マイクロサービス B のインスタンスを 12 個実行すると、合計 10 + 12 = 22 個のポッドが実行されることになります。 4.4 レプリカセットとは何ですか?5 つのインスタンスを持つマイクロサービス A を Kubernetes クラスターにデプロイします。つまり、5 つのポッドが実行されていることになります。ポッドを殺したとします。 Kubernetes はこれを自動的に認識し、代替ポッドを作成します。 Kubernetes はポッドの状態を監視し、異常なポッドを置き換えます。 Kubernetes はこれをどのように実現するのでしょうか? これは ReplicaSet の仕事です。 ReplicaSet は、指定された数のポッドが常に実行されることを保証します。上記の例では、ReplicaSet により、マイクロサービス A の 5 つのインスタンスが常に実行されるようになります。 4.5 デプロイメントとは何ですか?ReplicaSet が特定の数のポッドを保証する場合、Deployment の役割は何ですか? デプロイメントにより、マイクロサービスの新しいバージョンをリリースする際の柔軟性が確保されます。 デプロイメントはマイクロサービスのすべてのバージョンを表します。 現在、マイクロサービスのバージョンは 1 つだけです。ただし、新しいバージョンを展開することは可能です。ダウンタイムなしでマイクロサービス V2 をデプロイしたいとします。 それがデプロイメントの機能です。 既存のマイクロサービスの新しいバージョンをデプロイすると、そのデプロイによってマイクロサービス A の V2 用の新しい ReplicaSet が作成されます。 以下のものが含まれます:
英国への派遣 4.6 クイックレビュー - デプロイメントとレプリカ セットkubectl デプロイメントmicroservice1 を作成します-- イメージ= microservice1 : v1 各マイクロサービスのデプロイメントを作成します。デプロイメントはマイクロサービス (およびそのすべてのバージョン) を表します。ダウンタイムなしで新しいバージョンを展開します。 レプリカ セットは、特定のマイクロサービス バージョンに対して特定の数のポッドが実行されていることを確認します。ポッドの 1 つが強制終了された場合でも、レプリカ セットは新しいポッドを開始します。 kubectl イメージデプロイメントmicroservice1 を設定しますmicroservice1 = microservice1 : v2 V2 マイクロサービスをデプロイすると、新しい ReplicaSet (V2 ReplicaSet) が作成されます。 デプロイメントでは、構成されたリリース戦略に従って、V1 レプリカ セットと V2 レプリカ セットが更新されます。 4.7 サービスとは何ですか?Kubernetes では、各 Pod に独自の IP アドレスがあります。次のような状況で外部ユーザーに影響が及ばないようにするにはどうすればよいでしょうか。
解決策: サービスを作成します。 デプロイメント名を公開-- タイプ= LoadBalancer -- ポート= 80 サービスは、安定した IP アドレスを使用してデプロイメントを外部に公開します。これにより、ポッドが上下に移動されてもユーザーに影響が及ばなくなります。 サービスは次の 3 つのカテゴリに分かれています。
5. 次のステップ
|
<<: Dockerの4つのネットワークモードを解説した記事
>>: モノのインターネットはエッジコンピューティングの最も強力なアプリケーションです
草の根ウェブマスターにとって、「草の根ウェブマスター」という言葉は、インターネットビジネスを始めると...
この記事では、越境ECにおけるSEO戦略についてお話しします。 4つの側面から説明してください。 E...
Weiboマーケティングの事例やWeiboマーケティングの概念は数多く存在しますが、Weiboマーケ...
百度のオリジナルコンテンツに対する判断の分析重複コンテンツが多いウェブサイトは、キーワードランキング...
アプリケーション ワークロードをエッジ コンピューティング デプロイメントに移行するメリットを検討す...
公霄は文字通り供給と販売を意味します。この言葉は現在、電子商取引と結びついて、伝統的なブランドが電子...
国内のモバイルインターネットは急速に発展しており、企業の具体的な実践事例を研究することは、この分野に...
「我々は困難な変革期にある。成功しなければ、我々は消滅してしまうだろう」と、Qutoutiaoの内部...
今日、ほぼすべての企業の開発者は、迅速な IT 応答時間、セルフサービス展開、優れたユーザー エクス...
bcyhost(香港百草網絡有限公司)は、新たに設立されたVPSブランドです。コンピューター室に自社...
今年のTフロアイベントは、ASフォーラム(私が設立)の水上エリアにて午後9時から開催される予定です!...
[51CTO.comより引用] 9月10日、「保険業界の開放、変革、相互統合の革新の道」をテーマにし...
vpb は、マルチ IP 香港サーバーを提供します。これは、クラスター サーバーと呼ばれることが多い...
Fan Yun (fanayun) はバックエンドを WHMCS に切り替えました。新しいプラットフ...
12月24日、Tencent Cloudはインドリージョン2のサービスを正式に一般公開したと発表した...