メモ
GKEの場合type: NodePort
なServiceに対してはデフォルトではFirewallでアクセス制限されているので、
インターネットアクセスさせたい場合は、Node VMに対してFirewallでポートを開放する必要がある。
gcloud compute instances list --format=json
でNode VMのNetwork Tagを取得する。
次のようなJSONを見つける。
"tags": {
"fingerprint": "QQ4Xy9d0sJc=",
"items": [
"gke-k8s-499a00f1-node"
]
}
このNetwork Tagに対して、開放したいNode Portを許可するルールを作成する。NodePort全開放したい場合は次のコマンドで。
gcloud compute firewall-rules create k8s-allow-node-port --allow tcp:30000-32767 --target-tags gke-k8s-499a00f1-node
全Nodeに影響するので、注意が必要だけど、type: LoadBalancer
をたくさん作る余裕がない場合はには便利。