8.4. 인프라 머신 세트로 리소스 이동


일부 인프라 리소스는 기본적으로 클러스터에 배포됩니다. 다음과 같이 인프라 노드 선택기를 추가하여 생성한 인프라 머신 세트로 이동할 수 있습니다.

apiVersion: imageregistry.operator.openshift.io/v1
kind: Config
metadata:
  name: cluster
# ...
spec:
  nodePlacement: 
1

    nodeSelector:
      matchLabels:
        node-role.kubernetes.io/infra: ""
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/infra
      value: reserved
    - effect: NoExecute
      key: node-role.kubernetes.io/infra
      value: reserved
Copy to Clipboard Toggle word wrap
1
적절한 값이 설정된 nodeSelector 매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로 nodeSelector를 사용하거나 노드에 지정된 값에 따라 <key>: <value> 쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가합니다.

모든 인프라 구성 요소에 특정 노드 선택기를 적용하면 OpenShift Container Platform에서 해당 레이블이 있는 노드에서 해당 워크로드를 예약합니다 .

8.4.1. 라우터 이동

라우터 포드를 다른 컴퓨팅 머신 세트에 배포할 수 있습니다. 기본적으로 Pod는 작업자 노드에 배포됩니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에서 추가 컴퓨팅 머신 세트를 구성합니다.

프로세스

  1. 라우터 Operator의 IngressController 사용자 정의 리소스를 표시합니다.

    $ oc get ingresscontroller default -n openshift-ingress-operator -o yaml
    Copy to Clipboard Toggle word wrap

    명령 출력은 다음 예제와 유사합니다.

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: 2019-04-18T12:35:39Z
      finalizers:
      - ingresscontroller.operator.openshift.io/finalizer-ingresscontroller
      generation: 1
      name: default
      namespace: openshift-ingress-operator
      resourceVersion: "11341"
      selfLink: /apis/operator.openshift.io/v1/namespaces/openshift-ingress-operator/ingresscontrollers/default
      uid: 79509e05-61d6-11e9-bc55-02ce4781844a
    spec: {}
    status:
      availableReplicas: 2
      conditions:
      - lastTransitionTime: 2019-04-18T12:36:15Z
        status: "True"
        type: Available
      domain: apps.<cluster>.example.com
      endpointPublishingStrategy:
        type: LoadBalancerService
      selector: ingresscontroller.operator.openshift.io/deployment-ingresscontroller=default
    Copy to Clipboard Toggle word wrap
  2. ingresscontroller 리소스를 편집하고 infra 레이블을 사용하도록 nodeSelector를 변경합니다.

    $ oc edit ingresscontroller default -n openshift-ingress-operator
    Copy to Clipboard Toggle word wrap
    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: "2025-03-26T21:15:43Z"
      finalizers:
      - ingresscontroller.operator.openshift.io/finalizer-ingresscontroller
      generation: 1
      name: default
    # ...
    spec:
      nodePlacement:
        nodeSelector: 
    1
    
          matchLabels:
            node-role.kubernetes.io/infra: ""
        tolerations:
        - effect: NoSchedule
          key: node-role.kubernetes.io/infra
          value: reserved
    # ...
    Copy to Clipboard Toggle word wrap
    1
    적절한 값이 설정된 nodeSelector 매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로 nodeSelector 매개변수를 사용하거나 노드에 지정된 값에 따라 <key>: <value> 쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가하세요.
  3. 라우터 pod가 infra 노드에서 실행되고 있는지 확인합니다.

    1. 라우터 pod 목록을 표시하고 실행중인 pod의 노드 이름을 기록해 둡니다.

      $ oc get pod -n openshift-ingress -o wide
      Copy to Clipboard Toggle word wrap

      출력 예

      NAME                              READY     STATUS        RESTARTS   AGE       IP           NODE                           NOMINATED NODE   READINESS GATES
      router-default-86798b4b5d-bdlvd   1/1      Running       0          28s       10.130.2.4   ip-10-0-217-226.ec2.internal   <none>           <none>
      router-default-955d875f4-255g8    0/1      Terminating   0          19h       10.129.2.4   ip-10-0-148-172.ec2.internal   <none>           <none>
      Copy to Clipboard Toggle word wrap

      이 예에서 실행중인 pod는 ip-10-0-217-226.ec2.internal 노드에 있습니다.

    2. 실행중인 pod의 노드 상태를 표시합니다.

      $ oc get node <node_name> 
      1
      Copy to Clipboard Toggle word wrap
      1
      pod 목록에서 얻은 <node_name>을 지정합니다.

      출력 예

      NAME                          STATUS  ROLES         AGE   VERSION
      ip-10-0-217-226.ec2.internal  Ready   infra,worker  17h   v1.32.3
      Copy to Clipboard Toggle word wrap

      역할 목록에 infra가 포함되어 있으므로 pod가 올바른 노드에서 실행됩니다.

