VMware NSX Container Plugin 2.5.1 | 2019년 12월 19일 목요일 | 빌드 15287458 이 설명서의 추가 사항 및 업데이트 사항을 정기적으로 확인하십시오. |
릴리스 정보에 포함된 내용
릴리스 정보에는 다음과 같은 항목이 포함됩니다.
새로운 기능
- Kubernetes 오류 CRD(CustomResourceDefinition) 개선 사항
- 수신 규칙에서 경로를 지정할 때 정규식 지원(경로의 정규식에서 그룹을 캡처하고 URI를 다시 쓰는 데 사용하려는 경우 NSX-T 2.5.1 이상이 필요함)
- Kubernetes 노드에서 NSX-CNI, NSX-OVS 및 선택적으로 설치된 OVS 패키지를 제거하기 위한 새로운 DaemonSet
- 수신 기준으로 HTTP 트래픽을 HTTPS로 리디렉션하는 기능 지원
- 네트워크 정책 컨트롤러에서 중복 리소스의 자동 제거
- 로드 밸런서 VIP에 대한 IPSet 지원
- PAS의 사용자 지정 레이블 지원
- 수신 확장을 위한 LoadBalancer 및 NSXLoadBalancerMonitor CRD 지원
- L4 및 L7 가상 서버에 대한 IP 풀에서 원하는 IP를 할당하도록 지원
호환성 요구 사항
제품 | 버전 |
---|---|
PAS에 대한 NCP/NSX-T 타일 | 2.5.1 |
NSX-T | 2.4.1, 2.4.2, 2.4.3, 2.5.0, 2.5.1, 2.5.2, 2.5.2.2 |
Kubernetes | 1.15, 1.16, 1.17 |
OpenShift | 3.10, 3.11 |
Kubernetes 호스트 VM OS | Ubuntu 16.04, Ubuntu 18.04, CentOS 7.5, CentOS 7.6, CentOS 7.7 |
OpenShift 호스트 VM OS | RHEL 7.5, RHEL 7.6, RHEL 7.7 |
OpenShift BMC | RHEL 7.5, RHEL 7.6 |
PAS(PCF) | Ops Manager 2.6 + PAS 2.6 Ops Manager 2.7 + PAS 2.7 Ops Manager 2.8 + PAS 2.8 Ops Manager 2.10 + PAS 2.10 참고: PAS 2.7.0 + NCP 2.5.1은 지원되지 않습니다. |
참고: RHEL 및 CentOS 호스트 VM의 경우 커널 버전 862 및 957만 지원됩니다.
RHEL 노드의 커널 버전이 3.10.0-957.27.2보다 이전인 경우 OpenShift 설치가 실패합니다. OVS가 실행되지 않으므로 베어 메탈 컨테이너 노드에서 커널 버전을 업그레이드하지 않는 것이 좋습니다. 이전 커널 버전을 사용하여 OpenShift 3.11을 배포하려면 openshift-ansible 저장소에서 commit: e0499023ea91741ab4afd29391e420a26b8859b5를 최상위 커밋으로 사용해야 합니다.
이 릴리스로의 업그레이드 지원:
- NCP 2.5 및 모든 NCP 2.4.x 릴리스
해결된 문제
- 문제 2397438: 다시 시작한 후 NCP에서 MultipleObjects 오류를 보고함
다시 시작하기 전에 NCP가 ServerOverload 오류 때문에 분산 방화벽 섹션을 생성하지 못합니다. 최대 시도 횟수에 도달할 때까지 NCP가 다시 시도됩니다. 그러나 방화벽 섹션이 계속 생성됩니다. NCP가 다시 시작되면 중복된 방화벽 섹션이 수신되고 MultipleObjects 오류가 보고됩니다.
해결 방법: 오래된 중복 분산 방화벽 섹션을 수동으로 삭제한 다음, NCP를 다시 시작하십시오.
- 문제 2397684: NCP가 정확한 전송 영역을 찾았지만 "기본 전송 영역이 구성되지 않았습니다." 오류와 함께 실패함
정책 API 기반 NCP를 사용하여 Kubernetes 네임스페이스를 생성할 때 NSX-T에 여러 오버레이 전송 영역이 있기 때문에 인프라 세그먼트가 생성되지 않을 수 있습니다. 이 문제는 기본값으로 표시된 오버레이 전송 영역이 없는 경우에 발생합니다.
해결 방법: NCP ConfigMap에 구성된 오버레이 전송 영역을 업데이트하고 "is_default" 필드를 "True"로 설정하십시오.
- 문제 2412421: Docker가 컨테이너를 다시 시작하지 못함
(1) ConfigMap이 업데이트되고, (2) 컨테이너가 subPath를 사용해서 ConfigMap을 탑재하고, (3) 컨테이너가 다시 시작될 경우 Docker가 컨테이너를 시작하지 못합니다.
해결 방법: 포드를 삭제하여 DaemonSet가 포드를 다시 생성하도록 하십시오.
- 문제 2410909: 다시 시작한 후 NCP가 대규모 환경(특히 많은 네트워크 정책이 있는 경우)에서 캐시를 초기화하는 데 오랜 시간이 걸릴 수 있으며, 새 포드 및 리소스를 표시하고 처리할 때까지 약 30분 정도 걸릴 수 있음
다시 시작한 후 NCP를 표시하는 데 시간이 오래 걸릴 수 있습니다. 포드, 네임스페이스 및 네트워크 정책과 같은 리소스를 처리하려면 관련 리소스의 양에 따라 추가 시간이 걸릴 수 있습니다.
해결 방법: 없음
- 문제 2423240: IP 경로가 링크-종료 상태인 경우 nsx-ncp-bootstrap 컨테이너가 실행되지 않음
nsx-ncp-bootstrap 컨테이너는 모든 IP 경로의 링크 상태가 "실행"이라고 가정하고, 그렇지 않으면 실행되지 않습니다.
- 문제 2425050: nsx-ncp-bootstrap 컨테이너가 Linux 버전 4.15.0-59-generic 이상에서 OVS 패키지를 컴파일하지 못함
OVS 커널 모듈을 컴파일하는 동안 헤더 파일이 누락되어 컴파일하지 못합니다.
- 문제 2398430: 다시 시작한 후 노드에 대한 연결이 끊어짐
시작 시 노드에서 OVS가 실행되도록 구성되고, NSX 노드 에이전트 DaemonSet이 실행 중이고 IP가 ovs_uplink_port 상태일 때 노드를 다시 시작하면 노드에 대한 연결이 끊어집니다.
알려진 문제
- 문제 2131494: 수신 클래스를 nginx에서 nsx로 변경한 후에도 NGINX Kubernetes 수신이 계속 작동함
NGINX Kubernetes 수신을 생성할 때 NGINX에서 트래픽 전달 규칙이 생성됩니다. 수신 클래스를 다른 값으로 변경하면 클래스를 변경한 후에 Kubernetes 수신을 삭제하더라도 NGINX에서 규칙이 삭제되지 않고 계속 적용됩니다. 이 문제는 NGINX의 제한 사항입니다.
해결 방법: NGINX에서 생성된 규칙을 삭제하려면 클래스 값이 nginx일 때 Kubernetes 수신을 삭제합니다. 그런 다음 Kubernetes 수신을 다시 생성합니다.
- ClusterIP 유형의 Kubernetes 서비스에 대해 클라이언트 IP 기반 세션 선호도가 지원되지 않음
NCP는 ClusterIP 유형의 Kubernetes 서비스에 대해 클라이언트 IP 기반 세션 선호도를 지원하지 않습니다.
해결 방법: 없음
- ClusterIP 유형의 Kubernetes 서비스에 대해 hairpin-mode 플래그가 지원되지 않음
NCP는 ClusterIP 유형의 Kubernetes 서비스에 대해 hairpin-mode 플래그를 지원하지 않습니다.
해결 방법: 없음
- 문제 2192489: PAS director 구성에서 'BOSH DNS server'를 사용하지 않도록 설정한 후에도 컨테이너의 resolve.conf 파일에 Bosh DNS 서버(169.254.0.2)가 계속 나타남
PAS 2.2를 실행하는 PAS 환경의 PAS director 구성에서 'BOSH DNS 서버'를 사용하지 않도록 설정한 후에도 컨테이너의 resove.conf 파일에 Bosh DNS 서버(169.254.0.2)가 여전히 나타납니다. 이로 인해 FQDN(정규화된 도메인 이름)을 사용한 ping 명령에 시간이 오래 걸립니다. PAS 2.1에는 이 문제가 존재하지 않습니다.
해결 방법: 없음. 이 문제는 PAS 문제입니다.
- 문제 2224218: 서비스 또는 애플리케이션을 삭제했을 때 SNAT IP가 다시 IP 풀로 릴리스되는 데 2분이 걸림
서비스 또는 애플리케이션을 삭제하고 2분 내에 다시 생성하면 IP 풀에서 새로운 SNAT IP를 받게 됩니다.
해결 방법: 동일한 IP를 다시 사용하려면 서비스 또는 애플리케이션을 삭제하고 다시 생성하기 전에 2분을 기다립니다.
- 문제 2330811: NCP가 종료된 상태에서 LoadBalancer 유형의 Kubernetes 서비스를 생성할 경우 NCP가 다시 시작되면 서비스가 생성되지 않을 수 있음
NSX-T 리소스가 LoadBalancer 유형의 Kubernetes 서비스에 사용되는 경우 기존 서비스 중 일부를 삭제한 후 새 서비스를 생성할 수 있습니다. 하지만 NCP가 종료된 상태에서 서비스를 삭제했다가 생성하면 NCP가 새 서비스를 생성하지 못합니다.
해결 방법: NSX-T 리소스가 LoadBalancer 유형의 Kubernetes 서비스에 사용되는 경우 NCP가 종료된 상태에서 삭제 및 생성 작업을 둘 다 수행하지는 마십시오.
- 문제 2370137: OVS 데이터베이스 파일이 /etc/openvswitch에 있지 않으므로 nsx-ovs 및 nsx-node-agent 컨테이너가 실행되지 않음
nsx-ovs 및 nsx-node-agent 컨테이너는 시작 시 /etc/openvswitch에서 OVS 데이터베이스 파일을 찾습니다. 실제 OVS 파일(예: conf.db)에 연결되는 디렉토리에 심볼릭 링크가 있는 경우 nsx-ovs 및 nsx-node-agent 컨테이너가 실행되지 않습니다.
해결 방법: OVS 데이터베이스 파일을 /etc/openvswitch로 이동하고 symlink를 제거하십시오.
- 문제 2404302: NSX-T에 동일한 리소스 유형(예: HTTP)의 로드 밸런서 애플리케이션 프로파일이 여러 개 있는 경우 NCP가 이 중 하나를 선택해서 가상 서버에 연결함
NSX-T에 여러 HTTP 로드 밸런서 애플리케이션 프로파일이 있는 경우 NCP는 적절한 x_forwarded_for 구성의 프로파일을 하나 선택해서 HTTP 및 HTTPS 가상 서버에 연결합니다. NSX-T에 여러 FastTCP 및 UDP 애플리케이션 프로파일이 있는 경우 NCP는 이 중 하나를 선택해서 TCP 및 UDP 가상 서버에 각각 연결합니다. 로드 밸런서 애플리케이션 프로파일이 다른 설정이 적용된 다른 애플리케이션에서 생성되었을 수 있습니다. NCP가 로드 밸런서 애플리케이션 프로파일 중 하나를 NCP 생성 가상 서버에 연결하도록 선택하면 다른 애플리케이션 워크플로가 손상될 수 있습니다.
해결 방법: 없음
- 문제 2397621: OpenShift를 설치하지 못함
OpenShift를 설치하려면 노드가 준비 상태여야 하며, 이를 위해서는 CNI 플러그인을 설치해야 합니다. 이 릴리스에서는 별도의 CNI 플러그인 파일이 없기 때문에 OpenShift를 설치하지 못합니다.
해결 방법: 설치를 시작하기 전에 각 노드에 /etc/cni/net.d 디렉토리를 생성하십시오.
- 문제 2408100: 대형 Kubernetes 클러스터에서 액티브-대기 모드인 NCP 인스턴스가 여러 개이거나 작동 여부 프로브를 사용하도록 설정하면 NCP가 자주 다시 시작됨
대형 Kubernetes 클러스터(약 25,000개 포드, 2,500개 네임스페이스 및 2,500개 네트워크 정책)에서 여러 NCP 인스턴스가 액티브-대기 모드에서 실행 중이거나 작동 여부 프로브를 사용하도록 설정한 경우, NCP 프로세스가 “잠금 획득 중 충돌 발생” 또는 작동 여부 프로브 실패로 인해 중지되었다가 자주 다시 시작될 수 있습니다.
해결 방법: 다음 단계를 수행합니다.
- NCP 배포의
replicas
를 1로 설정하거나 ncp.ini의 구성 옵션ha.master_timeout
을 기본값 18에서 30으로 늘립니다. - 작동 여부 프로브 인수를 다음과 같이 늘립니다.
containers: - name: nsx-ncp livenessProbe: exec: command: - /bin/sh - -c - timeout 20 check_pod_liveness nsx-ncp initialDelaySeconds: 20 timeoutSeconds: 20 periodSeconds: 20 failureThreshold: 5
- NCP 배포의
- 문제 2413383: 일부 노드가 준비되지 않아 OpenShift를 업그레이드하지 못함
기본적으로 NCP 부트스트랩 포드는 마스터 노드에서 예약되지 않습니다. 따라서 마스터 노드 상태는 항상 [준비 안 됨]입니다.
해결 방법: “계산” 역할이 있는 마스터 노드를 할당하여 nsx-ncp-bootstrap 및 nsx-node-agent DaemonSets에서 포드를 생성할 수 있도록 하십시오. nsx-ncp-bootstrap이 NSX-CNI를 설치하면 노드 상태가 "준비"로 변경됩니다.
- 문제 2451442: NCP를 반복적으로 다시 시작하고 네임스페이스를 재생성한 후 NCP가 IP 주소를 포드에 할당하지 못할 수 있음
NCP를 다시 시작하는 동안 동일한 네임스페이스를 반복적으로 삭제하고 다시 생성한 경우 NCP가 해당 네임스페이스의 포드에 IP 주소를 할당하지 못할 수 있습니다.
해결 방법: 네임스페이스와 연결된 모든 부실 NSX 리소스(논리적 라우터, 논리적 스위치 및 논리적 포트)를 삭제한 다음, 다시 생성합니다.
- 문제 2447127: NCP를 2.4.1에서 2.5.0 또는 2.5.1로 업그레이드하는 경우 작동 및 실행되는 데 NCP 추가 시간이 소요될 수 있음
NCP를 2.4.1에서 2.5.x로 업그레이드하는 동안 NCP가 리더 선택을 위해 스위칭 프로파일 API를 호출할 경우 NSX-T 2.4.1에서 응답이 느려지는 문제가 발생할 수 있습니다. 이로 인해 NCP가 작동 및 실행되는 데 몇 분이 추가로 소요될 수 있습니다.
해결 방법: 없음.
- 문제 2460219: 기본 서버 풀이 없으면 HTTP 리디렉션이 작동하지 않음
HTTP 가상 서버가 서버 풀에 바인딩되지 않으면 HTTP 리디렉션이 실패합니다. 이 문제는 NSX-T 2.5.0 및 이전 릴리스에서 발생합니다.
해결 방법: 기본 서버 풀을 생성하거나 NSX-T 2.5.1로 업그레이드합니다.
- 문제 2518312: NCP 부트스트랩 컨테이너가 Ubuntu 18.04.4, 커널 4.15.0-88에 nsx-ovs 커널 모듈을 설치하지 못함
NCP 부트스트랩 컨테이너(nsx-ncp-bootstrap)가 Ubuntu 18.04.4, 커널 4.15.0-88에 nsx-ovs 커널 모듈을 설치하지 못했습니다.
해결 방법: NSX-OVS를 설치할 수 있도록 커널 버전을 4.15.0-76으로 다운그레이드합니다.
- 문제 2520402: N-VDS 호스트 스위치가 ENS 모드에 있는 경우 Hyperbus vmk50이 누락됨
N-VDS 호스트 스위치가 ENS 모드에 있는 경우 ESXi 호스트에 Hyperbus vmk50이 생성되지 않습니다.
해결 방법: N-VDS 호스트 스위치에 대해 표준 모드를 사용하십시오.