6장. 빌드 시간 네트워크 정책 생성
build-time 네트워크 정책 생성기는 roxctl CLI에 포함되어 있습니다. 빌드 시간 네트워크 정책 생성 기능의 경우 roxctl CLI는 RHACS Central과 통신할 필요가 없으므로 모든 개발 환경에서 사용할 수 있습니다.
6.1. 빌드 시간 네트워크 정책 생성기 사용 링크 복사링크가 클립보드에 복사되었습니다!
roxctl CLI에서 기본 제공 네트워크 정책 생성기를 사용하여 네트워크 정책을 생성할 수 있습니다.
사전 요구 사항
-
빌드 시간 네트워크 정책 생성기는 명령을 실행할 때 지정하는 디렉터리를 재귀적으로 스캔합니다. 따라서 명령을 실행하기 전에
Pod,Deployment,ReplicaSet,Job,DaemonSet,StatefulSet과 같은 서비스 매니페스트, 구성 맵 및 워크로드 매니페스트가 지정된 디렉터리에 YAML 파일로 이미 있어야 합니다. -
kubectl apply -f명령을 사용하여 이러한 YAML 파일을 그대로 적용할 수 있는지 확인합니다. 빌드 시간 네트워크 정책 생성기는 Helm 스타일 템플릿을 사용하는 파일에서는 작동하지 않습니다. 서비스 네트워크 주소가 하드 코딩되지 않았는지 확인합니다. 서비스에 연결해야 하는 모든 워크로드는 서비스 네트워크 주소를 변수로 지정해야 합니다. 워크로드의 리소스 환경 변수 또는 구성 맵을 사용하여 이 변수를 지정할 수 있습니다.
서비스 네트워크 주소는 다음과 같은 공식 정규식 패턴과 일치해야 합니다.
(http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)?1 - 1
- 이 패턴에서는,
- <svc>는 서비스 이름입니다.
- <NS>는 서비스를 정의한 네임스페이스입니다.
- <portNum>은 노출된 서비스 포트 번호입니다.
다음은 패턴과 일치하는 몇 가지 예입니다.
-
wordpress-mysql:3306 -
redis-follower.redis.svc.cluster.local:6379 -
redis-leader.redis -
http://rating-service.
프로세스
help 명령을 실행하여 빌드 시간 네트워크 정책 생성 기능을 사용할 수 있는지 확인합니다.
$ roxctl netpol generate -hnetpol generate명령을 사용하여 정책을 생성합니다.$ roxctl netpol generate <folder-path>1 - 1
- Kubernetes 매니페스트가 있는 폴더의 경로를 지정합니다.
roxctl netpol generate 명령은 다음 옵션을 지원합니다.
|
| 설명 |
|
|
|
|
| 생성된 정책을 대상 폴더에 저장합니다. 정책당 하나의 파일입니다. |
|
| 생성된 정책을 단일 YAML 파일에 저장하고 병합합니다. |
|
|
처음 발생한 오류 발생 시 실패합니다. 기본값은 |
|
| 이미 존재하는 경우 출력 경로를 제거합니다. |
|
|
경고를 오류로 처리합니다. 기본값은 |
|
|
생성된 정책의 송신 규칙에 사용할 기본 DNS 포트를 지정합니다. 기본값은 |