8.4.2. 기본 레지스트리 이동

Pod를 다른 노드에 배포하도록 레지스트리 Operator를 구성합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에서 추가 컴퓨팅 머신 세트를 구성합니다.

프로세스

  1. config/instance 개체를 표시합니다.

    $ oc get configs.imageregistry.operator.openshift.io/cluster -o yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    apiVersion: imageregistry.operator.openshift.io/v1
    kind: Config
    metadata:
      creationTimestamp: 2019-02-05T13:52:05Z
      finalizers:
      - imageregistry.operator.openshift.io/finalizer
      generation: 1
      name: cluster
      resourceVersion: "56174"
      selfLink: /apis/imageregistry.operator.openshift.io/v1/configs/cluster
      uid: 36fd3724-294d-11e9-a524-12ffeee2931b
    spec:
      httpSecret: d9a012ccd117b1e6616ceccb2c3bb66a5fed1b5e481623
      logging: 2
      managementState: Managed
      proxy: {}
      replicas: 1
      requests:
        read: {}
        write: {}
      storage:
        s3:
          bucket: image-registry-us-east-1-c92e88cad85b48ec8b312344dff03c82-392c
          region: us-east-1
    status:
    ...
    Copy to Clipboard Toggle word wrap

  2. config/instance 개체를 편집합니다.

    $ oc edit configs.imageregistry.operator.openshift.io/cluster
    Copy to Clipboard Toggle word wrap
    apiVersion: imageregistry.operator.openshift.io/v1
    kind: Config
    metadata:
      name: cluster
    # ...
    spec:
      logLevel: Normal
      managementState: Managed
      nodeSelector: 
    1
    
        node-role.kubernetes.io/infra: ""
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/infra
        value: reserved
    Copy to Clipboard Toggle word wrap
    1
    적절한 값이 설정된 nodeSelector 매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로 nodeSelector 매개변수를 사용하거나 노드에 지정된 값에 따라 <key>: <value> 쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가합니다.
  3. 레지스트리 pod가 인프라 노드로 이동되었는지 검증합니다.

    1. 다음 명령을 실행하여 레지스트리 pod가 있는 노드를 식별합니다.

      $ oc get pods -o wide -n openshift-image-registry
      Copy to Clipboard Toggle word wrap
    2. 노드에 지정된 레이블이 있는지 확인합니다.

      $ oc describe node <node_name>
      Copy to Clipboard Toggle word wrap

      명령 출력을 확인하고 node-role.kubernetes.io/infraLABELS 목록에 있는지 확인합니다.

8.4.3. 모니터링 솔루션 이동

모니터링 스택에는 Prometheus, Thanos Querier, Alertmanager를 포함한 여러 구성 요소가 포함되어 있습니다. 클러스터 모니터링 운영자는 이 스택을 관리합니다. 모니터링 스택을 인프라 노드에 재배포하려면 사용자 정의 구성 맵을 생성하고 적용할 수 있습니다.

사전 요구 사항

  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • cluster-monitoring-config ConfigMap 오브젝트를 생성하셨습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. cluster-monitoring-config 구성 맵을 편집하고 nodeSelector를 변경하여 인프라 레이블을 사용합니다.

    $ oc edit configmap cluster-monitoring-config -n openshift-monitoring
    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |+
        alertmanagerMain:
          nodeSelector: 
    1
    
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        prometheusK8s:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        prometheusOperator:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        metricsServer:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        kubeStateMetrics:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        telemeterClient:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        openshiftStateMetrics:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        thanosQuerier:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
        monitoringPlugin:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations:
          - key: node-role.kubernetes.io/infra
            value: reserved
            effect: NoSchedule
    Copy to Clipboard Toggle word wrap
    1
    적절한 값이 설정된 nodeSelector 매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로 nodeSelector 매개변수를 사용하거나 노드에 지정된 값에 따라 <key>: <value> 쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가하세요.
  2. 모니터링 pod가 새 머신으로 이동하는 것을 확인합니다.

    $ watch 'oc get pod -n openshift-monitoring -o wide'
    Copy to Clipboard Toggle word wrap
  3. 구성 요소가 infra 노드로 이동하지 않은 경우 이 구성 요소가 있는 pod를 제거합니다.

    $ oc delete pod -n openshift-monitoring <pod>
    Copy to Clipboard Toggle word wrap

    삭제된 pod의 구성 요소가 infra 노드에 다시 생성됩니다.

