3장. AWS에 OpenShift 샌드박스 컨테이너 배포


OpenShift Container Platform 웹 콘솔 또는 CLI(명령줄 인터페이스)를 사용하여 AWS 클라우드 컴퓨팅 서비스에 OpenShift 샌드박스 컨테이너를 배포할 수 있습니다.

OpenShift 샌드박스 컨테이너는 피어 Pod를 배포합니다. 피어 Pod 설계는 중첩된 가상화의 필요성을 우회합니다. 자세한 내용은 피어 Pod를 참조하십시오.

클러스터 요구 사항

  • OpenShift 샌드박스 컨테이너 Operator를 설치하는 클러스터에 Red Hat OpenShift Container Platform 4.14 이상을 설치했습니다.
  • 클러스터에 작업자 노드가 하나 이상 있습니다.

3.1. 피어 Pod 리소스 요구 사항

클러스터에 충분한 리소스가 있는지 확인해야 합니다.

피어 Pod 가상 머신(VM)에는 다음 두 위치에 있는 리소스가 필요합니다.

  • 작업자 노드입니다. 작업자 노드는 메타데이터, Kata shim 리소스(containerd-shim-kata-v2), remote-hypervisor 리소스(cloud-api-adaptor) 및 작업자 노드와 피어 Pod VM 간의 터널 설정을 저장합니다.
  • 클라우드 인스턴스입니다. 클라우드에서 실행되는 실제 피어 Pod VM입니다.

Kubernetes 작업자 노드에 사용되는 CPU 및 메모리 리소스는 피어 Pod를 생성하는 데 사용되는 RuntimeClass(kata-remote) 정의에 포함된 Pod 오버헤드 에 의해 처리됩니다.

클라우드에서 실행되는 총 피어 Pod VM 수는 Kubernetes 노드 확장 리소스로 정의됩니다. 이 제한은 노드당이며 peerpodConfig CR(사용자 정의 리소스)의 limit 속성으로 설정됩니다.

peerpodconfig-openshift 라는 peerpodConfig CR은 kataConfig CR을 생성하고 피어 Pod를 활성화할 때 생성되며 openshift-sandboxed-containers-operator 네임스페이스에 있습니다.

다음 peerpodConfig CR 예제에서는 기본 사양 값을 표시합니다.

apiVersion: confidentialcontainers.org/v1alpha1
kind: PeerPodConfig
metadata:
  name: peerpodconfig-openshift
  namespace: openshift-sandboxed-containers-operator
spec:
  cloudSecretName: peer-pods-secret
  configMapName: peer-pods-cm
  limit: "10" 1
  nodeSelector:
    node-role.kubernetes.io/kata-oc: ""
1
기본 제한은 노드당 VM 10개입니다.

확장된 리소스의 이름은 kata.peerpods.io/vm 이며 Kubernetes 스케줄러에서 용량 추적 및 계정을 처리할 수 있습니다.

OpenShift 샌드박스 컨테이너 Operator를 설치한 후 환경의 요구 사항에 따라 노드당 제한을 편집할 수 있습니다.

변경 웹 후크 는 확장된 리소스 kata.peerpods.io/vm 을 Pod 사양에 추가합니다. 또한 Pod 사양에서 리소스별 항목도 제거합니다(있는 경우). 이를 통해 Kubernetes 스케줄러에서 이러한 확장 리소스를 고려하여 리소스를 사용할 수 있는 경우에만 피어 Pod를 예약할 수 있습니다.

변경 웹 후크는 다음과 같이 Kubernetes Pod를 수정합니다.

  • 변경 웹 후크는 TARGET_RUNTIME_CLASS 환경 변수에 지정된 예상 RuntimeClassName 값을 Pod에 확인합니다. Pod 사양의 값이 TARGET_RUNTIME_CLASS 의 값과 일치하지 않으면 Pod를 수정하지 않고 웹 후크가 종료됩니다.
  • RuntimeClassName 값이 일치하는 경우 Webhook에서 Pod 사양을 다음과 같이 변경합니다.

    1. Webhook는 Pod에 있는 모든 컨테이너 및 init 컨테이너의 resources 필드에서 모든 리소스 사양을 제거합니다.
    2. Webhook는 Pod의 첫 번째 컨테이너의 resources 필드를 수정하여 확장 리소스(kata.peerpods.io/vm)를 사양에 추가합니다. 확장된 리소스 kata.peerpods.io/vm 은 회계 목적으로 Kubernetes 스케줄러에서 사용합니다.
참고

변경 웹 후크는 OpenShift Container Platform의 특정 시스템 네임스페이스가 변경되지 않습니다. 해당 시스템 네임스페이스에 피어 Pod가 생성되면 Pod 사양에 확장 리소스가 포함되지 않는 한 Kubernetes 확장 리소스를 사용하는 리소스 계정이 작동하지 않습니다.

특정 네임스페이스에서 피어 Pod 생성만 허용하도록 클러스터 전체 정책을 정의하는 것이 좋습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.