하나의 실제 사례 를 통 해 Kubernetes 에 있 는 pod 의 자동 scale - 수평 자동 신축 을 이해 합 니 다.

kbectl scale 명령 은 프로그램 이 부하 가 가중 되 거나 축 소 될 때 pod 확장 이나 축 소 를 하 는 데 사 용 됩 니 다. 저 희 는 실제 사례 를 통 해 scale 명령 이 어떤 효 과 를 거 둘 수 있 는 지 관찰 합 니 다.
명령 행 에 deployment 만 들 기:
kubectl run jerry-nginx --image=nginx:1.12.2

kubectl get deploy 방금 만 든 deployment 보기:
deployment 에서 자동 으로 만 든 pod:
kubectl get pod:
다음 명령 을 사용 하여 생 성 된 deployment 내 역 을 보십시오.
kubectl get deployment jerry-nginx -o yaml

apiVersion: extensions/v1beta1kind: Deploymentmetadata: annotations:
deployment.kubernetes.io/revision: "1"

creationTimestamp: 2018-11-29T08:29:06Z generation: 1 labels:
run: jerry-nginx

name: jerry-nginx namespace: part-0110 resourceVersion: "7203445" selfLink: /apis/extensions/v1beta1/namespaces/part-0110/deployments/jerry-nginx uid: d5c64f72-f3b0-11e8-b308-a20cb743f347spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 2 selector:
matchLabels:
  run: jerry-nginx

strategy:
rollingUpdate:
  maxSurge: 25%
  maxUnavailable: 25%
type: RollingUpdate

template:
metadata:
  creationTimestamp: null
  labels:
    run: jerry-nginx
spec:
  containers:
  - image: nginx:1.12.2
    imagePullPolicy: IfNotPresent
    name: jerry-nginx
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
  dnsPolicy: ClusterFirst
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  terminationGracePeriodSeconds: 30

status: availableReplicas: 1 conditions:
  • lastTransitionTime: 2018-11-29T08:29:07Z lastUpdateTime: 2018-11-29T08:29:07Z message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available
  • lastTransitionTime: 2018-11-29T08:29:06Z lastUpdateTime: 2018-11-29T08:29:07Z message: ReplicaSet "jerry-nginx-69fd9f6c4" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing

  • observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1
    또 다른 유용 한 명령:
    kubectl describe deployment jerry-nginx

    Name: jerry-nginxNamespace: part-0110CreationTimestamp: Thu, 29 Nov 2018 16:29:06 +0800Labels: run=jerry-nginxAnnotations: deployment.kubernetes.io/revision: 1Selector: run=jerry-nginxReplicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailableStrategyType: RollingUpdateMinReadySeconds: 0RollingUpdateStrategy: 25% max unavailable, 25% max surgePod Template: Labels: run=jerry-nginx Containers: jerry-nginx:
    Image:        nginx:1.12.2
    Port:         
    Host Port:    
    Environment:  
    Mounts:       

    Volumes: Conditions: Type Status Reason ---- ------ ------ Available True MinimumReplicasAvailable Progressing True NewReplicaSetAvailableOldReplicaSets: NewReplicaSet: jerry-nginx-69fd9f6c4 (1/1 replicas created)Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ScalingReplicaSet 9m41s deployment-controller Scaled up replica set jerry-nginx-69fd9f6c4 to 1
    현재 우 리 는 아래 명령 을 사용 하여 deployment 를 수평 으로 확장 합 니 다.
    kubectl scale deployment jerry-nginx --replicas=3
    kubectl get pods -l run=jerry-nginx

    다음 그림 에서 이 Age 는 15 분 전에 deployment 를 처음 만 들 때 생 성 되 었 으 며, 다른 두 Age 는 1 분 전에 scale 명령 을 실행 한 후 자동 으로 생 성 되 었 습 니 다.
    만 든 pod 를 선택 하여 이벤트 기록 보기:
    kubectl describe pod jerry-nginx-69fd9f6c4-8dpvb
    kubectl get replicaset

    자동 으로 만 든 replication set 가 져 오기:
    원 하 는 = 3 은 우리 가 수평 으로 확장 할 때 지정 한 인자 3 을 의미 합 니 다.
    pod 인 스 턴 스 를 수 동 으로 삭제 하 더 라 도 replication set 는 자동 으로 새 것 을 만 듭 니 다:
    자동 으로 생 성 되 는 새 pod:
    더 많은 Jerry 의 오리지널 글 을 얻 으 려 면 대중 번호 인 '왕 자 희' 를 주목 하 세 요.

    좋은 웹페이지 즐겨찾기