11. 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
16. ✔ 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 は割愛
41. クラスタ内で完結するアップグレード戦略
Inplace と Blue/Green with 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/Green with 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/Green with Node pool)
(1) Control Plane のアップグレード
Data Plane のバージョンが Control Plane を超えることはできない
44
1.20
1.20
1.21
Ready Ready Ready
※ 説明の簡略化のため Node pool は
ひとつだけにしています
45. GKE アップグレードの流れ (Blue/Green with Node pool)
(2) 新しいバージョンの Node pool を追加
移行元の Node pool で展開されているワークロード以上のリソースが必要
45
1.20
1.21
1.21
Ready Ready Ready
Ready Ready Ready
60. 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
64. 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 Control Plane
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 アップグレードの流れ
すべての Data Plane を新バージョンの 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 アップグレードの流れ
旧バージョンの Control Plane を削除してアップグレード完了
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