3.11. Multiarch Tuning Operator를 사용하여 다중 아키텍처 클러스터에서 워크로드 관리


Multiarch Tuning Operator는 다중 아키텍처 클러스터 및 다중 아키텍처 환경으로 전환되는 단일 아키텍처 클러스터에서 워크로드 관리를 최적화합니다.

아키텍처 인식 워크로드 스케줄링을 통해 스케줄러는 Pod 이미지의 아키텍처와 일치하는 노드에 Pod를 배치할 수 있습니다.

기본적으로 스케줄러는 노드에 대한 새 Pod 배치를 결정할 때 Pod의 컨테이너 이미지의 아키텍처를 고려하지 않습니다.

아키텍처 인식 워크로드 스케줄링을 활성화하려면 ClusterPodPlacementConfig 오브젝트를 생성해야 합니다. ClusterPodPlacementConfig 오브젝트를 생성할 때 Multiarch Tuning Operator는 아키텍처 인식 워크로드 스케줄링을 지원하는 데 필요한 피연산자를 배포합니다.

Pod가 생성되면 피연산자는 다음 작업을 수행합니다.

  1. Pod 예약을 방지하는 multiarch.openshift.io/scheduling-gate 스케줄링 게이트를 추가합니다.
  2. kubernetes.io/arch 레이블에 지원되는 아키텍처 값을 포함하는 스케줄링 서술자를 계산합니다.
  3. Pod 사양에서 스케줄링 서술자를 nodeAffinity 요구 사항으로 통합합니다.
  4. Pod에서 스케줄링 게이트를 제거합니다.
중요

다음 피연산자 동작을 확인합니다.

  • nodeSelector 필드가 워크로드에 대해 kubernetes.io/arch 레이블로 이미 구성된 경우 피연산자는 해당 워크로드에 대한 nodeAffinity 필드를 업데이트하지 않습니다.
  • nodeSelector 필드가 워크로드에 대해 kubernetes.io/arch 레이블로 구성되지 않은 경우 피연산자는 해당 워크로드에 대한 nodeAffinity 필드를 업데이트합니다. 그러나 해당 nodeAffinity 필드에서 피연산자는 kubernetes.io/arch 레이블로 구성되지 않은 노드 선택기 용어만 업데이트합니다.
  • nodeName 필드가 이미 설정된 경우 Multiarch Tuning Operator에서 Pod를 처리하지 않습니다.

3.11.1. CLI를 사용하여 Multiarch Tuning Operator 설치

OpenShift CLI(oc)를 사용하여 Multiarch Tuning Operator를 설치할 수 있습니다.

사전 요구 사항

  • oc 를 설치했습니다.
  • cluster-admin 권한이 있는 사용자로 oc 에 로그인했습니다.

프로세스

  1. 다음 명령을 실행하여 openshift-multiarch-tuning-operator 라는 새 프로젝트를 생성합니다.

    $ oc create ns openshift-multiarch-tuning-operator
  2. OperatorGroup 오브젝트를 생성합니다.

    1. OperatorGroup 오브젝트를 생성하기 위한 구성으로 YAML 파일을 생성합니다.

      OperatorGroup 오브젝트를 생성하기 위한 YAML 구성의 예

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: openshift-multiarch-tuning-operator
        namespace: openshift-multiarch-tuning-operator
      spec: {}

    2. 다음 명령을 실행하여 OperatorGroup 오브젝트를 생성합니다.

      $ oc create -f <file_name> 1
      1
      & lt;file_name >을 OperatorGroup 오브젝트 구성이 포함된 YAML 파일의 이름으로 바꿉니다.
  3. Subscription 오브젝트를 생성합니다.

    1. Subscription 오브젝트를 생성하기 위한 구성으로 YAML 파일을 생성합니다.

      Subscription 오브젝트를 생성하기 위한 YAML 구성의 예

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: openshift-multiarch-tuning-operator
        namespace: openshift-multiarch-tuning-operator
      spec:
        channel: stable
        name: multiarch-tuning-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
        installPlanApproval: Automatic
        startingCSV: multiarch-tuning-operator.v1.0.0

    2. 다음 명령을 실행하여 Subscription 오브젝트를 생성합니다.

      $ oc create -f <file_name> 1
      1
      & lt;file_name >을 Subscription 오브젝트 구성이 포함된 YAML 파일의 이름으로 바꿉니다.
참고

