GKEでKubernetesを使用する時、よくtype: LoadBalancer
を使用すると思います。
以下のようにloadBalancerIP
を使用する場合、注意が必要です。
service.yaml
apiVersion: v1
kind: Service
metadata:
name: hoge
labels:
app: hoge
spec:
ports:
- port: 80
selector:
app: hoge
tier: frontend
environment : stage
type: LoadBalancer
loadBalancerIP: xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
は事前に取得した静的アドレスである必要がありますが、静的アドレスのタイプが「グローバル」の場合は以下のエラーが出力されます。
Error creating load balancer (will retry): Failed to create load balancer for service default/eccube: requested ip xxx.xxx.xxx.xxx is neither static nor assigned to LB xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(default/hoge)
リージョン指定するタイプの静的IPを確保しましょう。
なお、Serviceで作成されるTCPロードバランサではなく、Ingressで作成されるHTTP(S)ロードバランサはグローバルに属するIPアドレスが使用できます。