앱 워크로드를 에지 작업자 노드에서 실행할 수 없음
가상 프라이빗 클라우드 클래식 인프라
에지 작업자 노드의 이점은 네트워킹 서비스만 실행하도록 이러한 작업자 노드를 지정할 수 있다는 것입니다.
다음을 사용하여 워크로드가 에지 작업자 노드에서 실행되고 작업자 노드 리소스를 소비하는 것을 방지할 수 있습니다.Kubernetes 오염.
시작하기 전에
- 다음과 같은 IAM 역할이 있는지 확인하십시오:
- 클러스터에 대한 임의의 플랫폼 액세스 역할
- 모든 네임스페이스에 대한 관리자 서비스 액세스 역할
- 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
-
라벨이 있는 작업자 풀 만들기
dedicated=edge또는 기존 작업자 풀 중 하나에 레이블을 추가하세요.- 클래식 작업자 풀을 생성하려면 다음을 사용할 수 있습니다.
worker-pool create classic명령.
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * VPC 작업자 풀을 생성하려면 다음을 사용할 수 있습니다.`worker-pool create vpc-gen2` [명령](/docs/containers?topic=containers-kubernetes-service-cli#worker-pool-create-vpc-gen2-cli). ```sh {: pre} ibmcloud oc worker-pool create vpc-gen2 --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * 기존 작업자 풀에 레이블을 지정하려면 다음을 사용할 수 있습니다.`worker-pool label set` [명령](/docs/containers?topic=containers-kubernetes-service-cli#worker-pool-label-set-cli). ```sh {: pre} ibmcloud oc worker-pool label set --cluster CLUSTER --worker-pool POOL --label dedicated=edge ``` - 클래식 작업자 풀을 생성하려면 다음을 사용할 수 있습니다.
-
작업자 풀 및 작업자 노드에
dedicated=edge레이블이 있는지 확인하십시오.- 작업자 풀을 확인하려면
get명령을 사용하세요.
ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * 개별 작업자 노드를 확인하려면 다음 명령의 출력에서 **Labels** 필드를 검토하십시오. ```sh {: pre} kubectl describe node <worker_node_private_IP> ``` - 작업자 풀을 확인하려면
-
dedicated=edge레이블로 작업자 노드에 오염을 적용하십시오. 감염은 팟(pod)이 작업자 노드에서 실행되지 못하도록 방지하며, 작업자 노드에서dedicated=edge레이블이 없는 팟(pod)을 제거합니다. 제거된 팟(Pod)은 용량이 있는 다른 작업자 노드에 다시 배치됩니다.작업자 풀에서 모든 기존 및 향후 작업자 노드에 오염을 적용하려면 다음을 수행하십시오.
ibmcloud ks worker-pool taint set -c CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID --taint dedicated=edge:NoExecute개별 작업자 노드에 오염을 적용하려면 다음을 수행하십시오.
kubectl taint node -l dedicated=edge dedicated=edge:NoExecute이제
dedicated=edge결함 허용을 사용하는 포드만 에지 작업자 노드에 배치됩니다. -
에지 노드가 오염되었는지 확인하십시오.
kubectl describe nodes -l dedicated=edge | egrep "Taints|Hostname"출력 예:
Taints: dedicated=edge:NoExecute Hostname: 10.176.48.83 Taints: dedicated=edge:NoExecute Hostname: 10.184.58.7