호스트 레이블 자동 지정을 사용하여 호스트 지정
호스트는 사용 가능한 컴퓨팅 용량에 맞춰 호스트 레이블을 기반으로 클러스터 또는 ‘ Satellite ’ 기능이 활성화된 IBM Cloud 서비스 내의 워커 풀에 자동으로 할당됩니다. 자동 할당 기능을 켜거나 끌 수 있습니다.
Satellite 위치 제어 플레인에는 호스트 자동 지정을 사용할 수 없습니다.
호스트 레이블
Satellite 클러스터에서 호스트 자동 할당은 워커 풀 레이블을 사용 가능한 호스트의 호스트 및 존 레이블과 매칭합니다.
자동 지정에 사용되는 호스트 레이블에 대한 다음 정보를 염두에 두십시오.
- 기본 호스트 레이블
- 호스트를 Satellite 위치에 연결하면 호스트에
cpu,os및memory(바이트 단위)에 대한 레이블이 자동으로 지정됩니다. 이러한 레이블은 제거할 수 없습니다. 추가 호스트 레이블을 포함시키거나, 나중에 호스트 메타데이터를 업데이트하는 것은 가능합니다. 호스트가os레이블을 포함하지 않는 경우, 이는 자동으로RHEL7(으)로 간주됩니다. - 호스트에는 작업자 풀보다 더 많은 레이블이 있을 수 있음
- 예를 들어,
cpu,memory,env라는 호스트 레이블을 가진 호스트는cpu라는 호스트 레이블만 있는 워커 풀에 자동으로 할당될 수 있습니다. 호스트 자동 지정은cpu레이블을 대응시킵니다. 반대의 경우는 적용되지 않습니다. 즉, 워커 풀의 레이블 수가 호스트의 레이블 수보다 많을 경우, 해당 호스트는 해당 워커 풀에 자동으로 할당될 수 없습니다. - 일치는 정확해야 함
- 호스트 레이블은 서로 정확히 동일(
=)해야 합니다. 호스트 레이블이 숫자인 경우에도 미만(<), 초과(>) 또는 기타 연산자가 일치에 사용되지 않습니다.
호스트 자동 지정 시나리오 예
default에 us-east-1a 작업자 풀이 있는 Satellite 클러스터가 있고 다음과 같은 호스트 레이블이 있다고 가정합니다.
cpu=4env=prodos=RHEL7
사용자의 Satellite 위치에는 호스트 레이블이 다음과 같은 사용 가능한(지정되지 않은) 호스트가 있습니다.
- 호스트 A:
cpu=4, memory=32, env=prod, zone=us-east-1bos=rhel - 호스트 B:
cpu=4, memory=32, zone=us-east-1aos=RHEL7 - 호스트 C:
cpu=4, memory=64, env=prodos=RHEL7 - 진행자 D:
cpu=4, memory=64, env=prodos=RHCOS( Red Hat CoreOS )
3개의 추가 작업자 노드를 요청하기 위해 default 작업자 풀의 크기를 조정하는 경우에는 호스트 C만 자동 지정될 수 있으며 호스트 A 또는 B는 지정될 수 없습니다.
- 호스트 A는 중앙 처리 장치(CPU) 및
env=prod라벨 요청을 처리하지만,us-east-1b에서만 할당될 수 있습니다.default작업자 풀은us-east-1a에만 있으므로 호스트 A는 지정되지 않습니다. - 호스트 B는 CPU 및 구역 요청을 충족합니다. 그러나 이 호스트에는
env=prod레이블이 없으므로 지정되지 않습니다. - 호스트 C는
cpu=4및env=prod호스트 레이블과 일치하며, 구역 제한사항이 없으므로 자동으로 지정됩니다. 작업자 풀은memory=64레이블을 요청하지 않으므로memory호스트 레이블은 고려되지 않습니다. - 호스트 D는 CPU, 구역 및
env=prod레이블 요청을 충족하지만os요청RHEL7을(를) 충족시키지 않으므로 지정되지 않습니다.
호스트는 클러스터에 있는 기본 작업자 풀의 각 구역에서 작업자 노드로 지정되어야 합니다. 기본 작업자 풀이 여러 구역에 걸쳐 있는 경우, 각 구역에 지정할 수 있는 일치하는 레이블이 있는 호스트가 있는지 확인하십시오.
호스트 자동 지정
IBM Cloud Satellite cpu 과 같은 호스트 레이블을 사용하여 컴퓨팅 용량을 요청하는 클러스터 내의 워커 풀에 호스트를 자동으로 할당합니다.
시작하기 전에 Satellite 클러스터를 작성해야 합니다. CLI 에서 클러스터를 작성하는 경우 자동으로 지정할 호스트 수와 함께 --workers 옵션을 지정해야 합니다. 그런 다음, 호스트를 Satellite 위치에 연결하지만 호스트를 자원에 지정하지 않도록 하십시오.
-
작업자 풀이 컴퓨팅 용량을 요청하는 데 사용하는 호스트 레이블을 검토하십시오. 여러 옵션이 있습니다.
- 자동 지정에 사용할 호스트 레이블을 사용하여 Satellite 클러스터에 작업자 풀을 작성합니다.
- 기존 작업자 풀의 호스트 레이블을 검토합니다. 작업자 풀에 있는 호스트 레이블은 업데이트할 수 없다는 점을 유의하십시오.
ibmcloud oc worker-pool get -c <cluster> --worker-pool <worker_pool>명령을 실행하여 호스트 레이블을 검토할 수 있습니다. - Satellite 사용 IBM Cloud 서비스 클러스터가 Satellite 사용 IBM Cloud 서비스 인스턴스 콘솔에서 리소스를 요청하는 데 사용하는 호스트 레이블을 검토하십시오.
-
사용 가능한 호스트에 있는 호스트 레이블을 검토하십시오. 호스트는 Satellite 위치에 연결될 때
cpu및memory레이블이 자동으로 지정된다는 점을 참고하십시오.- Satellite 위치 이름을 가져오십시오.
ibmcloud sat location ls ``` 2. 사용자의 위치에 있는 사용 가능한(지정되지 않은) 호스트를 나열하고 레이블을 확인할 호스트의 ID를 기록하십시오. ```sh {: pre} ibmcloud sat host ls --location LOCATION_NAME_OR_ID | grep unassigned ``` 3. 확인할 각 호스트에 대해 호스트 세부사항을 가져오고 출력에 있는 **레이블**을 기록하십시오. ```sh {: pre} ibmcloud sat host get --location LOCATION_NAME_OR_ID --host HOST_NAME_OR_ID ``` 출력 예 ```sh {: screen} ... Labels app webserver cpu 4 memory 3874564 os RHCOS ... ``` -
호스트를 자동 지정에 사용할 수 있도록 하려는 작업자 풀의 모든 레이블과 일치하도록 사용 가능한 호스트의 레이블을 업데이트하십시오. 선택적으로 구역을 지정하여 해당 호스트가 그 구역에만 자동 지정되도록 할 수 있습니다.
호스트의
cpu,os및memory레이블은 자동으로 적용되며 편집할 수 없습니다.ibmcloud sat host update --location <location_name_or_ID> --host <host_name_or_ID> -hl <key=value> [-hl <key=value>] [--zone <zone1>]
호스트 자동 지정 사용 안함
다음 조치는 작업자 풀에 대한 호스트 자동 지정을 사용 안함으로 설정합니다. 나중에 호스트 자동 지정을 다시 사용으로 설정할 수 있습니다.
호스트 자동 지정을 다시 사용으로 설정
호스트 자동 지정을 사용 안함으로 설정한 경우 자동 지정을 다시 사용으로 설정할 수 있습니다.
- 작업자 풀의 호스트 레이블과 일치하는 레이블이 지정된 사용 가능한 호스트가 있는지 확인하십시오.
- 작업자 풀의 크기를 조정하여 구역별로 요청된 크기를 설정하고, 작업자 풀을 재밸런싱하고, 자동 지정을 다시 사용으로 설정하십시오.
Satellite 클러스터의 경우, 워커 풀에 워커 노드를 수동으로 할당한 상태라면 ibmcloud oc worker-pool rebalance 명령어를 사용하지 마십시오. 수동으로 할당된 워커 노드가 포함된 풀의 균형을 재조정하면 예상된 수보다 더 많은 워커 노드가 제거됩니다.