VPC Peering
Public
Endpoint
VPC Native& Private Cluster
ノードを内部 IP アドレスのみで構成、Control Plane のアクセス制限
● ノードは VPC 上のプライベート NW で運用したい
Primary Subnet Pod Range Service Range
Private
Endpoint
12.
VPC Peering
Public
Endpoint
VPC Native& Private Cluster
ノードを内部 IP アドレスのみで構成、Control Plane のアクセス制限
● ノードは VPC 上のプライベート NW で運用したい
Primary Subnet Pod Range Service Range
Private
Endpoint
13.
VPC Peering
Public
Endpoint
VPC Native& Private Cluster
ノードを内部 IP アドレスのみで構成、Control Plane のアクセス制限
● ノードは VPC 上のプライベート NW で運用したい
Primary Subnet Pod Range Service Range
Private
Endpoint
Master
Authorized
Networks
✔ Shared VPC
✔Regional
✔ VPC Native
✔ Private
✔ Static (no channel)
エンタープライズにおける GKE の構成例
16
Anthos Service
Mesh
+
Shared VPC Network
Shared VPC
Connectivity
Kubernetes
Engine
Shared VPC
Host Project
Shared VPC
Service Project
(Cluster Project)
Zone
Public Endpoint
+ master authorized networks
17.
Google が提供するマネージドサービスメッシュ
- Istiodは、Google 管理 か In-cluster か、ホスト先を選択可能
Anthos Service Mesh
HTTP/S, gRPC, TCP
mTLS
Mesh CA
Managed
backends
Istiod
Service A Service B
Envoy Envoy
In-cluster control plane
Data
Plane
Control
Plane
Telemetry
TLS certs
to Envoys
Config to Envoys
User’s Cluster
18.
Anthos Service Mesh
Googleが提供するマネージドサービスメッシュ
- Istiod は、Google 管理 か In-cluster か、ホスト先を選択可能
- Google 管理 の場合、ASM はリリースチャンネルの利用が必須
HTTP/S, gRPC, TCP
mTLS
Mesh CA
Managed
backends
(Managed
Istiod)
Service A Service B
Envoy Envoy
Managed Anthos Service Mesh
Control
Plane
Telemetry
TLS certs
to Envoys
Config to Envoys
User’s Cluster
Data
Plane
※ managed Data Plane は割愛
クラスタ内で完結するアップグレード戦略
Inplace と Blue/Greenwith Node pool のふたつの選択肢
- クラスタへのアクセスが継続的に確保できる Blue/Green with Node pool がおすすめ
- Inplace は GKE 任せになるため、アップグレード中は操作を受け付けない
41
②
①
Inplace
1.20
1.21
1.20
1.21
Blue/Green with Node pool
①
1.20
1.21
② 1.21
1.20
42.
クラスタ内で完結するアップグレード戦略
Inplace と Blue/Greenwith Node pool のふたつの選択肢
- クラスタへのアクセスが継続的に確保できる Blue/Green with Node pool がおすすめ
- Inplace は GKE 任せになるため、アップグレード中は操作を受け付けない
42
Inplace
①
1.20
1.21
② 1.21
1.20
43.
おすすめの GKE アップグレード戦略
まずは「Blue/Green with Node pool を原則として、必要なときだけ
Cluster Migration を用いる」という戦略で始めてみては?
今回紹介している構成で Cluster Migration が必要になるケース
- クラスタの作成時にしか有効化できない新機能を導入したい
- やむを得ない理由で Control Plane をダウングレードしたい
- (クラスタの Control Plane の動作に問題があり、自動修復で回復しない)
43
44.
GKE アップグレードの流れ (Blue/Greenwith Node pool)
(1) Control Plane のアップグレード
Data Plane のバージョンが Control Plane を超えることはできない
44
1.20
1.20
1.21
Ready Ready Ready
※ 説明の簡略化のため Node pool は
ひとつだけにしています
ASM (Control Plane)のアップグレード戦略
Istio のアップグレード戦略には Inplace と Canary が使えるが、
ASM の場合は原則 Canary になる
ASM
Control Plane
ASM
Control Plane
mTLS
Service A Service B
Envoy Envoy
Canary
Inplace
ASM
Control Plane
mTLS
Service A Service B
Envoy Envoy
1.10
1.11
1.10 1.11
60
ASM アップグレードの流れ
ASM 1.10の環境を ASM 1.11 にアップグレードする場合を考える
ASM Control Plane
v1.10
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
65.
ASM アップグレードの流れ
ASM ControlPlane
v1.10
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
$ asmcli install -r asm-1112-17
ASM 1.11 をインストール
- この時点では既存の ASM Data Plane には影響しない
66.
ASM アップグレードの流れ
ASM 1.11をインストール
- この時点では既存の ASM Data Plane には影響しない
ASM Control Plane
v1.10
ASM Control Plane
v1.11
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
67.
ASM アップグレードの流れ
移行するテナントの Namespaceのラベルを書き換え、Pod を再起動
- 図はテナント B が ASM 1.11 に移行した状態
ASM Control Plane
v1.10
ASM Control Plane
v1.11
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
68.
ASM アップグレードの流れ
すべての DataPlane を新バージョンの ASM に移行
ASM Control Plane
v1.10
ASM Control Plane
v1.11
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
69.
ASM アップグレードの流れ
旧バージョンの ControlPlane を削除してアップグレード完了
ASM Control Plane
v1.11
mTLS
Service A Service B
Envoy Envoy
Namespace: istio-system
Namespace: tenant-B
Namespace: tenant-A
70.
ASM アップグレード時のリソース消費
Canary Upgradeでは一時的に倍のリソースが必要になることに注意
- ノードリソースや、ResourceQuota などに余裕がある状態で実施すること
ASM
Control Plane
ASM
Control Plane
1.10 1.11
70