8.4. 빌드 시간 네트워크 정책 생성기 사용


중요

빌드 타임 네트워크 정책 생성은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

빌드 시간 네트워크 정책 생성기는 애플리케이션 YAML 매니페스트를 기반으로 Kubernetes 네트워크 정책을 자동으로 생성할 수 있습니다. 이를 사용하여 클러스터에 애플리케이션을 배포하기 전에 CI/CD 파이프라인의 일부로 네트워크 정책을 개발할 수 있습니다.

Red Hat은 CHAP -ECDHE 프로젝트의 개발자와 파트너십을 통해 이 기능을 개발했습니다. 먼저 build-time 네트워크 정책 생성기는 서비스 매니페스트, 구성 맵, Pod,Deployment,ReplicaSet,Job,DaemonSet, StatefulSet 과 같은 워크로드 매니페스트를 포함하여 로컬 폴더의 Kubernetes 매니페스트를 분석합니다. 그런 다음 필요한 연결을 검색하고 Kubernetes 네트워크 정책을 생성하여 Pod 격리를 수행합니다. 이러한 정책은 필요한 수신 및 송신 트래픽을 더 이상 허용하지 않습니다.

8.4.1. 빌드 시간 네트워크 정책 생성

build-time 네트워크 정책 생성기가 roxctl CLI에 포함되어 있습니다. 빌드 시간 네트워크 정책 생성 기능의 경우 roxctl CLI는 RHACS Central과 통신할 필요가 없으므로 모든 개발 환경에서 사용할 수 있습니다.

사전 요구 사항

  1. build-time 네트워크 정책 생성기는 명령을 실행할 때 지정하는 디렉터리를 재귀적으로 검사합니다. 따라서 명령을 실행하기 전에 Pod,배포,ReplicaSet,Job,DaemonSet, StatefulSet 과 같은 서비스 매니페스트, 구성 맵 및 워크로드 매니페스트가 지정된 디렉터리에 YAML 파일로 이미 있어야 합니다.
  2. kubectl apply -f 명령을 사용하여 이러한 YAML 파일을 있는 그대로 적용할 수 있는지 확인합니다. 빌드 시간 네트워크 정책 생성기는 Helm 스타일 템플릿을 사용하는 파일에서 작동하지 않습니다.
  3. 서비스 네트워크 주소가 하드 코딩되지 않았는지 확인합니다. 서비스에 연결해야 하는 모든 워크로드는 서비스 네트워크 주소를 변수로 지정해야 합니다. 워크로드의 리소스 환경 변수 또는 구성 맵에서 이 변수를 지정할 수 있습니다.

  4. 서비스 네트워크 주소는 다음 공식 정규식 패턴과 일치해야 합니다.

    (http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)? 1
    1
    이 패턴에서, In this pattern,
    • <svc>는 서비스 이름입니다.
    • <NS>는 서비스를 정의한 네임스페이스입니다.
    • <portNum>은 노출된 서비스 포트 번호입니다.

    다음은 패턴과 일치하는 몇 가지 예입니다.

    • wordpress-mysql:3306
    • redis-follower.redis.svc.cluster.local:6379
    • redis-leader.redis
    • http://rating-service.

절차

  1. help 명령을 실행하여 build-time 네트워크 정책 생성 기능을 사용할 수 있는지 확인합니다.

    $ roxctl generate netpol -h
  2. generate netpol 명령을 사용하여 정책을 생성합니다.

    $ roxctl generate netpol <folder-path> 1
    1
    Kubernetes 매니페스트가 있는 폴더의 경로를 지정합니다.

roxctl generate netpol 명령은 다음 옵션을 지원합니다.

옵션

설명

-h, --help

netpol 명령에 대한 도움말 텍스트를 확인합니다.

-d, --output-dir <dir>

생성된 정책을 대상 폴더에 저장합니다. 정책당 하나의 파일.

-f, --output-file <filename>

생성된 정책을 단일 YAML 파일에 저장하고 병합합니다.

--fail

처음 발생한 오류에서 실패합니다. 기본값은 false입니다.

--remove

이미 존재하는 경우 출력 경로를 제거합니다.

--strict

경고를 오류로 처리합니다. 기본값은 false입니다.

정책을 생성한 후 YAML 파일에서 관련 네트워크 주소가 예상대로 지정되지 않은 경우 완전성 및 정확성을 검사해야 합니다. 가장 중요한 것은 필요한 연결이 분리 정책에 의해 차단되지 않는지 확인합니다. 이 검사를 돕기 위해 RHACS를 사용하여 생성된 네트워크 정책을 시뮬레이션할 수 있습니다.

참고

Red Hat은 자동화를 사용하여 워크로드 배포의 일부로 클러스터에 네트워크 정책을 적용하는 것이 좋습니다. Pull Requests를 사용하여 생성된 정책을 제출하여 GitOps 접근 방식을 준수하여 팀이 파이프라인의 일부로 정책을 배포하기 전에 정책을 검토할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.