如何限制访问kubernetes服务的IP地址?

Mik*_*laj 5 load-balancing ip-address kubernetes google-kubernetes-engine

有没有办法限制集群外部对LoadBalancer类型的Kubernetes Service的访问?

我想使用 LoadBalancer 服务将数据库的 Pod 公开到 Internet,该服务只能由我的外部 IP 地址访问。

我的 Kubernetes 集群在 GKE 上运行。

Iva*_*cki 9

您可以使用此处loadBalancerSourceRanges提到的方法来过滤负载平衡流量。

以下是 Nginx Ingress 控制器前面的 Service 的简单示例:

apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: external
    app.kubernetes.io/name: ingress-nginx
  name: external-ingress-nginx-controller
  namespace: kube-ingress
spec:
  loadBalancerSourceRanges:
  - <YOUR_IP_1>
  - <YOUR_IP_2>
  - <YOUR_IP_3>
  ports:
  - name: https
    nodePort: 32293
    port: 443
    targetPort: https
  selector:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: external
    app.kubernetes.io/name: ingress-nginx
  type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)