Subscription 오브젝트 및 OperatorGroup 오브젝트 구성에 대한 자세한 내용은 "CLI를 사용하여 OperatorHub에서 설치"를 참조하십시오.

검증

  1. Multiarch Tuning Operator가 설치되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get csv -n openshift-multiarch-tuning-operator

    출력 예

    NAME                               DISPLAY                     VERSION   REPLACES                              PHASE
    multiarch-tuning-operator.v1.0.0   Multiarch Tuning Operator   1.0.0     multiarch-tuning-operator.v0.9.0      Succeeded

    Operator가 Succeeded 단계에 있는 경우 설치가 성공적으로 수행됩니다.

  2. 선택 사항: OperatorGroup 오브젝트가 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get operatorgroup -n openshift-multiarch-tuning-operator

    출력 예

    NAME                                        AGE
    openshift-multiarch-tuning-operator-q8zbb   133m

  3. 선택 사항: Subscription 오브젝트가 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get subscription -n openshift-multiarch-tuning-operator

    출력 예

    NAME                        PACKAGE                     SOURCE                  CHANNEL
    multiarch-tuning-operator   multiarch-tuning-operator   redhat-operators        stable

3.11.2. 웹 콘솔을 사용하여 Multiarch Tuning Operator 설치

OpenShift Container Platform 웹 콘솔을 사용하여 Multiarch Tuning Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators OperatorHub 로 이동합니다.
  3. 검색 필드에 Multiarch Tuning Operator 를 입력합니다.
  4. Multiarch Tuning Operator 를 클릭합니다.
  5. 버전 목록에서 Multiarch Tuning Operator 버전을 선택합니다.
  6. 설치를 클릭합니다.
  7. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. Update Channelstable 로 설정합니다.
    2. 설치 모드를 클러스터의 모든 네임스페이스로 설정합니다.
    3. 설치된 네임스페이스Operator 권장 네임스페이스로 설정하거나 네임스페이스 를 선택합니다.

      권장 Operator 네임스페이스는 openshift-multiarch-tuning-operator 입니다. openshift-multiarch-tuning-operator 네임스페이스가 없으면 Operator 설치 중에 생성됩니다.

      네임스페이스 선택을 선택하는 경우 프로젝트 선택 목록에서 Operator의 네임스페이스를 선택해야 합니다.

    4. 업데이트 승인자동 또는 수동으로 업데이트합니다.

      자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Multiarch Tuning Operator의 실행 중인 인스턴스를 자동으로 업데이트합니다.

      수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Multiarch Tuning Operator를 최신 버전으로 업데이트하기 위해 업데이트 요청을 수동으로 승인해야 합니다.

  8. 선택 사항: 이 네임스페이스에서 Operator 권장 클러스터 모니터링 활성화 확인란을 선택합니다.
  9. 설치를 클릭합니다.

검증

  1. Operators 설치된 Operator로 이동합니다.
  2. openshift-multiarch-tuning-operator 네임스페이스에서 Status 필드를 Succeeded 로 사용하여 Multiarch Tuning Operator 가 나열되어 있는지 확인합니다.

3.11.3. Multiarch Tuning Operator Pod 라벨 및 아키텍처 지원 개요

Multiarch Tuning Operator를 설치한 후 클러스터의 워크로드에 대한 다중 아키텍처 지원을 확인할 수 있습니다. Pod 레이블을 사용하여 아키텍처 호환성을 기반으로 Pod를 식별하고 관리할 수 있습니다. 이러한 레이블은 아키텍처 지원에 대한 정보를 제공하기 위해 새로 생성된 Pod에 자동으로 설정됩니다.

다음 표는 Multiarch Tuning Operator가 Pod를 생성할 때 추가하는 라벨을 설명합니다.

표 3.2. Pod를 생성할 때 Multiarch Tuning Operator에서 추가하는 Pod 레이블
레이블설명

multiarch.openshift.io/multi-arch: ""

Pod는 여러 아키텍처를 지원합니다.

multiarch.openshift.io/single-arch: ""

Pod는 단일 아키텍처만 지원합니다.

multiarch.openshift.io/arm64: ""

Pod는 arm64 아키텍처를 지원합니다.

multiarch.openshift.io/amd64: ""

Pod는 amd64 아키텍처를 지원합니다.

multiarch.openshift.io/ppc64le: ""

Pod는 ppc64le 아키텍처를 지원합니다.

