Kubernetes CPU 및 메모리의 간편하고 빠른 조정

Kubernetes에서 CPU와 메모리 자원을 분배하고 관리하는 것은 까다롭고 쉬울 수 있습니다.많은 고객을 위해 이 임무를 완수한 후에, 나는 프레임 구역을 만들기로 결정했다.쿠베르네트스의 자원과 제한, 그리고 그것을 어떻게 관리하는지 보여 드리겠습니다.

프레임에는 다음 단계가 포함됩니다.
  • 정보 도표 안내서는 자원과 제한을 확정하고 분배하는 알고리즘을 보여 준다.
  • 코드 템플릿은 이러한 알고리즘을 최소한의 적응성으로 응용할 수 있다.
  • 자원 소모 지표를 수집하고 제한을 설정하는 알고리즘과 도구입니다.
  • 공식 문서에 연결하면 예시를 신속하게 얻고 더 자세한 정보를 읽을 수 있습니다.
  • 본문에 포함되지 않은 내용.


    나의 목표는 간단하다.그래서 자원, 제한 범위, 할당액이 어떻게 작동하는지에 대한 상세한 설명을 찾을 수 없습니다.그것에 관한 많은 글과 쿠베르네트스의 상세한 문서가 있다.대신 프로젝트에서 Kubernetes 자원을 빠르게 조정하는 방법에 대한 정보를 찾을 수 있습니다.

    CPU 및 메모리 리소스 기본 가이드


    두 장의 메모지는 어떤 자원이 쿠버넷인지, 도량 단위, 자원 상태 작업 흐름인지, 그리고 그 규칙을 어떻게 응용하는지 설명한다.

    CPU 및 메모리 리소스 기본 가이드



    CPU 계산 공식은 모든 설정이나 항목에 적용되지 않습니다.자원과 제한을 탐지하고 분배하는 과정에서 시작점으로 사용된다.
    Kubernetes 배치YAML template는 용기, 자원 및 제한 정의를 포함한다.
    자세한 정보 및 코드 세그먼트:
  • Kubernetes.io. Assign memory resource guide.
  • Kubernetes.io. Assign CPU resource guide.
  • Kubernetes best practices resource requests and limits
  • Azure Kubernetes Services. Developer best practices resource-management
  • 자원 할당량 가이드



    영구 볼륨 선언과 백업 네임스페이스의 리소스에 대한 할당량 정의를 포함하는 두 개quota templates
    kubectl "apply"명령을 사용하여 이름 공간에 할당량 제약을 설정할 수 있습니다.
    kubectl apply -f resource-quota.yaml — namespace backend
    
    할당량, 지표, 그리고 할당량 표현식과 코드 예시를 어떻게 사용하는지 상세하게 설명한다.
  • https://kubernetes.io/docs/concepts/policy/resource-quotas/
  • 범위 제한 지침



    컨테이너의 CPU와 메모리 자원을 제한하고 저장을 제한하는 두 개의 제한 범위 코드 템플릿이 구속을 설정하려면 kubectl apply-f path/To/file을 사용하십시오.yaml-n 명칭 공간
    apiVersion: v1
    kind: LimitRange
    metadata:
      name: backend-limit-range
    spec:
      limits:
      - default:
          memory: 110Mi
          cpu: 500m
        defaultRequest:
          memory: 20Mi
          cpu: 100m
        type: Container
    
    --
    apiVersion: v1
    kind: LimitRange
    metadata:
      name: backend-storage-limits
    spec:
      limits:
      - type: PersistentVolumeClaim
        max:
          storage: 5Gi
        min:
          storage: 2Gi
    
    더 자세한 정보와 코드 세션입니다.
  • https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/
  • https://kubernetes.io/docs/tasks/administer-cluster/limit-storage-consumption/
  • https://www.howtoforge.com/limit-ranges-in-kubernetes
  • 자원을 줄이고 일상적인 지출을 제한하는 데 도움이 되는 도구와 프레임워크


  • Popeye 그룹을 스캔하여 설정, 자원, 네트워크 빈틈에 대한 잠재적인 문제를 찾고 모든 문제를 포함하는 상세한 보고서를 생성합니다.

  • Goldilocks POD에서 리소스 제한을 검색하고 권장 리소스를 사용하여 보고서를 작성합니다.

  • Kube-advisorAzure팀은 POD에 없는 리소스를 검색하고 요청을 제한하는 간단한 도구를 제공합니다.

  • K9s+benchmark - 가장 선호하는 터미널 소프트웨어
  • 에서 클러스터의 벤치마크까지 손쉽게 관리, 모니터링할 수 있는 명령줄 인터페이스(CLI)를 제공합니다.
    일부 유용한 무료 소스 오픈 도구는 설치하기 쉽다.또한 Datadog, Grafana + Prometeus, Azure Monitor와 결합하여 자원을 개선하고 감시를 제한할 수 있습니다.
    일부 유용한 무료 소스 오픈 도구는 설치하기 쉽다.또한 Datadog, Grafana + Prometeus, Azure Monitor와 결합하여 자원을 개선하고 감시를 제한할 수 있습니다.

    계산법

  • 자원 요청을 설정합니다.특정 애플리케이션/컨테이너의 CPU 및 메모리 사용에 대한 정보를 얻습니다.
  • 자원 제한을 설정합니다.자원 요청을 설정합니다.고부하 용기의 CPU와 메모리를 검사하기 위해 부하 테스트를 실행합니다.
  • 컨테이너의 CPU 및 메모리 사용을 모니터링합니다.
  • 영구 스토리지 사용 모니터링
  • 리소스 제한을 사용 제한 범위에서 적용할 수 있는지 확인
  • 필요한 경우 스토리지 제한 사항을 적용합니다.또는 할당량 사용(프로덕션 환경에서는 권장되지 않음)
  • 결론


    쿠버네트스의 요청과 제한을 처리할 때 매일 만들고 사용하는 프레임워크를 여러분과 공유했습니다.나는 네가 그것이 유용하다고 느낄 수 있기를 바란다.더 나아질 수 있는 방법은 없을까요?
    언제든지 댓글로 피드백과 조언을 공유해 주십시오.

    좋은 웹페이지 즐겨찾기