gcpug / nouhau

Google Cloud Platformのノウハウを共有するRepository
https://gcpug.jp
MIT License
655 stars 23 forks source link

Traffic Splittingが既存のDeployされたRevisionには効かない #113

Open sinmetal opened 4 years ago

sinmetal commented 4 years ago

WHAT

Cloud RunにTraffic Splittingの機能がリリースされているが、過去のRevisionを操作した場合、Routingに失敗して動かない。

image

既存のRevisionに対してTraffic Splittingを実行した場合、適用が終わらず延々と操作中になるか、 Resource readiness deadline exceeded. でエラーになる。

解決策

新たにDeployを行ったRevisionであれば、動作すると思われる。

apstndb commented 4 years ago

重要なのは古すぎるリビジョンかどうかで、使うコマンドは関係がないような気がする

apstndb commented 4 years ago

ちなみに私は migrate traffic が UI に来ていなかったけど gcloud alpha run services update-traffic は動いた

gcloud alpha run services update-traffic --region=asia-northeast1 --platform=managed --to-revisions=grpc-ping-00002-woj=50,grpc-ping-00001-tum=50
Service name: grpc-ping
✓ Updating traffic... Done.
  ✓ Routing traffic...
Done.
TRAFFIC  REVISION
50%      grpc-ping-00001-tum
50%      grpc-ping-00002-woj
sinmetal commented 4 years ago

{Service name}-NNNNNN-xxx という表記のRevisionを対象にすれば、とりあえず、みんな行けそうなみたいな感じなのかな?

sinmetal commented 4 years ago

僕、最初試した時、元々あった {Service name}-NNNNNN を対象にしたら、 {Service name}-xxx という謎のRevisionが新たに生えて、結局動かなかった。

apstndb commented 4 years ago

結局のところまだ正式にリリースされている機能ではないので、リリースノート上正式にリリースされた時に古いリビジョンに対して止めるか強制的にアップグレードみたいな案内がありそうな気もする

sinmetal commented 4 years ago

待機!