首页 > 解决方案 > 如何将防火墙规则添加到 gke 服务?

问题描述

我不清楚如何做到这一点。

我为我的集群创建一个服务,如下所示:

kubectl expose deployment my-deployment --type=LoadBalancer --port 8888 --target-port 8888

现在我的服务可以从互联网上的 8888 端口访问。但我不希望这样,我只想让我的服务可以从特定的公共 IP 列表中访问。如何将 gcp 防火墙规则应用于特定服务?不清楚这是如何工作的,以及为什么默认情况下可以从 Internet 公开访问该服务。

标签: kubernetesgoogle-cloud-platformgoogle-kubernetes-engine

解决方案


loadBalancerSourceRanges似乎工作并且还更新了为服务动态创建的 GCE 防火墙规则

apiVersion: v1
kind: Service
metadata:
  name: na-server-service
spec:
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  loadBalancerSourceRanges:
  - 50.1.1.1/32

推荐阅读