18.15. kube-proxy 설정

Kubernetes 네트워크 프록시(kube-proxy)는 각 노드에서 실행되며 CNO(Cluster Network Operator)에 의해 관리됩니다. kube-proxy는 서비스와 관련된 끝점에 대한 연결을 전달하기 위한 네트워크 규칙을 유지 관리합니다.

18.15.1. iptables 규칙 동기화 정보

동기화 기간은 Kubernetes 네트워크 프록시(kube-proxy)가 노드에서 iptables 규칙을 동기화하는 빈도를 결정합니다.

다음 이벤트 중 하나가 발생하면 동기화가 시작됩니다.

  • 서비스 또는 끝점과 같은 이벤트가 클러스터에 추가되거나 클러스터에서 제거됩니다.
  • 마지막 동기화 이후 시간이 kube-proxy에 대해 정의된 동기화 기간을 초과합니다.

18.15.2. kube-proxy 구성 매개변수

다음 kubeProxyConfig 매개변수를 수정할 수 있습니다.

참고

OpenShift Container Platform 4.3 이상에서는 성능이 개선되어 더 이상 iptablesSyncPeriod 매개변수를 조정할 필요가 없습니다.

표 18.2. 매개변수

매개변수설명기본

iptablesSyncPeriod

iptables 규칙의 새로 고침 간격으로,

30s 또는 2m과 같은 시간 간격입니다. 유효 접미사로 s, m, h가 있으며, 자세한 설명은 Go time 패키지 문서를 참조하십시오.

30s

proxyArguments.iptables-min-sync-period

iptables 규칙을 새로 고치기 전 최소 기간입니다. 이 매개변수를 이용하면 새로 고침 간격이 너무 짧지 않도록 조정할 수 있습니다. 기본적으로 새로 고침은 iptables 규칙에 영향을 주는 변경이 발생하는 즉시 시작됩니다.

30s 또는 2m과 같은 시간 간격입니다. 유효 접미사로 s, mh가 있으며, 자세한 설명은 Go time 패키지를 참조하십시오

0s

18.15.3. kube-proxy 구성 수정

클러스터의 Kubernetes 네트워크 프록시 구성을 수정할 수 있습니다.

사전 요구 사항

  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 역할을 사용하여 실행 중인 클러스터에 로그인합니다.

프로세스

  1. 다음 명령을 실행하여 Network.operator.openshift.io CR(사용자 정의 리소스)을 편집합니다.

    $ oc edit network.operator.openshift.io cluster
  2. 다음 예제 CR과 같이 kube-proxy 구성을 변경하여 CR의 kubeProxyConfig 매개변수를 수정합니다.

    apiVersion: operator.openshift.io/v1
    kind: Network
    metadata:
      name: cluster
    spec:
      kubeProxyConfig:
        iptablesSyncPeriod: 30s
        proxyArguments:
          iptables-min-sync-period: ["30s"]
  3. 파일을 저장하고 텍스트 편집기를 종료합니다.

    파일을 저장하고 편집기를 종료하면 oc 명령에 의해 구문의 유효성이 검사됩니다. 수정 사항에 구문 오류가 포함되어 있으면 편집기가 파일을 열고 오류 메시지를 표시합니다.

  4. 다음 명령을 입력하여 구성 업데이트를 확인하십시오.

    $ oc get networks.operator.openshift.io -o yaml

    출력 예

    apiVersion: v1
    items:
    - apiVersion: operator.openshift.io/v1
      kind: Network
      metadata:
        name: cluster
      spec:
        clusterNetwork:
        - cidr: 10.128.0.0/14
          hostPrefix: 23
        defaultNetwork:
          type: OpenShiftSDN
        kubeProxyConfig:
          iptablesSyncPeriod: 30s
          proxyArguments:
            iptables-min-sync-period:
            - 30s
        serviceNetwork:
        - 172.30.0.0/16
      status: {}
    kind: List

  5. 선택 사항: Cluster Network Operator가 구성 변경을 승인했는지 확인하려면 다음 명령을 입력합니다.

    $ oc get clusteroperator network

    출력 예

    NAME      VERSION     AVAILABLE   PROGRESSING   DEGRADED   SINCE
    network   4.1.0-0.9   True        False         False      1m

    구성 업데이트가 성공적으로 적용되면 AVAILABLE 필드는 True입니다.