8.3. 네트워크 정책 생성


Kubernetes 네트워크 정책은 들어오는 네트워크 트래픽을 수신하는 포드와 발신 트래픽을 보낼 수 있는 포드를 제어합니다. 네트워크 정책을 사용하여 Pod로의 트래픽을 활성화 및 비활성화하면 네트워크 공격 면적을 제한할 수 있습니다.

이러한 네트워크 정책은 YAML 구성 파일입니다. 네트워크 흐름에 대한 인사이트를 얻고 이러한 파일을 수동으로 생성하는 것은 종종 어렵습니다. Red Hat Advanced Cluster Security for Kubernetes를 사용하면 환경에서 실제로 관찰되는 네트워크 통신 흐름을 기반으로 이러한 네트워크 정책을 자동으로 생성할 수 있습니다.

네트워크 그래프 보기에서 네트워크 정책을 생성할 수 있습니다.

생성된 정책은 네트워크 그래프에 표시된 배포에 적용되며 선택한 시간 동안 관찰되는 모든 네트워크 트래픽을 허용합니다.

절차

  1. RHACS 포털의 왼쪽 탐색 메뉴에서 Network Graph 를 선택합니다.
  2. 올바른 항목이 아직 선택되지 않은 경우 상단 표시줄의 메뉴에서 클러스터 이름을 선택합니다.
  3. 하나 이상의 네임스페이스를 선택합니다.
  4. 일부 배포에 대해서만 정책을 생성하려면 Add one or more deployment filters 필드를 사용하여 배포를 필터링할 기준을 추가합니다. 필터를 추가하지 않으면 Red Hat Advanced Cluster Security for Kubernetes에서 클러스터의 모든 배포에 대한 정책을 생성합니다.
  5. 상단 표시줄의 메뉴에서 적절한 시간을 선택합니다. 선택한 시간이 너무 짧으면 주기적 또는 드물지 않은 네트워크 통신을 남겨 둡니다.
  6. Network Policy 시뮬레이터 를 선택합니다.
  7. 표시되는 패널에서 포트 및 프로토콜 범위를 Red Hat Advanced Cluster Security for Kubernetes 생성 정책에서 지정하지 않으려면 Exclude ports & amp; protocols를 선택합니다.
  8. 네트워크 정책 생성 및 시뮬레이션 을 선택합니다. 생성된 네트워크 정책 구성 YAML이 동일한 패널에서 열리고 네트워크 그래프는 정책의 영향을 보여줍니다.

8.3.1. 생성된 정책 저장

Red Hat Advanced Cluster Security for Kubernetes에서 생성된 네트워크 정책을 다운로드하여 저장할 수 있습니다. Git과 같은 버전 제어 시스템에 정책을 커밋하려면 이 옵션을 사용합니다.

절차

  • Network Policy 시뮬레이터 패널에서 Download YAML 아이콘을 선택합니다.

8.3.2. 생성된 정책 테스트

Red Hat Advanced Cluster Security for Kubernetes에서 생성하는 네트워크 정책을 다운로드한 후 이를 클러스터에 적용하여 테스트할 수 있습니다.

절차

  1. 저장된 YAML 파일을 사용하여 정책을 생성하려면 다음 명령을 사용합니다.

    $ oc create -f "<generated_file>.yaml" 1
    1
    Kubernetes를 사용하는 경우 oc.. 대신 kubectl 을 입력합니다.
  2. 생성된 정책으로 인해 문제가 발생하는 경우 다음 명령을 실행하여 문제를 제거할 수 있습니다.

    $ oc delete -f "<generated_file>.yaml" 1
    1
    Kubernetes를 사용하는 경우 oc.. 대신 kubectl 을 입력합니다.

8.3.3. 생성된 정책 적용

RHACS 포털에서 생성된 네트워크 정책을 적용할 수 있습니다.

절차

  • Kubernetes용 Red Hat Advanced Cluster Security for Kubernetes 내에서 클러스터에서 생성된 정책을 직접 적용하려면 네트워크 정책 적용을 선택합니다.
주의

