8.4. 클러스터 확장

설치 관리자 프로비저닝 OpenShift Container Platform 클러스터를 배포한 후 다음 절차를 사용하여 작업자 노드 수를 확장할 수 있습니다. 가능한 각 작업자 노드가 사전 요구 사항을 충족하는지 확인합니다.

참고

RedFish Virtual Media를 사용하여 클러스터를 구성하려면 최소 펌웨어 요구 사항을 충족해야 합니다. RedFish Virtual Media를 사용하여 클러스터를 설정할 때 추가 세부 사항은 사전 요구 사항 섹션에서 가상 미디어를 사용하여 설치를 위한 펌웨어 요구 사항을 참조하십시오.

8.4.1. 베어 메탈 노드 준비

클러스터를 확장하려면 DHCP 서버가 필요합니다. 각 노드에는 DHCP 예약이 있어야 합니다.

고정 IP 주소가 되도록 IP 주소 예약

일부 관리자는 각 노드의 IP 주소가 DHCP 서버에서 일정하게 유지되도록 고정 IP 주소를 사용하는 것을 선호합니다. OpenShift Container Platform 클러스터에서 고정 IP 주소를 사용하려면 무한 리스로 DHCP 서버의 IP 주소를 예약합니다. 설치 프로그램이 노드를 성공적으로 프로비저닝하면 디스패치 스크립트에서 노드의 네트워크 구성을 확인합니다. 디스패치 스크립트에서 네트워크 구성에 DHCP 무한 리스가 포함되어 있음을 발견하면 DHCP 무한 리스에서 IP 주소를 사용하여 고정 IP 연결로 연결을 다시 생성합니다. DHCP 무한 리스가 없는 NIC는 수정되지 않은 상태로 유지됩니다.

무한 리스로 IP 주소를 설정하는 것은 Machine Config Operator를 사용하여 배포된 네트워크 구성과 호환되지 않습니다.

베어 메탈 노드를 준비하려면 프로비저너 노드에서 다음 절차를 실행해야 합니다.

프로세스

  1. 필요한 경우 oc 바이너리를 가져옵니다. 이는 이미 프로비저너 노드에 있어야 합니다.

    [kni@provisioner ~]$ curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/openshift-client-linux-$VERSION.tar.gz | tar zxvf - oc
    [kni@provisioner ~]$ sudo cp oc /usr/local/bin
  2. 베이스 보드 관리 컨트롤러를 통해 베어 메탈 노드의 전원을 끄고 꺼졌는지 확인합니다.
  3. 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 사용자 이름 및 암호를 검색합니다. 그런 다음 사용자 이름과 암호에서 base64 문자열을 생성합니다. 다음 예에서 사용자 이름은 root이고 암호는 calvin입니다.

    [kni@provisioner ~]$ echo -ne "root" | base64
    [kni@provisioner ~]$ echo -ne "calvin" | base64
  4. 베어 메탈 노드에 대한 구성 파일을 생성합니다.

    [kni@provisioner ~]$ vim bmh.yaml
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: openshift-worker-<num>-bmc-secret
    type: Opaque
    data:
      username: <base64-of-uid>
      password: <base64-of-pwd>
    ---
    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: openshift-worker-<num>
    spec:
      online: true
      bootMACAddress: <NIC1-mac-address>
      bmc:
        address: <protocol>://<bmc-ip>
        credentialsName: openshift-worker-<num>-bmc-secret

    두 개의 <num> 필드와 credentialsName 필드에서 베어 메탈 노드의 작업자 번호 <num>을 바꿉니다 . <base64-of-uid>를 사용자 이름의 base64 문자열로 바꿉니다. <base64-of-pwd>를 암호의 base64 문자열로 바꿉니다. <NIC1-mac-address>를 베어 메탈 노드의 첫 번째 NIC의 MAC 주소로 바꿉니다.

    추가 BMC 구성 옵션은 BMC 주소 지정 섹션을 참조하십시오. <protocol>을 IPMI, RedFish 또는 기타와 같은 BMC 프로토콜로 바꿉니다. <bmc-ip>를 베어 메탈 노드의 베이스 보드 관리 컨트롤러의 IP 주소로 바꿉니다.

    참고

    기존 베어 메탈 노드의 MAC 주소가 프로비저닝하려는 베어 메탈 호스트의 MAC 주소와 일치하면 Ironic 설치가 실패합니다. 호스트 등록, 검사, 정리 또는 기타 Ironic 단계가 실패하면 Bare Metal Operator에서 설치를 지속적으로 다시 시도합니다. 자세한 내용은 호스트 중복 MAC 주소 진단을 참조하십시오.

  5. 베어 메탈 노드를 생성합니다.

    [kni@provisioner ~]$ oc -n openshift-machine-api create -f bmh.yaml
    secret/openshift-worker-<num>-bmc-secret created
    baremetalhost.metal3.io/openshift-worker-<num> created

    여기서 <num>은 작업자 번호입니다.

  6. 베어 메탈 노드의 전원을 켜고 검사합니다.

    [kni@provisioner ~]$ oc -n openshift-machine-api get bmh openshift-worker-<num>

    여기서 <num>은 작업자 노드 번호입니다.

    NAME                 STATUS   PROVISIONING STATUS   CONSUMER   BMC                 HARDWARE PROFILE   ONLINE   ERROR
    openshift-worker-<num>   OK       ready                            ipmi://<out-of-band-ip>   unknown            true

8.4.1.1. 클러스터에서 새 호스트를 프로비저닝할 때 중복된 MAC 주소 진단

클러스터에 있는 기존 베어 메탈 노드의 MAC 주소가 클러스터에 추가하려는 베어 메탈 호스트의 MAC 주소와 일치하는 경우 베어 메탈 Operator는 기존 노드와 호스트를 연결합니다. 호스트 등록, 검사, 정리 또는 기타 Ironic 단계가 실패하면 Bare Metal Operator에서 설치를 지속적으로 다시 시도합니다. 실패한 베어 메탈 호스트에 대한 등록 오류가 표시됩니다.

openshift-machine-api 네임스페이스에서 실행 중인 베어 메탈 호스트를 검사하여 중복된 MAC 주소를 진단할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터를 베어 메탈에 설치합니다.
  • OpenShift Container Platform CLI oc를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

프로세스

프로비저닝에 실패하는 베어 메탈 호스트에 기존 노드와 동일한 MAC 주소가 있는지 확인하려면 다음을 수행하십시오.

  1. openshift-machine-api 네임스페이스에서 베어 메탈 호스트를 실행합니다.

    $ oc get bmh -n openshift-machine-api

    출력 예

    NAME                 STATUS   PROVISIONING STATUS      CONSUMER
    openshift-master-0   OK       externally provisioned   openshift-zpwpq-master-0
    openshift-master-1   OK       externally provisioned   openshift-zpwpq-master-1
    openshift-master-2   OK       externally provisioned   openshift-zpwpq-master-2
    openshift-worker-0   OK       provisioned              openshift-zpwpq-worker-0-lv84n
    openshift-worker-1   OK       provisioned              openshift-zpwpq-worker-0-zd8lm
    openshift-worker-2   error    registering

  2. 장애가 발생한 호스트의 상태에 대한 자세한 정보를 보려면 다음 명령을 실행하여 <bare_metal_host_name>을 호스트 이름으로 교체합니다.

    $ oc get -n openshift-machine-api bmh <bare_metal_host_name> -o yaml

    출력 예

    ...
    status:
      errorCount: 12
      errorMessage: MAC address b4:96:91:1d:7c:20 conflicts with existing node openshift-worker-1
      errorType: registration error
    ...