バージョンをオーバーライドすることなく、このDeploymentを独自に拡張できます。最後に、これらのデプロイメントを使用するサービス定義を見てみましょう。LoadBalancerサービスは、アプリケーションの両方のバージョンに共通のラベルを使用します。これにより、両方のデプロイメントのポッドをサービスの一部にすることができます。2mtemplates/app-service.yamlのサービス定義で指定されているポッドのみを選択するように、クエリーのname=appラベルを明示的に指定していることに注意してください。v2バージョンからは2つのポッドがあります。このサービスにアクセスすると、v1バージョンから50%、2vバージョンから50%の応答が得られます。Deploymentをスケールv1バージョンとv2バージョンから含まれるポッドの数は、2つのデプロイメントを使用して個別に拡張できます。6m現在、4つのポッドはアプリケーションのバージョンv2から来ており、2つのポッドはアプリケーションのバージョンv1から来ていることがわかります。したがって、ユーザーからのトラフィックの3分の2が新しいアプリケーションから提供されるようになります。8m現在、すべてのポッドがDeploymentのv2バージョンを提供しています。Deploymentを削除する上記で作成したすべてのリソースを削除するには、このコマンドを実行します。(まだ未実装)デプロイメントとサービスを使用してトラフィックの適切なパーセンテージを達成するには、必要な数のポッドをスピンアップする必要があります。バージョンにv1ポッドのレプリカが4つある場合などです。次に、バージョンに5%のトラフィックを向けるためにv2、1ポッドのv2バージョンのレプリカには16個のv1バージョンのレプリカがさらに必要になります。これはリソースの最適な使用ではありません。Ingressによる重み付けトラフィックの切り替えが使用できます。アプリケーション内のさまざまなマイクロサービスがサービス検出を使用してインフラストラクチャ内で互いにどのように位置付けられるかの例を示す。マイクロサービスを使用して人のために挨拶を生成します。URLの名前/値のキーペアに基づいて挨拶を返します。URLの名前/値のキーペアに基づいて人の名前を返すマイクロサービス。これらのサービスは、Dockerイメージとして構築され、Kubernetesに配備されています。すべてのサービスはNode.jsアプリケーションとしてビルドされています。サービスと通信するに、以下の環境変数でサービスを構成する必要があります。環境変数は、そのラベルではなく、ポッドまたはホストのIPアドレスなどの静的参照することによって、これらのサービスを参照してください。サービスは機能し続けます。webappサービスのレプリカセットには、次の環境変数があります。/環境変数は、アプリケーション構成で定義されているように、nameおよびgreeterサービスを指しています。サービス用のイングレスロードバランサは、次のフラグメントを使用して作成されます。LoadBalancer全体として、サービスは次のように互いに通信します。KubernetesTweet広告を非表示にするもっと読むコメントを書く2018-08-29k8sクラスタのアップグレードKubernates203-cluster-upgradesKubernetesクラスタのアップグレードAWS上のKubernetesクラスタのアップグレードは、kopsで簡単にできます。今回Kubernetesクラスターを2つの方法でアップグレードする方法を試します。インプレースアップグレードKopsを使用すると、インプレースを使用してクラスタをアップグレードすることは簡単です。バージョン1.6.10のKubernetesクラスタをセットアップし、kopsを使用して1.7.2への自動ローリングアップグレードを実行します。1.6.10バージョンクラスタを作成します。--yesマルチAZ配備のクラスタにより、クラスタのアップグレード中にポッドやサービスがダウンタイムを起こさないことが保証されます。readyクラスタ内の異なるノードのバージョンを確認します。v1.6.10クラスタ内の各ノードがバージョン1.6.10であることを示しています。クラスタ構成の編集1.6.10の既存のクラスタを1.7.4にアップグレードしましょう。クラスタ構成を編集します。example.cluster.k8s.localこれにより、クラスタ構成がテキストエディタで開きます。ターゲットバージョン(この場合は1.7.4)にキーを設定し、設定ファイルを保存します。1.7.4変更を保存してエディタを終了します。Kubernetesクラスタは設定を再読み込みする必要があります。これは、次のコマンドを使用して、クラスタのローリング・アップデートを強制することで実行できます。このプロセスには30〜45分かかることがあります。その時間中に更新なしでクラスタを離れることをお勧めします。changes次のコマンドを使用して変更を適用します。clusterクラスタのアップグレード次のコマンドを使用して、いずれかのノードで再起動が必要かどうかを判断します。example.cluster.k8s.localこのコマンドは、次のように出力します。rolling-update.このSTATUS列には、マスターノードとワーカーノードの両方を更新する必要があることが示されています。次のコマンドを使用してローリングアップデートを実行します。example.cluster.k8s.locこのコマンドの出力が表示されます。completed!クラスタを再度検証します。メソッドを使用してクラスターをアップグレードすることは、本質的にはより控えめであると考えられ、アプリケーションの高可用性を考慮します。2つのk8sクラスタを設定します.1つは1.6.10バージョン、もう1つは1.7.2で、ポッドの展開とサービスは新しいクラスタに移行します。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。