GKEでingressをcreateした際にquota exceededと怒られたときの対応
GKEで新しくワークロードを追加しようとしてingressをcreateした際に下記のエラーが発生。
googleapi: Error 403: Quota 'BACKEND_SERVICES' exceeded. Limit: 9.0, quotaExceeded
Compute Engine APIのBackend Servicesのリソースが足りねぇぞ、とのこと。
自分のケースだとingressが外部IPに紐づかず、宙ぶらりんの状態に。
公式にちゃんと書いてあった。
Resource Quotas | Compute Engine Documentation | Google Cloud
Compute Engine では、さまざまな理由から、使用できるリソースの割り当て量を制限しています。
使用量の大幅な増加が見込まれる場合は、事前に Cloud Platform Console の [割り当て] ページから割り当て量の調整をリクエストすることができます。
リソースが足りなくなったサービスは最大使用量をリクエストできると。
下記の手順でリクエスト。
- GCPコンソールの「IAMと管理」の「割り当て」からリソースを最大まで割り当てているサービスを確認
- 対象のサービスを選択
- ページ上部の「割り当てを編集」をクリック
- 名前、メールアドレス、電話番号を入力(名前とメールアドレスはデフォルト入ってる)
- 変更後の最大量とリクエストの説明を入力(説明はサービスプロバイダに送られるとあるのでちゃんと書いておくと嬉しいアドバイスをもらえるかも)
- 最後にリクエストを送信
自分の場合はリクエストから3分後ぐらいに最大量が変更されました。
単一クラスタにマイクロサービスのモジュール単位でワークロードを追加していて気づいたら上限までいってた。
今回は対象のサービスの最大量をあげる対応をしたけどこれからもモジュール増え続けるしインフラ構成を見直しても良いかもと思ったりした。
ちなみに割り当て量の確認はGCPコンソールの「IAMと管理」の「割り当て」か下記のコマンドからさっと確認できます。
gcloud compute project-info describe --project myproject