multiarch.openshift.io/s390x: ""

Pod는 s390x 아키텍처를 지원합니다.

multirach.openshift.io/node-affinity: set

Operator에서 아키텍처에 대한 노드 유사성 요구 사항을 설정합니다.

multirach.openshift.io/node-affinity: not-set

Operator에서 노드 유사성 요구 사항을 설정하지 않았습니다. 예를 들어 Pod에 아키텍처에 대한 노드 유사성이 이미 있는 경우 Multiarch Tuning Operator는 이 라벨을 Pod에 추가합니다.

multiarch.openshift.io/scheduling-gate: gated

Pod가 게이트됩니다.

multiarch.openshift.io/scheduling-gate: removed

Pod 게이트가 제거되었습니다.

multiarch.openshift.io/inspection-error: ""

노드 유사성 요구 사항을 빌드하는 동안 오류가 발생했습니다.

3.11.4. ClusterPodPlacementConfig 오브젝트 생성

Multiarch Tuning Operator를 설치한 후 ClusterPodPlacementConfig 오브젝트를 생성해야 합니다. 이 오브젝트를 생성할 때 Multiarch Tuning Operator는 아키텍처 인식 워크로드 스케줄링을 활성화하는 피연산자를 배포합니다.

참고

ClusterPodPlacementConfig 오브젝트의 하나의 인스턴스만 생성할 수 있습니다.

ClusterPodPlacementConfig 오브젝트 구성의 예

apiVersion: multiarch.openshift.io/v1beta1
kind: ClusterPodPlacementConfig
metadata:
  name: cluster 1
spec:
  logVerbosityLevel: Normal 2
  namespaceSelector: 3
    matchExpressions:
      - key: multiarch.openshift.io/exclude-pod-placement
        operator: DoesNotExist

1
이 필드 값을 cluster 로 설정해야 합니다.
2
선택 사항: 필드 값을 Normal, Debug, Trace, 또는 TraceAll 로 설정할 수 있습니다. 이 값은 기본적으로 Normal 으로 설정됩니다.
3
선택 사항: Multiarch Tuning Operator의 Pod 배치 피연산자가 Pod의 nodeAffinity 를 처리해야 하는 네임스페이스를 선택하도록 namespaceSelector 를 구성할 수 있습니다. 모든 네임스페이스는 기본적으로 고려됩니다.

이 예제에서 operator 필드 값은 DoesNotExist 로 설정됩니다. 따라서 필드 값(multiarch.openshift.io/exclude-pod-placement)이 네임스페이스에서 레이블로 설정된 경우 피연산자는 해당 네임스페이스에 있는 Pod의 nodeAffinity 를 처리하지 않습니다. 대신 피연산자는 라벨이 포함되지 않은 네임스페이스에서 Pod의 nodeAffinity 를 처리합니다.

피연산자가 특정 네임스페이스에서만 Pod의 nodeAffinity 를 처리하도록 하려면 다음과 같이 namespaceSelector 를 구성할 수 있습니다.

namespaceSelector:
  matchExpressions:
    - key: multiarch.openshift.io/include-pod-placement
      operator: Exists

이 예제에서 operator 필드 값은 Exists 로 설정됩니다. 따라서 피연산자는 multiarch.openshift.io/include-pod-placement 레이블이 포함된 네임스페이스에서만 Pod의 nodeAffinity 를 처리합니다.

중요

이 Operator는 kube- 부터 네임스페이스의 Pod를 제외합니다. 또한 컨트롤 플레인 노드에서 예약할 것으로 예상되는 Pod를 제외합니다.

3.11.4.1. CLI를 사용하여 ClusterPodPlacementConfig 오브젝트 생성

아키텍처 인식 워크로드 스케줄링을 활성화하는 Pod 배치 피연산자를 배포하려면 OpenShift CLI(oc)를 사용하여 ClusterPodPlacementConfig 오브젝트를 생성할 수 있습니다.

사전 요구 사항

  • oc 를 설치했습니다.
  • cluster-admin 권한이 있는 사용자로 oc 에 로그인했습니다.
  • Multiarch Tuning Operator가 설치되어 있습니다.

