8.2. roxctl netpol 연결 맵 명령을 사용한 연결 매핑


연결 매핑은 워크로드 간 연결을 허용하는 것을 보여줍니다. 관리 네트워크 정책(ANP) 및 BANP(Baseline Admin Network Policy)를 포함하여 Kubernetes 매니페스트에 정의된 네트워크 정책을 사용합니다. 이러한 결합된 네트워크 정책을 기반으로 Kubernetes 워크로드가 통신하는 방법을 시각화하고 이해할 수 있습니다.

연결 매핑 정보를 검색하려면 roxctl netpol 연결 맵 명령에 디렉터리 경로가 필요합니다. 이 디렉터리에는 Kubernetes 네트워크 정책, ANP 및 BANP 매니페스트가 포함되어야 합니다. 명령의 출력은 분석된 Kubernetes 리소스 내의 연결을 자세히 설명합니다.

8.2.1. Kubernetes 매니페스트 디렉터리에서 연결 매핑 정보 검색

roxctl netpol connectivity map 명령을 사용하여 Kubernetes 매니페스트 디렉터리에서 연결 매핑 정보를 검색합니다.

프로세스

  • 연결 매핑 정보를 검색하려면 다음 명령을 실행합니다.

    roxctl netpol connectivity map <folder_path> [flags] 
    1
    1
    폴더의 경로를 지정합니다. 이 폴더에는 분석을 위한 YAML 리소스 및 네트워크 정책을 포함하는 하위 폴더(예: netpol-analysis-example-minimal/ )를 포함할 수 있습니다. 명령은 전체 하위 폴더 트리를 검사합니다. 선택적으로 매개변수를 지정하여 명령의 동작을 수정할 수도 있습니다.
    Expand
    표 8.2. 출력 예
    srcdstConn

    0.0.0.0-255.255.255.255

    default/frontend[Deployment]

    TCP 8080

    default/frontend[Deployment]

    0.0.0.0-255.255.255.255

    UDP 53

    default/frontend[Deployment]

    default/backend[Deployment]

    TCP 9090

출력에는 허용된 연결 행이 나열된 테이블이 표시됩니다. 각 행은 다음 요소로 구성됩니다.

  • src:: 소스 끝점을 나타냅니다.
  • 대상 끝점 나타냅니다.Represents the destination endpoint.
  • Conn:: 허용되는 연결 특성을 나타냅니다.

끝점은 namespace/name[Kind] 형식을 따릅니다. 예: default/backend[Deployment].

Opional: 특정 연결을 허용하거나 거부하는 정책 및 규칙을 확인하려면 roxctl netpol 연결 맵 명령과 함께 --explain 옵션을 사용할 수 있습니다. 출력을 사용하여 네트워크 정책 구성을 디버깅할 수 있습니다. 설명 출력을 이해하는 방법에 대한 자세한 내용은 "설명 제거"를 참조하십시오.

8.2.2. 설명 검색

설명을 검색하여 Kubernetes 네트워크 정책 규칙에 따라 연결이 허용되거나 거부되는 이유를 이해할 수 있습니다.

프로세스

  • 설명으로 연결 보고서를 생성하려면 다음 명령을 실행합니다.

    $ roxctl netpol connectivity map --explain <folder_path> 
    1
    1
    폴더 경로를 지정합니다. 여기에는 YAML 리소스 및 분석을 위한 네트워크 정책이 포함된 하위 폴더가 포함될 수 있습니다.

--explain 플래그를 사용하는 경우 연결 보고서에는 허용되거나 차단된 각 연결과 관련된 특정 정책 및 규칙을 자세히 설명하는 설명 섹션 이 포함되어 있습니다.

8.2.2.1. 연결 설명 이해

연결을 허용하거나 거부하는 Kubernetes 네트워크 정책 YAML 파일의 일부를 정확하게 이해하려면 설명 모드를 포함하는 roxctl netpol 연결 맵 명령을 사용할 수 있습니다. 표준 연결 보고서 이외의 추가 세부 정보를 제공하는 설명 모드를 사용하여 네트워크 정책을 디버깅하고 구체화할 수 있습니다.

개발자 또는 DevOps 전문가로서 열려 있는 연결이 거부되거나 연결을 허용하는 특정 규칙을 확인해야 하는 상황이 발생할 수 있습니다.

다음은 몇 가지 일반적인 문제의 예입니다.

  • 연결의 한 쪽에서 트래픽을 허용하지만 다른 하나는 이를 거부하는 불일치된 수신 및 송신 규칙입니다.
  • 정책이 의도한 것과 다른 포트 또는 프로토콜을 열도록 하는 오타 오류입니다.