8.4.4. Vertical Pod Autoscaler Operator 구성 요소 이동

수직 포드 자동 확장 연산자(VPA)는 추천자, 업데이터, 승인 컨트롤러의 세 가지 구성 요소로 구성됩니다. 운영자와 각 구성 요소는 제어 평면 노드의 VPA 네임스페이스에 자체 포드를 갖습니다. VPA 구독과 VerticalPodAutoscalerController CR에 노드 선택기를 추가하여 VPA Operator와 구성 요소 Pod를 인프라 노드로 이동할 수 있습니다.

다음 예에서는 VPA 포드를 제어 평면 노드에 기본적으로 배포하는 방법을 보여줍니다.

출력 예

NAME                                                READY   STATUS    RESTARTS   AGE     IP            NODE                  NOMINATED NODE   READINESS GATES
vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z   1/1     Running   0          7m59s   10.128.2.24   c416-tfsbj-master-1   <none>           <none>
vpa-admission-plugin-default-6cb78d6f8b-rpcrj       1/1     Running   0          5m37s   10.129.2.22   c416-tfsbj-master-1   <none>           <none>
vpa-recommender-default-66846bd94c-dsmpp            1/1     Running   0          5m37s   10.129.2.20   c416-tfsbj-master-0   <none>           <none>
vpa-updater-default-db8b58df-2nkvf                  1/1     Running   0          5m37s   10.129.2.21   c416-tfsbj-master-1   <none>           <none>
Copy to Clipboard Toggle word wrap

프로세스

  1. VPA Operator에 대한 구독 사용자 정의 리소스(CR)에 노드 선택기를 추가하여 VPA Operator 포드를 이동합니다.

    1. CR을 편집하세요:

      $ oc edit Subscription vertical-pod-autoscaler -n openshift-vertical-pod-autoscaler
      Copy to Clipboard Toggle word wrap
    2. 인프라 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        labels:
          operators.coreos.com/vertical-pod-autoscaler.openshift-vertical-pod-autoscaler: ""
        name: vertical-pod-autoscaler
      # ...
      spec:
        config:
          nodeSelector:
            node-role.kubernetes.io/infra: "" 
      1
      Copy to Clipboard Toggle word wrap
      1
      인프라 노드의 노드 역할을 지정합니다.
      참고

      인프라 노드에서 taint를 사용하는 경우 서브스크립션 CR에 허용 오차를 추가해야 합니다.

      예를 들면 다음과 같습니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        labels:
          operators.coreos.com/vertical-pod-autoscaler.openshift-vertical-pod-autoscaler: ""
        name: vertical-pod-autoscaler
      # ...
      spec:
        config:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations: 
      1
      
          - key: "node-role.kubernetes.io/infra"
            operator: "Exists"
            effect: "NoSchedule"
      Copy to Clipboard Toggle word wrap
      1
      인프라 노드의 오염에 대한 허용 범위를 지정합니다.
  2. VerticalPodAutoscaler 사용자 정의 리소스(CR)에 노드 선택기를 추가하여 각 VPA 구성 요소를 이동합니다.

    1. CR을 편집하세요:

      $ oc edit VerticalPodAutoscalerController default -n openshift-vertical-pod-autoscaler
      Copy to Clipboard Toggle word wrap
    2. 인프라 노드의 노드 역할 레이블과 일치하도록 노드 선택기를 추가합니다.

      apiVersion: autoscaling.openshift.io/v1
      kind: VerticalPodAutoscalerController
      metadata:
       name: default
        namespace: openshift-vertical-pod-autoscaler
      # ...
      spec:
        deploymentOverrides:
          admission:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: "" 
      1
      
          recommender:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: "" 
      2
      
          updater:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: "" 
      3
      Copy to Clipboard Toggle word wrap
      1
      선택 사항: VPA 입장 포드에 대한 노드 역할을 지정합니다.
      2
      선택 사항: VPA 추천 포드의 노드 역할을 지정합니다.
      3
      선택 사항: VPA 업데이터 포드의 노드 역할을 지정합니다.
      참고

      대상 노드가 오염을 사용하는 경우 VerticalPodAutoscalerController CR에 허용 범위를 추가해야 합니다.

      예를 들면 다음과 같습니다.

      apiVersion: autoscaling.openshift.io/v1
      kind: VerticalPodAutoscalerController
      metadata:
       name: default
        namespace: openshift-vertical-pod-autoscaler
      # ...
      spec:
        deploymentOverrides:
          admission:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: ""
            tolerations: 
      1
      
            - key: "my-example-node-taint-key"
              operator: "Exists"
              effect: "NoSchedule"
          recommender:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: ""
            tolerations: 
      2
      
            - key: "my-example-node-taint-key"
              operator: "Exists"
              effect: "NoSchedule"
          updater:
            container:
              resources: {}
            nodeSelector:
              node-role.kubernetes.io/infra: ""
            tolerations: 
      3
      
            - key: "my-example-node-taint-key"
              operator: "Exists"
              effect: "NoSchedule"
      Copy to Clipboard Toggle word wrap
      1
      인프라 노드의 오염에 대한 입장 컨트롤러 포드의 허용 범위를 지정합니다.
      2
      인프라 노드의 오염에 대한 추천 포드의 허용 범위를 지정합니다.
      3
      인프라 노드의 오염에 대한 업데이터 포드의 허용 범위를 지정합니다.

