Kubernetes에서 Pod에 대한 CPU 선호도를 설정하는 방법은 무엇입니까?

Kubernetes에서 Pod에 대한 CPU 선호도를 설정하는 방법은 무엇입니까?

kubernetes에서 Pod에 대한 CPU 선호도를 설정하고 싶습니다. 그런데 해당 서류를 설정하는데 실패하고, 찾는데 애를 먹었습니다.

내가 이해하는 것:

  • 기본적으로 k8s의 CPU 관리자는 노드의 모든 CPU 코어를 공유 풀로 간주하고 이를 사용하여 노드에 배포된 Pod를 실행합니다.
  • kubelet의 CPU-manager-policy 필드를 'static'으로 설정하면 .yaml 파일에서 CPU 요청/제한을 정수로 설정하여 Pod에 대한 CPU 선호도를 설정할 수 있습니다.

제가 한:

  1. CPU-manager-policy 필드를 정적으로 변경하기 위해 다음과 같이 kubelet의 구성을 변경하려고 했습니다.링크
  2. 그러나 CPU-manager-policy 필드는 변경되지 않았으며 여전히 '없음'입니다.
  3. 그래서 /var/lib/kubelet/config.yaml의 'cpuManagerPolicy' 필드를 변경했습니다.
  4. 그런 다음 'sudo systemctl restart kubelet'을 실행했습니다.
  5. 노드 상태가 'NotReady'로 변경되고 모든 Pod가 보류 상태로 전환되었습니다.

내가 사용하고 있는 환경:

  • k8s 버전: v1.13.2
  • CNI: 칼리코
  • OS: 우분투 16.04
  • 노드 수: 2(마스터 1개, 워커 1개)
  • 애플리케이션: 이름이 지정된 istio의 샘플 앱도서정보

미리 감사드립니다!

답변1

나는 그것을 해결했다. config.yaml 파일에 'kubeReserved' 필드를 추가해야 합니다. 또한 /var/lib/kubelet/cpu_manager_state 파일을 제거해야 합니다. 그런 다음 'systemctl restart kubelet'을 실행하여 kubelet을 다시 시작하세요.

관련 정보