Load Balancer 속성 설정 예제
    • PDF

    Load Balancer 속성 설정 예제

    • PDF

    Article Summary

    VPC 환경에서 이용 가능합니다.

    Load Balancer 인스턴스 연동에서 소개한 각종 어노테이션을 활용하여 Load Balancer 인스턴스의 속성을 설정하는 예제입니다.

    주의

    Kubernetes에서 생성한 네이버 클라우드 플랫폼의 로드밸런서를 Kubernetes의 Service 리소스가 아닌 콘솔 및 API를 통해 설정하시는 경우, 상태 동기화에 문제가 발생할 수 있습니다. 생성된 로드밸런서에 대한 설정 변경은 반드시 Kubernetes에서 생성된 Service 리소스 수정을 통해 이루어져야 합니다.

    네트워크 프록시 로드 밸런서(NPLB) 속성 설정 예제

    인스턴스가 생성될 전용 서브넷 선택 예제

    인스턴스 생성 시, kube-system Namespace에서 ncloud-config 이름을 가진 configmap 내의 lbSubnetNo를 기본값으로 사용합니다. 만약 다른 로드 밸런서 전용 서브넷에 인스턴스를 생성해야 하는 경우 service.beta.kubernetes.io/ncloud-load-balancer-subnet-id 어노테이션을 사용할 수 있습니다.

    다음은 NPLB 인스턴스가 생성될 전용 서브넷을 선택하는 예제입니다.

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nplb"
        service.beta.kubernetes.io/ncloud-load-balancer-subnet-id: "452772"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    로드 밸런서의 부하 처리 성능 설정 예제

    service.beta.kubernetes.io/ncloud-load-balancer-size 어노테이션을 사용해 생성한 로드 밸런서의 부하 처리 성능을 설정할 수 있습니다.

    다음은 해당 어노테이션을 사용해 부하 처리 성능을 설정하는 예제입니다.

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nplb"
        service.beta.kubernetes.io/ncloud-load-balancer-size: "MEDIUM"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    네트워크 로드 밸런서(NLB) 속성 설정 예제

    인스턴스가 생성될 전용 서브넷 선택 예제

    인스턴스 생성 시, kube-system 네임스페이스에서 ncloud-config 이름을 가진 configmap 내의 lbSubnetNo를 기본값으로 사용합니다. 만약 다른 로드 밸런서 전용 서브넷에 인스턴스를 생성해야 하는 경우 service.beta.kubernetes.io/ncloud-load-balancer-subnet-id 어노테이션을 사용할 수 있습니다.

    다음은 NLB 인스턴스가 생성될 전용 서브넷을 선택하는 예제입니다.

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nlb"
        service.beta.kubernetes.io/ncloud-load-balancer-subnet-id: "452772"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    로드 밸런서 생성 시 ACG 규칙의 Inbound Source 설정 예제

    Service 타입이 LoadBalancer인 경우, 외부와의 통신을 위해 Inbound Source에 0.0.0.0./0인 ACG 규칙이 기본값으로 설정됩니다. 만약 다른 IP Block을 접근 소스로 설정해야 하는 경우 service.beta.kubernetes.io/ncloud-load-balancer-inbound-source의 어노테이션을 사용할 수 있습니다. 여러 개의 Inbound Source를 설정하고자 할 경우에는 콤마(,)로 구분하여 입력할 수 있습니다.

    다음은 NLB 인스턴스 생성 시 ACG 규칙의 Inbound Source를 설정하는 예제입니다.

    kind: Service
    apiVersion: v1
    metadata:
      name: my-nginx
      annotations:
        service.beta.kubernetes.io/ncloud-load-balancer-layer-type: "nlb"
        service.beta.kubernetes.io/ncloud-load-balancer-inbound-source: "10.120.0.0/16,143.248.12.77/32"
    spec:
      ports:
      - port: 80
        targetPort: 80
      selector:
        run: my-nginx
      type: LoadBalancer
    

    이 문서가 도움이 되었습니까?