검증

  • 다음 명령을 사용하여 포드가 이동했는지 확인할 수 있습니다.

    $ oc get pods -n openshift-vertical-pod-autoscaler -o wide
    Copy to Clipboard Toggle word wrap

    포드는 더 이상 제어 평면 노드에 배포되지 않습니다. 아래 예제 출력에서 해당 노드는 이제 제어 평면 노드가 아니라 인프라 노드입니다.

    출력 예

    NAME                                                READY   STATUS    RESTARTS   AGE     IP            NODE                              NOMINATED NODE   READINESS GATES
    vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z   1/1     Running   0          7m59s   10.128.2.24   c416-tfsbj-infra-eastus3-2bndt   <none>           <none>
    vpa-admission-plugin-default-6cb78d6f8b-rpcrj       1/1     Running   0          5m37s   10.129.2.22   c416-tfsbj-infra-eastus1-lrgj8   <none>           <none>
    vpa-recommender-default-66846bd94c-dsmpp            1/1     Running   0          5m37s   10.129.2.20   c416-tfsbj-infra-eastus1-lrgj8   <none>           <none>
    vpa-updater-default-db8b58df-2nkvf                  1/1     Running   0          5m37s   10.129.2.21   c416-tfsbj-infra-eastus1-lrgj8   <none>           <none>
    Copy to Clipboard Toggle word wrap

8.4.5. 클러스터 리소스 재정의 운영자 포드 이동

기본적으로 클러스터 리소스 오버라이드 연산자 설치 프로세스는 clusterresourceoverride-operator 네임스페이스의 노드에 연산자 포드와 두 개의 클러스터 리소스 오버라이드 포드를 생성합니다. 필요에 따라 이러한 포드를 인프라 노드 등 다른 노드로 옮길 수 있습니다.

다음 예에서는 클러스터 리소스 재정의 포드가 제어 평면 노드에 배포되고 클러스터 리소스 재정의 연산자 포드가 작업자 노드에 배포되는 것을 보여줍니다.

클러스터 리소스 재정의 포드 예

NAME                                                READY   STATUS    RESTARTS   AGE   IP            NODE                                        NOMINATED NODE   READINESS GATES
clusterresourceoverride-786b8c898c-9wrdq            1/1     Running   0          23s   10.128.2.32   ip-10-0-14-183.us-west-2.compute.internal   <none>           <none>
clusterresourceoverride-786b8c898c-vn2lf            1/1     Running   0          26s   10.130.2.10   ip-10-0-20-140.us-west-2.compute.internal   <none>           <none>
clusterresourceoverride-operator-6b8b8b656b-lvr62   1/1     Running   0          56m   10.131.0.33   ip-10-0-2-39.us-west-2.compute.internal     <none>           <none>
Copy to Clipboard Toggle word wrap

예제 노드 목록

NAME                                        STATUS   ROLES                  AGE   VERSION
ip-10-0-14-183.us-west-2.compute.internal   Ready    control-plane,master   65m   v1.32.3
ip-10-0-2-39.us-west-2.compute.internal     Ready    worker                 58m   v1.32.3
ip-10-0-20-140.us-west-2.compute.internal   Ready    control-plane,master   65m   v1.32.3
ip-10-0-23-244.us-west-2.compute.internal   Ready    infra                  55m   v1.32.3
ip-10-0-77-153.us-west-2.compute.internal   Ready    control-plane,master   65m   v1.32.3
ip-10-0-99-108.us-west-2.compute.internal   Ready    worker                 24m   v1.32.3
ip-10-0-24-233.us-west-2.compute.internal   Ready    infra                  55m   v1.32.3
ip-10-0-88-109.us-west-2.compute.internal   Ready    worker                 24m   v1.32.3
ip-10-0-67-453.us-west-2.compute.internal   Ready    infra                  55m   v1.32.3
Copy to Clipboard Toggle word wrap