설명 가능 모드는 연결 각 측면이 정책 규칙의 영향을 받는 방법에 대한 통찰력을 제공합니다. 설명 모드를 사용하여 구성 오류를 신속하게 식별할 수 있습니다.

8.2.2.1.1. 허용된 연결 예

다음 구성 요소가 있는 Kubernetes 클러스터가 있다고 가정합니다.

  • 다양한 애플리케이션에서 데이터를 수집하는 monitoring- service 라는 모니터링 서비스입니다.
  • 핵심 내부 애플리케이션: 모니터링 끝점을 적극적으로 노출하고 모니터링이 필요한 internal-app-a 입니다.
  • monitor -service에서 internal-app-a 로의 연결을 명시적으로 허용하는 라벨 security: internal 및 특정 네트워크 정책(NP)을 사용하여 모니터링 에서 네임스페이스로 연결을 전달하는 네트워크 정책 구성(ANP)입니다.

이 예제의 YAML 매니페스트는 netpol-analyzer/tests/anp_banp_explain_demo/ 에서 확인할 수 있습니다.

네트워크 정책을 분석하고 각 연결에 대한 설명을 제공하려면 이 설정에서 roxctl netpol 연결 맵 --explain 명령을 실행할 수 있습니다.

이러한 구성에 대한 monitoring-service 배포에서 허용된 연결에 대한 설명 출력은 다음과 같습니다.

Connections between monitoring/monitoring-service[Pod] => internal-apps/internal-app-a[Pod]:
Allowed connections:
	Allowed TCP, UDP, SCTP due to the following policies and rules:
	    Egress (Allowed) due to the system default (Allow all)
	    Ingress (Allowed)
	        AdminNetworkPolicy 'pass-monitoring' passes connections by Ingress rule pass-ingress-from-monitoring
	        NetworkPolicy 'internal-apps/allow-monitoring' allows connections by Ingress rule #1

이 예에서 monitoring/monitoring-service 에서 internal-apps/internal-app-a 로 부터의 연결은 ANP pass-monitoring 의 조합으로 허용되며, 이는 라벨 security: internal 및 internal-app -monitoring 를 사용하여 모든 네임스페이스에 광범위하게 적용됩니다. internal-app-a. 출력에서 여러 정책이 연결을 허용하는 데 기여할 수 있음을 보여줍니다.

8.2.2.1.2. 차단된 연결 예

보안상의 이유로 기본적으로 모든 외부 액세스를 거부하는 격리된 데이터 서비스 isolated-data-service 를 고려하십시오.

이 예제의 YAML 매니페스트는 netpol-analyzer/tests/anp_banp_explain_demo_2/ 에서 확인할 수 있습니다.

네트워크 정책을 분석하고 각 연결에 대한 설명을 제공하려면 이 설정에서 roxctl netpol 연결 맵 --explain 명령을 실행할 수 있습니다.

monitoring-service 배포에서 이 워크로드에 대한 차단된 연결에 대한 설명 출력은 다음과 같습니다.

Connections between monitoring/monitoring-service[Pod] => isolated-apps/isolated-data-service[Pod]:

Denied connections:
	Denied TCP, UDP, SCTP due to the following policies and rules:
	    Egress (Allowed) due to the system default (Allow all)
	    Ingress (Denied)
	        AdminNetworkPolicy 'pass-monitoring' passes connections by Ingress rule pass-ingress-from-monitoring
	        BaselineAdminNetworkPolicy 'default' denies connections by Ingress rule deny-ingress-from-monitoring

이 예에서 data/isolated-data-service 에 대한 연결은 ANP with Pass action과 함께 차단되고, 기본적으로 모니터링 에서 모든 연결을 거부하는 BANP의 연결이 차단됩니다.

8.2.3. 연결 맵 출력 형식 및 시각화

txt,md,csv,jsondot 을 포함한 다양한 출력 형식을 사용할 수 있습니다. dot 형식은 출력을 연결 그래프로 시각화하는 데 이상적입니다. Graphviz 툴과 같은 그래프 시각화 소프트웨어 및 VSCode 확장을 사용하여 볼 수 있습니다. 로컬 또는 온라인 뷰어를 통해 Graphviz를 사용하여 svg,jpeg 또는 png 과 같은 형식으로 도트 출력을 변환할 수 있습니다.

8.2.4. Graphviz를 사용하여 dot 출력에서 svg 그래프 생성

다음 단계에 따라 dot 출력에서 svg 형식으로 그래프를 생성합니다.

사전 요구 사항

  • Graphviz 가 로컬 시스템에 설치되어 있습니다.

프로세스

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동