3.3. eBPF 프로그램 배포


클러스터 관리자는 eBPF Manager Operator를 사용하여 컨테이너화된 eBPF 애플리케이션을 배포할 수 있습니다.

이 절차에 배포된 예시 eBPF 프로그램의 경우 샘플 매니페스트는 다음을 수행합니다.

먼저 Namespace , ServiceAccount , ClusterRoleBinding 과 같은 기본 Kubernetes 객체를 생성합니다. 또한 eBPF 관리자가 제공하는 사용자 정의 리소스 정의(CRD)인 XdpProgram 객체를 생성하여 eBPF XDP 프로그램을 로드합니다. 각 프로그램 유형은 자체 CRD를 가지고 있지만, 수행하는 작업은 비슷합니다. 자세한 내용은 Kubernetes에 eBPF 프로그램 로딩을 참조하세요.

두 번째로, eBPF 프로그램이 채우고 있는 eBPF 맵을 읽는 사용자 공간 프로그램을 실행하는 데몬 세트를 생성합니다. 이 eBPF 맵은 CSI(Container Storage Interface) 드라이버를 사용하여 볼륨 마운트되었습니다. 호스트에서 액세스하는 대신 컨테이너에서 eBPF 맵을 볼륨 마운트하면 애플리케이션 포드가 권한 없이 eBPF 맵에 액세스할 수 있습니다. CSI가 구성되는 방법에 대한 자세한 내용은 Kubernetes에서 eBPF 지원 애플리케이션 배포를 참조하세요.

중요

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

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

3.3.1. 컨테이너화된 eBPF 프로그램 배포

클러스터 관리자는 클러스터의 노드에 eBPF 프로그램을 배포할 수 있습니다. 이 절차에서는 샘플 컨테이너화된 eBPF 프로그램이 go-xdp-counter 네임스페이스에 설치됩니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • 관리자 권한이 있는 계정이 있습니다.
  • eBPF Manager Operator를 설치했습니다.

프로세스

  1. 매니페스트를 다운로드하려면 다음 명령을 입력하세요.

    $ curl -L https://github.com/bpfman/bpfman/releases/download/v0.5.1/go-xdp-counter-install-selinux.yaml -o go-xdp-counter-install-selinux.yaml
    Copy to Clipboard Toggle word wrap
  2. 샘플 eBPF 애플리케이션을 배포하려면 다음 명령을 입력하세요.

    $ oc create -f go-xdp-counter-install-selinux.yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    namespace/go-xdp-counter created
    serviceaccount/bpfman-app-go-xdp-counter created
    clusterrolebinding.rbac.authorization.k8s.io/xdp-binding created
    daemonset.apps/go-xdp-counter-ds created
    xdpprogram.bpfman.io/go-xdp-counter-example created
    selinuxprofile.security-profiles-operator.x-k8s.io/bpfman-secure created
    Copy to Clipboard Toggle word wrap

  3. eBPF 샘플 애플리케이션이 성공적으로 배포되었는지 확인하려면 다음 명령을 입력하세요.

    $ oc get all -o wide -n go-xdp-counter
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                          READY   STATUS    RESTARTS   AGE   IP             NODE                                 NOMINATED NODE   READINESS GATES
    pod/go-xdp-counter-ds-4m9cw   1/1     Running   0          44s   10.129.0.92    ci-ln-dcbq7d2-72292-ztrkp-master-1   <none>           <none>
    pod/go-xdp-counter-ds-7hzww   1/1     Running   0          44s   10.130.0.86    ci-ln-dcbq7d2-72292-ztrkp-master-2   <none>           <none>
    pod/go-xdp-counter-ds-qm9zx   1/1     Running   0          44s   10.128.0.101   ci-ln-dcbq7d2-72292-ztrkp-master-0   <none>           <none>
    
    NAME                               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS       IMAGES                                           SELECTOR
    daemonset.apps/go-xdp-counter-ds   3         3         3       3            3           <none>          44s   go-xdp-counter   quay.io/bpfman-userspace/go-xdp-counter:v0.5.0   name=go-xdp-counter
    Copy to Clipboard Toggle word wrap

  4. 예제 XDP 프로그램이 실행 중인지 확인하려면 다음 명령을 입력하세요.

    $ oc get xdpprogram go-xdp-counter-example
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                     BPFFUNCTIONNAME   NODESELECTOR   STATUS
    go-xdp-counter-example   xdp_stats         {}             ReconcileSuccess
    Copy to Clipboard Toggle word wrap

  5. XDP 프로그램이 데이터를 수집하고 있는지 확인하려면 다음 명령을 입력하세요.

    $ oc logs <pod_name> -n go-xdp-counter
    Copy to Clipboard Toggle word wrap

    <pod_name>을 go-xdp-counter-ds-4m9cw 와 같은 XDP 프로그램 Pod의 이름으로 바꾸세요.

    출력 예

    2024/08/13 15:20:06 15016 packets received
    2024/08/13 15:20:06 93581579 bytes received
    ...
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat