컨테이너 배열 기술 - Namespace에 대한 Kubernetes의 Pod 할당량 구성

3571 단어 Kubernetes

컨테이너 배열 기술 - Namespace에 대한 Kubernetes의 Pod 할당량 구성


 
  • 1 Before you begin
  • 2 이름 공간 만들기
  • 3 ResourceQuota 객체 만들기
  • 4 연습 환경 정리
  • 5 What’s next
  • 5.1 클러스터 관리자용
  • 5.2 응용 개발자용

  •  
    This page shows how to set a quota for the total number of Pods that can run in a namespace. You specify quotas in a ResourceQuota object. 이 작업은 이름 공간에서 실행할 수 있는 Pod의 수를 제한하기 위해 이름 공간(namespace)에 Pod 할당량을 설정하는 방법을 보여 줍니다.할당량은 ResourceQuota 객체 설정을 통해 설정됩니다.

     


    Before you begin


    You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using Minikube.

     


    이름 공간 만들기


    이 연습에서 만든 자원과 집단의 다른 자원을 격리하기 위해 단독 이름 공간을 만듭니다.
    kubectl create namespace quota-pod-example
    

     


    ResourceQuota 객체 만들기


    ResourceQuota 객체의 구성 파일 내용은 다음과 같습니다.
    quota-pod.yaml 
    apiVersion: v1
    kind: ResourceQuota
    metadata:
      name: pod-demo
    spec:
      hard:
        pods: "2"
    

    먼저 ResourceQuota 객체를 작성합니다.
    kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-pod.yaml --namespace=quota-pod-example
    

    그런 다음 다음 다음 명령을 사용하여 ResourceQuota 객체의 세부내용을 볼 수 있습니다.
    kubectl get resourcequota pod-demo --namespace=quota-pod-example --output=yaml
    

    명령 출력은 이 이름 공간의 Pod 할당량이 2라는 것을 보여 줍니다. 현재 Pod가 실행되지 않았기 때문에 모든 할당량이 사용되지 않습니다.
    spec:
      hard:
        pods: "2"
    status:
      hard:
        pods: "2"
      used:
        pods: "0"
    

    다음은 Deployment 구성 파일입니다.
    quota-pod-deployment.yaml 
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: pod-quota-demo
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            purpose: quota-demo
        spec:
          containers:
          - name: pod-quota-demo
            image: nginx
    

    프로필에서 볼 수 있듯이, Replicas: 3은 Kubernetes에서 3개의Pod를 만들려고 시도하고, 모든Pod 실례는 같은 프로그램을 실행합니다.
    다음에 Deployment를 만듭니다.
    kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-pod-deployment.yaml --namespace=quota-pod-example
    

    다음 명령을 사용하여 Deployment의 세부내용을 봅니다.
    kubectl get deployment pod-quota-demo --namespace=quota-pod-example --output=yaml
    

    명령 출력에서 볼 수 있듯이 Deployment에서 3개의Pod 실례를 시작해야 한다고 설정했지만 할당량이 존재하기 때문에 2개의Pod만 성공적으로 만들어졌습니다.
    spec:
      ...
      replicas: 3
    ...
    status:
      availableReplicas: 2
    ...
    lastUpdateTime: 2017-07-07T20:57:05Z
        message: 'unable to create pods: pods "pod-quota-demo-1650323038-" is forbidden:
          exceeded quota: pod-demo, requested: pods=1, used: pods=2, limited: pods=2'
    

     


    환경 정리 연습


    이름 공간을 삭제하면 환경 정리가 완료됩니다.
    kubectl delete namespace quota-pod-example
    

     


    What’s next


    클러스터 관리자의 경우

  • Namespace에 대한 최소 및 최대 메모리 제한 설정
  • Namespace에 대한 기본 메모리 요청 및 제한 구성
  • Namespace용 기본 CPU 요청 및 제한 구성
  • Namespace용 최소 및 최대 CPU 제한
  • Namespace용 메모리 및 CPU 할당량 구성
  • Namespace용 Pod 할당량 구성
  • API 객체에 대한 할당량 구성
  •  


    응용 프로그램 개발자

  • 컨테이너 및 Pod에 메모리 리소스 할당
  • 컨테이너 및 Pod에 CPU 리소스 할당
  • Pod 구성 QoS
  • 번역자: xingzhou/텍스트 링크

    좋은 웹페이지 즐겨찾기