프로세스

  1. ClusterPodPlacementConfig 오브젝트 YAML 파일을 생성합니다.

    ClusterPodPlacementConfig 오브젝트 구성의 예

    apiVersion: multiarch.openshift.io/v1beta1
    kind: ClusterPodPlacementConfig
    metadata:
      name: cluster
    spec:
      logVerbosityLevel: Normal
      namespaceSelector:
        matchExpressions:
          - key: multiarch.openshift.io/exclude-pod-placement
            operator: DoesNotExist

  2. 다음 명령을 실행하여 ClusterPodPlacementConfig 오브젝트를 생성합니다.

    $ oc create -f <file_name> 1
    1
    & lt;file_name& gt;을 ClusterPodPlacementConfig 오브젝트 YAML 파일의 이름으로 바꿉니다.

검증

  • ClusterPodPlacementConfig 오브젝트가 생성되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get clusterpodplacementconfig

    출력 예

    NAME      AGE
    cluster   29s

3.11.4.2. 웹 콘솔을 사용하여 ClusterPodPlacementConfig 오브젝트 생성

아키텍처 인식 워크로드 스케줄링을 활성화하는 Pod 배치 피연산자를 배포하려면 OpenShift Container Platform 웹 콘솔을 사용하여 ClusterPodPlacementConfig 오브젝트를 생성할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • Multiarch Tuning Operator가 설치되어 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators 설치된 Operator로 이동합니다.
  3. 설치된 Operator 페이지에서 Multiarch Tuning Operator 를 클릭합니다.
  4. Cluster Pod 배치 구성 탭을 클릭합니다.
  5. 양식 보기 또는 YAML 보기를 선택합니다.
  6. ClusterPodPlacementConfig 오브젝트 매개변수를 구성합니다.
  7. Create를 클릭합니다.
  8. 선택 사항: ClusterPodPlacementConfig 오브젝트를 편집하려면 다음 작업을 수행합니다.

    1. Cluster Pod 배치 구성 탭을 클릭합니다.
    2. 옵션 메뉴에서 Edit ClusterPodPlacementConfig 를 선택합니다.
    3. YAML 을 클릭하고 ClusterPodPlacementConfig 오브젝트 매개변수를 편집합니다.
    4. 저장을 클릭합니다.

검증

  • Cluster Pod 배치 구성 페이지에서 ClusterPodPlacementConfig 오브젝트가 Ready 상태인지 확인합니다.

3.11.5. CLI를 사용하여 ClusterPodPlacementConfig 오브젝트 삭제

ClusterPodPlacementConfig 오브젝트의 하나의 인스턴스만 생성할 수 있습니다. 이 오브젝트를 다시 만들려면 먼저 기존 인스턴스를 삭제해야 합니다.

OpenShift CLI(oc)를 사용하여 이 오브젝트를 삭제할 수 있습니다.

사전 요구 사항

  • oc 를 설치했습니다.
  • cluster-admin 권한이 있는 사용자로 oc 에 로그인했습니다.

프로세스

  1. OpenShift CLI(oc)에 로그인합니다.
  2. 다음 명령을 실행하여 ClusterPodPlacementConfig 오브젝트를 삭제합니다.

    $ oc delete clusterpodplacementconfig cluster

검증

  • ClusterPodPlacementConfig 오브젝트가 삭제되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get clusterpodplacementconfig

    출력 예

    No resources found

3.11.6. 웹 콘솔을 사용하여 ClusterPodPlacementConfig 오브젝트 삭제

ClusterPodPlacementConfig 오브젝트의 하나의 인스턴스만 생성할 수 있습니다. 이 오브젝트를 다시 만들려면 먼저 기존 인스턴스를 삭제해야 합니다.

OpenShift Container Platform 웹 콘솔을 사용하여 이 오브젝트를 삭제할 수 있습니다.

전제 조건

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • ClusterPodPlacementConfig 오브젝트가 생성되어 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators 설치된 Operator로 이동합니다.
  3. 설치된 Operator 페이지에서 Multiarch Tuning Operator 를 클릭합니다.
  4. Cluster Pod 배치 구성 탭을 클릭합니다.
  5. 옵션 메뉴에서 Delete ClusterPodPlacementConfig 를 선택합니다.
  6. 삭제를 클릭합니다.

검증

  • Cluster Pod 배치 구성 페이지에서 ClusterPodPlacementConfig 오브젝트가 삭제되었는지 확인합니다.

3.11.7. CLI를 사용하여 Multiarch Tuning Operator 설치 제거

OpenShift CLI(oc)를 사용하여 Multiarch Tuning Operator를 설치 제거할 수 있습니다.

