Kubernetes 개체와 관련된 권장 네트워크 정책 규칙을 YAML 형식으로 내보낼 수 있습니다. vRealize Network Insight는 네임스페이스별 그룹 및 서비스별 그룹 토폴로지에 대해서만 YAML 형식으로 내보내기를 지원합니다.

프로시저

  1. 권장 규칙을 YAML 형식으로 내보내려면 [보안 계획] 모델에서 보안을 계획할 Kubernetes 클러스터를 선택하고 다음 단계 중 하나를 수행합니다.
    • 마이크로 세그먼트 위젯에서 추가 옵션을 펼치고 규칙을 YAML로 내보내기를 선택하거나
    • 마이크로 세그먼트 도넛 보기에서 노드를 선택하고 권장 방화벽 규칙 수를 클릭한 다음, 추가 옵션을 펼치고 규칙을 YAML로 내보내기를 선택합니다.
    vRealize Network Insight는 Kubernetes 네트워크 정책 및 이와 연결된 타임 스탬프로 이름이 지정된 ZIP 파일을 다운로드합니다. 파일의 압축을 풀면 클러스터 수에 따라 다음과 같은 5개의 CSV 파일과 여러 폴더가 표시됩니다. 각 폴더에는 클러스터에 대한 여러 YAML 파일이 포함됩니다.
    파일 이름 설명
    network-policy-others-ipaddress.csv 서비스 또는 네임스페이스가 통신하는 물리적 서버와 가상 시스템의 IP 주소를 포함합니다.
    recommended-namespace-labels-to-add.csv 네임스페이스와 연결된 포드에 연결할 레이블을 포함합니다.

    예:

    • 클러스터 - pdk8s
    • 네임스페이스 - sock-shop
    • 레이블 - sock-shop-pdk8s
    recommended-service-labels-to-add.csv 서비스와 연결된 포드에 연결될 레이블을 포함합니다.

    예:

    • 클러스터 - pdk8s
    • 네임스페이스 - sock-shop
    • 서비스 - front-end
    • 레이블 - Service:front-sock-shop-pdk8s
    • 클러스터 - pdk8s
    • 네임스페이스 - sock-shop
    • 서비스 - user
    • 레이블 - Service:user-sock-shop
    recommended-network-policy.csv vRealize Network Insight가 권장하는 모든 규칙을 포함합니다.
    exported-network-policy-rule-names.csv 권장 규칙에 따라 내보낸 모든 네트워크 정책을 나열합니다.
  2. 서비스 레이블을 적용하려면 다음 단계를 수행합니다.
    1. 다음 Kubernetes CLI 명령을 실행합니다.
      kubectl edit deployment service-name -n namespace-name
      kubectl edit deployment redis-primary -n guestbook
      서비스의 배포 파일이 열립니다.
    2. 서비스 레이블 목록에서 CSV 파일에 제안된 레이블을 서비스 배포의 규격 섹션에 언급된 레이블에 추가합니다.
  3. 네임스페이스 레이블을 적용하려면 다음 단계를 수행합니다.
    1. 다음 Kubernetes CLI 명령을 실행합니다.
      kubectl edit namespace namespace-name
      kubectl edit namespace guestbook
      네임스페이스의 배포 파일이 열립니다.
    2. 메타데이터에서 CSV 파일에 제안된 레이블을 네임스페이스 배포의 spec 섹션에 언급된 레이블에 추가합니다.
  4. 다음 명령을 실행하여 레이블이 포드에 적용되었는지 확인합니다.
    kubectl get pods -n namespace-name--show-labels
    kubectl get pods guestbook--show-labels
    결과 보기에서 레이블을 살펴봅니다.
    참고: 네임스페이스에 적용하면 레이블이 포드에 반영되지 않습니다.
  5. 네트워크 정책을 생성하려면 해당 클러스터 폴더에서 다른 폴더로 YAML 파일을 복사하고 다음 명령 중 하나를 실행합니다.
    • kubectl apply -f <folder-name>/ - 모든 방화벽 규칙을 한 번에 적용합니다.
    • kubectl apply -f <folder-name>/<firewall-rule>.yaml - 방화벽 규칙을 하나씩 적용합니다.