설치된 클러스터 Autoscaler를 테스트하려면 다음 지침을 참조하십시오.

요구 사항

이 작업에서는 TKG 클러스터에 클러스터 Autoscaler를 설치했다고 가정합니다.

클러스터 Autoscaler 테스트

Autoscaler가 작업자 노드를 자동으로 확장하는지 확인하려면 애플리케이션을 배포한 다음 배포의 복제본 수를 확장합니다. 노드 리소스가 부족하면 Autoscaler가 작업자 노드를 스케일 업합니다.

  1. 이름이 app.yaml인 애플리케이션 정의를 생성합니다.
    apiVersion: v1
    kind: Namespace
    metadata:  
      name: app  
      labels:    
        pod-security.kubernetes.io/enforce: privileged
    ---
    apiVersion: v1
    kind: Service
    metadata:  
      name: application-cpu  
      namespace: app  
      labels:    
        app: application-cpu
    spec:  
      type: ClusterIP  
      selector:    
        app: application-cpu  
      ports:    
        - protocol: TCP      
          name: http      
          port: 80      
          targetPort: 80
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:  
      name: application-cpu  
      namespace: app  
      labels:    app: application-cpu
    spec:  
      selector:    
        matchLabels:      
          app: application-cpu  
        replicas: 1  
        strategy:    
          type: RollingUpdate    
          rollingUpdate:      
            maxSurge: 1      
            maxUnavailable: 0  
        template:    
          metadata:      
            labels:        
              app: application-cpu    
          spec:      
            containers:      
            - name: application-cpu        
              image: wcp-docker-ci.artifactory.eng.vmware.com/app-cpu:v1.0.0        
              imagePullPolicy: Always        
              ports:          
                - containerPort: 80        
              resources:          
                requests:            
                  memory: 50Mi            
                  cpu: 500m          
                limits:            
                  memory: 500Mi            
                  cpu: 2000m
  2. 애플리케이션을 생성합니다.
    kubectl apply -f app.yaml
  3. 애플리케이션의 복제본을 스케일 업하여 Autoscaler를 트리거합니다.

    예를 들어 추가 작업자 노드가 필요하도록 spec.selector.replicas의 수를 1에서 더 큰 수로 늘립니다.

  4. 애플리케이션을 업데이트합니다.
    kubectl apply -f app.yaml
  5. 로드를 처리하기 위해 추가 작업자 노드가 생성되었는지 확인합니다.

    노드 리소스가 부족하면 Autoscaler가 작업자 노드 수를 스케일 업합니다.