Menu Close

4.4.2. 인프라 노드 생성

중요

설치 관리자 프로비저닝 인프라 환경 또는 머신 API에서 컨트롤 플레인 노드를 관리하는 클러스터의 인프라 머신 세트 생성을 참조하십시오.

클러스터의 요구 사항은 infra 노드라고도 불리는 인프라를 프로비저닝해야 합니다. 설치 프로그램은 컨트롤 플레인 및 작업자 노드에 대한 프로비저닝만 제공합니다. 작업자 노드는 레이블을 통해 인프라 노드 또는 애플리케이션 ( app, app 이라고도 함)으로 지정할 수 있습니다.

절차

  1. 애플리케이션 노드 역할을 수행할 작업자 노드에 레이블을 추가합니다.

    $ oc label node <node-name> node-role.kubernetes.io/app=""
  2. 인프라 노드 역할을 수행할 작업자 노드에 레이블을 추가합니다.

    $ oc label node <node-name> node-role.kubernetes.io/infra=""
  3. 해당 노드에 infra 역할 및 app 역할이 있는지 확인합니다.

    $ oc get nodes
  4. 기본 클러스터 수준 노드 선택기를 생성합니다. 기본 노드 선택기는 모든 네임스페이스에서 생성된 Pod에 적용됩니다. 이렇게 하면 Pod의 기존 노드 선택기와 교차점이 생성되어 Pod의 선택기가 추가로 제한됩니다.

    중요

    기본 노드 선택기 키가 Pod 라벨 키와 충돌하는 경우 기본 노드 선택기가 적용되지 않습니다.

    그러나 Pod를 예약할 수 없게 만들 수 있는 기본 노드 선택기를 설정하지 마십시오. 예를 들어 Pod의 라벨이 node-role.kubernetes.io/master=""와 같은 다른 노드 역할로 설정된 경우 기본 노드 선택기를 node-role.kubernetes.io/infra=""와 같은 특정 노드 역할로 설정하면 Pod를 예약할 수 없게 될 수 있습니다. 따라서 기본 노드 선택기를 특정 노드 역할로 설정할 때 주의해야 합니다.

    또는 프로젝트 노드 선택기를 사용하여 클러스터 수준 노드 선택기 키 충돌을 방지할 수 있습니다.

    1. Scheduler 오브젝트를 편집합니다.

      $ oc edit scheduler cluster
    2. 적절한 노드 선택기를 사용하여 defaultNodeSelector 필드를 추가합니다.

      apiVersion: config.openshift.io/v1
      kind: Scheduler
      metadata:
        name: cluster
      ...
      spec:
        defaultNodeSelector: topology.kubernetes.io/region=us-east-1 1
      ...
      1
      이 예제 노드 선택기는 기본적으로 us-east-1 리전의 노드에 Pod를 배포합니다.
    3. 파일을 저장하여 변경 사항을 적용합니다.
  5. 인프라 리소스를 새로 레이블이 지정된 infra 노드로 이동합니다.

추가 리소스

  • 클러스터 수준 노드 선택기 키 충돌을 방지하기 위해 프로젝트 노드 선택기를 구성하는 방법에 대한 자세한 내용은 프로젝트 노드 선택기를 참조하십시오.