旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
ブルーグリーンデプロイメント
高度なロードバランシングを使用すると、サービス用ブルーグリーンデプロイメントを簡単に調整できます。
ターゲットインフラを切り替えるには、host
値を変更するためのサービスのPATCH
リクエストのみが必要です。
バージョン 1 のアドレスサービスを実行する「ブルー」環境を設定します。
-
アップストリームを作成します。
curl -X POST http://localhost:8001/upstreams \ --data "name=address.v1.service"
-
アップストリームに2つのターゲットを追加します。
curl -X POST http://localhost:8001/upstreams/address.v1.service/targets \ --data "target=192.168.34.15:80" --data "weight=100" curl -X POST http://localhost:8001/upstreams/address.v1.service/targets \ --data "target=192.168.34.16:80" --data "weight=50"
-
ブルーアップストリームをターゲットとするサービスを作成します。
curl -X POST http://localhost:8001/services/ \ --data "name=address-service" \ --data "host=address.v1.service" \ --data "path=/address"
-
最後に、エントリポイントとしてサービスへルートを追加します。
curl -X POST http://localhost:8001/services/address-service/routes/ \ --data "hosts[]=address.mydomain.com"
ホストヘッダーがaddress.mydomain.com
に設定されているリクエストは、Kong Gatewayによって定義された2つのターゲットにプロキシされるようになりました。リクエストの3分の2はhttp://192.168.34.15:80/address
( weight=100
)、3分の1はhttp://192.168.34.16:80/address
( weight=50
)に送信されます。
アドレスサービスのバージョン2をデプロイする前に、「グリーン」環境を 設定します。
-
アドレスサービスv2用の新しいGreenアップストリームを作成します。
curl -X POST http://localhost:8001/upstreams \ --data "name=address.v2.service"
-
アップストリームにターゲットを追加します。
curl -X POST http://localhost:8001/upstreams/address.v2.service/targets \ --data "target=192.168.34.17:80" --data "weight=100" curl -X POST http://localhost:8001/upstreams/address.v2.service/targets \ --data "target=192.168.34.18:80" --data "weight=100"
-
ブルーグリーンのスイッチを有効にするには、サービスを更新するだけで済みます。 サービスをブルーからグリーンのアップストリーム、v1 -> v2 に切り替えます。
curl -X PATCH http://localhost:8001/services/address-service \ --data "host=address.v2.service"
ホストヘッダーがaddress.mydomain.com
に設定された受信リクエストは、Kongによって新しいターゲットにプロキシされるようになりました。リクエストの半分は
http://192.168.34.17:80/address
(weight=100
)、残りの半分はhttp://192.168.34.18:80/address
( weight=100
)に送信されます。
通常通り、Kong Gateway Admin API による変更は動的であり、ただちに有効になります。再読み込みや再起動は不要で、進行中のリクエストは破棄されません。