📝 BLOG.IK.AM

@making's memo
(🗃 Categories 🏷 Tags)

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

🗃 {Dev/CaaS/Kubernetes}

🏷 GCP 🏷 GKE 🏷 Kubernetes

🗓 Updated at 2017-12-25T13:50:37+09:00 by Toshiaki Maki  🗓 Created at 2017-12-25T13:50:37+09:00 by Toshiaki Maki  {✒️️ Edit  ⏰ History}


メモ

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