사전 요구 사항

  • oc 를 설치했습니다.
  • cluster-admin 권한이 있는 사용자로 oc 에 로그인했습니다.
  • ClusterPodPlacementConfig 오브젝트를 삭제했습니다.

    중요

    Multiarch Tuning Operator를 설치 제거하려면 ClusterPodPlacementConfig 오브젝트를 삭제해야 합니다. ClusterPodPlacementConfig 오브젝트를 삭제하지 않고 Operator를 설치 제거하면 예기치 않은 동작이 발생할 수 있습니다.

프로세스

  1. 다음 명령을 실행하여 Multiarch Tuning Operator의 서브스크립션 오브젝트 이름을 가져옵니다.

    $ oc get subscription.operators.coreos.com -n <namespace> 1
    1
    <namespace>를 Multiarch Tuning Operator를 설치 제거할 네임스페이스의 이름으로 바꿉니다.

    출력 예

    NAME                                  PACKAGE                     SOURCE             CHANNEL
    openshift-multiarch-tuning-operator   multiarch-tuning-operator   redhat-operators   stable

  2. 다음 명령을 실행하여 Multiarch Tuning Operator의 currentCSV 값을 가져옵니다.

    $ oc get subscription.operators.coreos.com <subscription_name> -n <namespace> -o yaml | grep currentCSV 1
    1
    <subscription_name>Subscription 오브젝트 이름으로 바꿉니다. 예: openshift-multiarch-tuning-operator. <namespace>를 Multiarch Tuning Operator를 설치 제거할 네임스페이스의 이름으로 바꿉니다.

    출력 예

    currentCSV: multiarch-tuning-operator.v1.0.0

  3. 다음 명령을 실행하여 Subscription 오브젝트를 삭제합니다.

    $ oc delete subscription.operators.coreos.com <subscription_name> -n <namespace> 1
    1
    <subscription_name>Subscription 오브젝트 이름으로 바꿉니다. <namespace>를 Multiarch Tuning Operator를 설치 제거할 네임스페이스의 이름으로 바꿉니다.

    출력 예

    subscription.operators.coreos.com "openshift-multiarch-tuning-operator" deleted

  4. 다음 명령을 실행하여 currentCSV 값을 사용하여 대상 네임스페이스에서 Multiarch Tuning Operator의 CSV를 삭제합니다.

    $ oc delete clusterserviceversion <currentCSV_value> -n <namespace> 1
    1
    & lt;currentCSV& gt;를 Multiarch Tuning Operator의 currentCSV 값으로 바꿉니다. 예: multiarch-tuning-operator.v1.0.0. <namespace>를 Multiarch Tuning Operator를 설치 제거할 네임스페이스의 이름으로 바꿉니다.

    출력 예

    clusterserviceversion.operators.coreos.com "multiarch-tuning-operator.v1.0.0" deleted

검증

  • Multiarch Tuning Operator가 제거되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get csv -n <namespace> 1
    1
    & lt;namespace >를 Multiarch Tuning Operator를 제거한 네임스페이스 이름으로 바꿉니다.

    출력 예

    No resources found in openshift-multiarch-tuning-operator namespace.

3.11.8. 웹 콘솔을 사용하여 Multiarch Tuning Operator 설치 제거

OpenShift Container Platform 웹 콘솔을 사용하여 Multiarch Tuning Operator를 설치 제거할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 클러스터에 액세스할 수 있습니다.
  • ClusterPodPlacementConfig 오브젝트를 삭제했습니다.

    중요

    Multiarch Tuning Operator를 설치 제거하려면 ClusterPodPlacementConfig 오브젝트를 삭제해야 합니다. ClusterPodPlacementConfig 오브젝트를 삭제하지 않고 Operator를 설치 제거하면 예기치 않은 동작이 발생할 수 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators OperatorHub 로 이동합니다.
  3. 검색 필드에 Multiarch Tuning Operator 를 입력합니다.
  4. Multiarch Tuning Operator 를 클릭합니다.
  5. 세부 정보 탭을 클릭합니다.
  6. 작업 메뉴에서 Operator 설치 제거를 선택합니다.
  7. 메시지가 표시되면 설치 제거를 클릭합니다.

검증

  1. Operators 설치된 Operator로 이동합니다.
  2. 설치된 Operator 페이지에서 Multiarch Tuning Operator 가 나열되어 있지 않은지 확인합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.