IK.AM

@making's tech note


GKEでNodePort TypeのServiceに対してインターネットアクセス許可する

🗃 {Dev/CaaS/Kubernetes}
🏷 Kubernetes 🏷 GKE 🏷 GCP 
🗓 Updated at 2017-12-25T13:50:37Z  🗓 Created at 2017-12-25T13:50:37Z   🌎 English Page

メモ

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をたくさん作る余裕がない場合はには便利。


✒️️ Edit  ⏰ History  🗑 Delete