네트워크 정책을 직접 적용하면 애플리케이션 실행에 문제가 발생할 수 있습니다. 항상 개발 환경에서 네트워크 정책을 다운로드하여 테스트하거나 프로덕션 워크로드에 적용하기 전에 클러스터를 테스트합니다.

8.3.4. 생성된 정책 삭제

생성된 정책을 직접 적용하고 제거하려면 Network Policy 시뮬레이터 패널에서 Revert most recently applied YAML 아이콘을 선택합니다.

절차

  1. RHACS 포털의 왼쪽 탐색 메뉴에서 Network Graph 를 선택합니다.
  2. 올바른 항목이 아직 선택되지 않은 경우 상단 표시줄의 메뉴에서 클러스터 이름을 선택합니다.
  3. 하나 이상의 네임스페이스를 선택합니다.
  4. Network Policy 시뮬레이터 를 선택합니다.
  5. 활성 YAMLS 보기 를 선택합니다.
  6. Revert most recently applied YAML 아이콘을 선택합니다.

8.3.5. 자동 생성된 모든 정책 삭제

Red Hat Advanced Cluster Security for Kubernetes를 사용하여 생성한 클러스터에서 생성된 모든 정책을 삭제할 수 있습니다.

절차

  • 다음 명령을 실행합니다.

    • OpenShift Container Platform에서 다음을 수행합니다.

      $ oc get ns -o jsonpath='{.items[*].metadata.name}' | xargs -n 1 oc delete networkpolicies -l 'network-policy-generator.stackrox.io/generated=true' -n
    • Kubernetes에서 다음을 수행합니다.

      $ kubectl get ns -o jsonpath='{.items[*].metadata.name}' | xargs -n 1 kubectl delete networkpolicies -l 'network-policy-generator.stackrox.io/generated=true' -n

8.3.6. 정책 생성 전략

네트워크 정책을 자동으로 생성하는 경우:

  • Red Hat Advanced Cluster Security for Kubernetes는 네임스페이스의 각 배포에 대해 단일 네트워크 정책을 생성합니다. 정책의 Pod 선택기는 배포의 Pod 선택기입니다.

    • 배포에 이미 네트워크 정책이 있는 경우 Red Hat Advanced Cluster Security for Kubernetes는 새 정책을 생성하거나 기존 정책을 삭제하지 않습니다.
  • 생성된 정책은 기존 배포로의 트래픽만 제한합니다.

    • 나중에 생성하는 배포에는 새 네트워크 정책을 생성하거나 생성하지 않으면 제한이 없습니다.
    • 새 배포에서 네트워크 정책을 사용하여 배포에 연결해야 하는 경우 액세스를 허용하도록 네트워크 정책을 편집해야 할 수 있습니다.
  • 각 정책의 이름은 배포 이름과 동일하며 stackrox-generated- 가 붙습니다. 예를 들어 생성된 네트워크 정책의 배포 depABC 정책 이름은 stackrox-generated-depABC 입니다. 생성된 모든 정책에는 식별 레이블이 있습니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 다음과 같은 경우 모든 IP 주소에서 트래픽을 허용하는 단일 규칙을 생성합니다.

    • 배포 시 선택한 시간 내에 클러스터 외부에서 들어오는 연결이 있는 경우
    • 배포는 노드 포트 또는 로드 밸런서 서비스를 통해 노출됩니다.
  • Red Hat Advanced Cluster Security for Kubernetes는 들어오는 연결이 있는 모든 배포에 대해 하나의 수신 규칙을 생성합니다.

    • 동일한 네임스페이스에 있는 배포의 경우 이 규칙은 다른 배포의 Pod 선택기 레이블을 사용합니다.
    • 다른 네임스페이스 배포의 경우 이 규칙은 네임스페이스 선택기를 사용합니다. 이를 위해 Red Hat Advanced Cluster Security for Kubernetes는 각 네임스페이스에 네임스페이스 namespace.metadata.stackrox.io/name 레이블을 자동으로 추가합니다.
중요

드문 경우지만 독립 실행형 Pod에 라벨이 없는 경우 생성된 정책에서 Pod의 전체 네임스페이스로 들어오는 트래픽을 허용합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.