일반 vSphere Kubernetes 환경에서 ReadWriteMany 영구 볼륨을 프로비저닝할 수 있도록, Kubernetes 노드에서 vSAN 파일 서비스 네트워크로 필요한 네트워크, 스위치 및 라우터를 구성합니다.

네트워크 설정

네트워크를 구성할 때 다음 요구 사항을 따르십시오.
  • 모든 Kubernetes 노드에서 vSAN 파일 공유 트래픽에 전용 vNIC를 사용할 수 있습니다. 이 옵션은 파일 볼륨에 보안 데이터 트래픽 경로를 사용하려는 경우에만 필요합니다.
  • 전용 vNIC를 사용하는 경우 전용 vNIC를 통과하는 트래픽을 하나 이상의 vSAN 파일 서비스 네트워크로 라우팅할 수 있도록 해야 합니다.
  • 각 Kubernetes 노드의 게스트 운영 체제만 파일 공유 IP 주소를 통해 vSAN 파일 공유에 직접 액세스할 수 있도록 해야 합니다. 노드에 포함된 포드는 IP 주소로 vSAN 파일 공유에 ping하거나 액세스할 수 없습니다.

    CNS CSI 드라이버는 게스트 운영 체제에 마운트 지점을 생성하여 CNS 파일 볼륨을 사용하도록 구성된 포드만 vSAN 파일 공유에 액세스할 수 있도록 보장합니다.

  • 노드 VM과 vSAN 파일 공유 간에 IP 주소 충돌을 피하십시오.

다음 그림은 vSAN 파일 공유 서비스가 사용된 CNS 네트워크 구성의 예입니다.

vSAN 파일 공유를 사용한 CNS 네트워크 구성이 그림에 표시됩니다.

그림의 샘플 네트워킹 구성은 다음과 같은 지침을 따릅니다.
  • 이 구성은 CNS 환경에서 다른 항목에 대해 별도의 네트워크를 사용합니다.
    네트워크 설명
    vSphere 관리 네트워크 대개, 일반적인 Kubernetes 클러스터에서는 모든 노드가 이 네트워크에 액세스할 수 있습니다.
    포드 또는 노드 네트워크 이 네트워크는 Kubernetes에서 노드 대 노드 또는 포드 대 포드 통신에 사용됩니다.
    전용 파일 공유 네트워크 이 네트워크는 CNS 파일 볼륨 데이터 트래픽에 사용됩니다.
    vSAN 파일 공유 네트워크 vSAN 파일 공유가 사용되도록 설정되고 파일 공유를 사용할 수 있는 네트워크입니다.
  • 모든 Kubernetes 노드에는 파일 트래픽을 위한 전용 vNIC가 있습니다. 이 vNIC는 노드 대 노드 또는 포드 대 포드 통신에 사용되는 vNIC와는 별개입니다. 이 구성은 예제로만 사용되지만 필수는 아닙니다.
  • CNS 파일 공유를 사용하도록 구성된 애플리케이션만 노드 게스트 운영 체제의 마운트 지점을 통해 vSAN 파일 공유에 액세스할 수 있습니다. 예를 들어 그림에서는 다음과 같은 작업이 수행됩니다.
    • 애플리케이션-1 및 애플리케이션-2 포드는 파일 볼륨을 사용하도록 구성되고 CSI 드라이버가 생성한 마운트 지점을 통해 파일 공유에 액세스할 수 있습니다.
    • 애플리케이션-3 및 애플리케이션-4는 파일 볼륨을 사용하도록 구성되지 않고 파일 공유에 액세스할 수 없습니다.
  • vSAN 파일 공유는 ESXi 호스트의 vSAN 파일 공유 장치 VM에 컨테이너로 배포됩니다. Kubernetes 배포자란 Kubernetes 클러스터를 구성, 배포 및 관리할 수 있는 소프트웨어 또는 서비스를 말하며, 필요한 라우터와 스위치를 구성합니다. 그래야 Kubernetes 노드의 게스트 운영 체제가 vSAN 파일 공유에 액세스할 수 있습니다.

보안 제한 사항

전용 vNIC 덕분에 권한이 없는 포드는 파일 공유에 직접 액세스할 수 없지만, 특정한 보안 제한 사항이 있습니다.
  • CNS 파일 기능은 CNS 파일 볼륨 ID가 있는 사용자를 볼륨에 대한 권한이 있는 사용자라고 가정합니다. CNS 파일 볼륨 ID가 있는 사용자는 볼륨에 저장된 데이터에 액세스할 수 있습니다.
  • CNS 파일 볼륨은 AUTH_SYS 인증(사용자 ID 기반 인증)만 지원합니다. CNS 파일 볼륨에 있는 데이터에 대한 액세스를 보호하려면 CNS 파일 볼륨에 액세스하는 컨테이너에 적절한 사용자 ID를 사용해야 합니다.
  • CNS 파일 볼륨을 참조하는 바인딩되지 않은 ReadWriteMany 영구 볼륨은 네임스페이스의 Kubernetes 사용자가 생성한 영구 볼륨 할당에 바인딩될 수 있습니다. 보안 문제를 피하기 위해, 권한이 있는 사용자만 Kubernetes에 액세스할 수 있도록 해야 합니다.

vSAN 파일 서비스 클러스터에 액세스하도록 CSI 드라이버 구성

구성에 따라 CSI 드라이버는 파일 서비스가 사용되도록 설정된 단일 vSAN 클러스터 또는 여러 vSAN 클러스터에 파일 볼륨을 프로비저닝할 수 있습니다.

파일 서비스가 사용되도록 설정된 특정 vSAN 클러스터에만 액세스할 수 있도록 제한할 수 있습니다. Kubernetes 클러스터를 배포할 때 특정 파일 서비스 vSAN 클러스터에 액세스할 수 있도록 CSI 드라이버를 구성합니다. 그러면 CSI 드라이버는 해당 vSAN 클러스터에만 파일 볼륨을 프로비저닝할 수 있습니다.

기본 구성에서 CSI 드라이버는 vCenter Server에서 사용할 수 있는 모든 파일 서비스 vSAN 클러스터를 파일 볼륨 프로비저닝에 사용합니다. CSI 드라이버는 파일 볼륨을 프로비저닝하는 동안 어떤 파일 서비스 vSAN 클러스터에 액세스할 수 있는지를 확인하지 않습니다.