2017-11-29 3 views
1

내 애플리케이션에 액세스 할 수있는 IP를 허용 목록에 추가하려고합니다. 이 자습서를 따라 http-balancer를 만들었습니다. https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balanceringress가 작동하지 않는 google 컨테이너 엔진의 IP 허용 목록

NodePort으로 서비스를 만든 후 ingress.yaml 파일을 만들었습니다. 전역 정적 IP를 만들고 도메인 이름을 설정했습니다.

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: nginx-ingress 
    annotations: 
    kubernetes.io/ingress.global-static-ip-name: <global-static-ip> 
spec: 
    rules: 
    - host: <domain_name> 
    - http: 
     paths: 
     - path: /* 
     backend: 
      serviceName: nginx 
      servicePort: 80 

위의 yaml 파일은 정상적으로 작동하며 "Welcome to Nginx"페이지에 액세스 할 수 있습니다.

그러나 허용 목록에 IP를 추가하면 작동하지 않는 것처럼 보이고 허용 목록에없는 다른 IP도 허용됩니다.

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: nginx-ingress 
    annotations: 
    kubernetes.io/ingress.global-static-ip-name: <global-static-ip> 
    ingress.kubernetes.io/whitelist-source-range: "xx.xx.xx.xxx/32" 
spec: 
    rules: 
    - host: <domain_name> 
    - http: 
     paths: 
     - path: /* 
     backend: 
      serviceName: nginx 
      servicePort: 80 

참조 : 사용하는 Nginx-based ingress controller을 제공 http://container-solutions.com/kubernetes-quick-tip/ https://docs.giantswarm.io/guides/advanced-ingress-configuration/

답변

0

참고 문헌.

GKE의 Ingress는 http(s) load balancer을 사용합니다. 현재 GCP의 http (s)로드 밸런서는 IP별로 트래픽을 허용하거나 거부하는 방화벽 규칙을 지원하지 않습니다. 당신이 할 수있는

:

블록 혼자서 웹 서버 또는 응용 프로그램의 소스 IP.

또는

봅니다 nginx-based ingress controller를 설치합니다.

관련 문제