프로세스

  1. 클러스터 리소스 재정의 연산자에 대한 구독 사용자 정의 리소스(CR)에 노드 선택기를 추가하여 클러스터 리소스 재정의 연산자 포드를 이동합니다.

    1. CR을 편집하세요:

      $ oc edit -n clusterresourceoverride-operator subscriptions.operators.coreos.com clusterresourceoverride
      Copy to Clipboard Toggle word wrap
    2. 클러스터 리소스 재정의 운영자 포드를 설치하려는 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: clusterresourceoverride
        namespace: clusterresourceoverride-operator
      # ...
      spec:
        config:
          nodeSelector:
            node-role.kubernetes.io/infra: "" 
      1
      
      # ...
      Copy to Clipboard Toggle word wrap
      1
      클러스터 리소스 재정의 운영자 포드를 배포할 노드의 역할을 지정합니다.
      참고

      인프라 노드에서 taint를 사용하는 경우 서브스크립션 CR에 허용 오차를 추가해야 합니다.

      예를 들면 다음과 같습니다.

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: clusterresourceoverride
        namespace: clusterresourceoverride-operator
      # ...
      spec:
        config:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
          tolerations: 
      1
      
          - key: "node-role.kubernetes.io/infra"
            operator: "Exists"
            effect: "NoSchedule"
      Copy to Clipboard Toggle word wrap
      1
      인프라 노드의 오염에 대한 허용 범위를 지정합니다.
  2. ClusterResourceOverride 사용자 정의 리소스(CR)에 노드 선택기를 추가하여 Cluster Resource Override 포드를 이동합니다.

    1. CR을 편집하세요:

      $ oc edit ClusterResourceOverride cluster -n clusterresourceoverride-operator
      Copy to Clipboard Toggle word wrap
    2. 인프라 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.

      apiVersion: operator.autoscaling.openshift.io/v1
      kind: ClusterResourceOverride
      metadata:
        name: cluster
        resourceVersion: "37952"
      spec:
        podResourceOverride:
          spec:
            cpuRequestToLimitPercent: 25
            limitCPUToMemoryPercent: 200
            memoryRequestToLimitPercent: 50
        deploymentOverrides:
          replicas: 1 
      1
      
          nodeSelector:
            node-role.kubernetes.io/infra: "" 
      2
      
      # ...
      Copy to Clipboard Toggle word wrap
      1
      선택 사항: 배포할 클러스터 리소스 재정의 포드 수를 지정합니다. 기본값은 2 입니다. 노드당 하나의 Pod만 허용됩니다.
      2
      선택 사항: 클러스터 리소스 재정의 포드를 배포할 노드의 역할을 지정합니다.
      참고

      인프라 노드가 오염을 사용하는 경우 ClusterResourceOverride CR에 허용 범위를 추가해야 합니다.

      예를 들면 다음과 같습니다.

      apiVersion: operator.autoscaling.openshift.io/v1
      kind: ClusterResourceOverride
      metadata:
        name: cluster
      # ...
      spec:
        podResourceOverride:
          spec:
            memoryRequestToLimitPercent: 50
            cpuRequestToLimitPercent: 25
            limitCPUToMemoryPercent: 200
        deploymentOverrides:
          replicas: 3
          nodeSelector:
            node-role.kubernetes.io/worker: ""
          tolerations: 
      1
      
          - key: "key"
            operator: "Equal"
            value: "value"
            effect: "NoSchedule"
      Copy to Clipboard Toggle word wrap
      1
      인프라 노드의 오염에 대한 허용 범위를 지정합니다.

검증

  • 다음 명령을 사용하여 포드가 이동했는지 확인할 수 있습니다.

    $ oc get pods -n clusterresourceoverride-operator -o wide
    Copy to Clipboard Toggle word wrap

    클러스터 리소스 재정의 포드가 이제 인프라 노드에 배포되었습니다.

    출력 예

    NAME                                                READY   STATUS    RESTARTS   AGE   IP            NODE                                        NOMINATED NODE   READINESS GATES
    clusterresourceoverride-786b8c898c-9wrdq            1/1     Running   0          23s   10.127.2.25   ip-10-0-23-244.us-west-2.compute.internal   <none>           <none>
    clusterresourceoverride-786b8c898c-vn2lf            1/1     Running   0          26s   10.128.0.80   ip-10-0-24-233.us-west-2.compute.internal   <none>           <none>
    clusterresourceoverride-operator-6b8b8b656b-lvr62   1/1     Running   0          56m   10.129.0.71   ip-10-0-67-453.us-west-2.compute.internal   <none>           <none>
    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