このトピックでは、最新バージョンのサービス (グレーリリースを通じてすでにリリースされているもの) が指定した期間中に例外なく実行されている場合に、以前のバージョンのサービスの削除方法を解説します。
前提条件
- Kubernetes クラスターが作成されている必要があります。 詳しくは、「Kubernetes クラスターの作成」をご参照ください。
- kubectl を利用して Kubernetes クラスターへ接続されている必要があります。「kubectl を利用した Kubernetes クラスターへの接続」をご参照ください。
- 以前のバージョンのサービスがデプロイされている必要があります。 詳しくは、「手順 1: サービスのデプロイ」をご参照ください。 グレーリリースを通じて、最新バージョンのサービスもリリースされている必要があります。 詳しくは、「手順 2: 最新バージョンのサービスのリリース」をご参照ください。
コマンドの実行
- 以下のコマンドを実行し、以前のバージョンのサービスを削除するために、手順 2: 最新バージョンのサービスのリリース によりデプロイされた YAML ファイルを編集します。
注
annotations
フィールドを削除する必要があります。$ kubectl get ingress gray-release-02
Container Service コンソールの利用
- Container Service コンソール にログインします。
- Kubernetes で、左側のナビゲーションウィンドウから をクリックします。
- 対象となるクラスターおよび名前空間を選択します。対象となる Ingress を選択し、操作列で [更新] をクリックします。
- 表示されたダイアログボックスで、以下のように Ingress を変更します。
- [更新] をクリックします。
結果
- Ingress のページに戻ります。 ここでは、"new-nginx" サービスを指す 1 つの Ingress ルールのみを確認できます。
- マスターノードへログインし、Ingress のアクセスを表示するために "curl" コマンドを実行します。
$ curl -H "Host: www.example2.com" http://<EXTERNAL_IP>
これで、すべてのリクエストが最新バージョンのサービスへ転送されます。これは、グレーリリースデプロイのサイクルが完了したことを意味します。 以前のバージョンのデプロイおよびサービスも削除することができます。