System Engineering/Kubernetes
2022.01.10
1. Lease 목적 : Node Heartbeat에 대한 ETCD의 성능을 개선하기 위해 고안. Mechanism - Kubelet이 10초마다 NodeStatus 연산. - Node에서 Meaningful Chnage가 감지되면 NodeStatus를 Update. - Kubelet이 Lease Object를 생성하고 10초마다 ETCD로 Update하며, 이후 40초(Default)까지 Update 주기를 낮춤. - 이후 특이사항이 없으면 분당 1회 이상 주기적으로 Update 빈도 감소. - LeaseDurationSeconds(Default 5m)에 해당하는 시간 안에 Lease가 Accquire 되지 않으면 Unreachable Node로 간주 . - Master의 ControllerManage..
System Engineering/Kubernetes
2021.04.11
1. AutoScaling HPA (Horizontal Pod Autoscaler) RC / RS / Deploymen를 통해 실행되는 Pod의 Scaling이다. 설정된 주기(Default 30초)마다 CPU 사용률등의 Metric을 모니터링하며, DaemonSet에는 적용되지 않는다. apiVersion: autoscaling/v2alpha1 kind: HorizontalPodAutoscaler metadata: name: hpa-ex namespace: default spec: scaleTargetRef: apiVersion: apps/v1beta1 kind: Deployment name: hpa-ex minReplicas: 3 maxRelpicas: 9 metircs: - type: Resourc..
System Engineering/Kubernetes
2021.04.05
1. Resource Management - Pod를 배포할 때 CPU / Memory / Network Bandwidth(Not supported yet)를 어떻게 할당할지 결정 - Memory는 MegaByte, CPU는 millisecond의 단위 사용 (1,000ms = 1vCore) - limits는 Pod의 Max Resource, requests는 Min Resource이다 apiVersion: v1 kind: Pod metadata: name: frontend spec: containers: - name: db image: mysql resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" - na..
System Engineering/Kubernetes
2021.04.05
1. Volume의 특징 - Pod가 생성되거나 삭제될때 Volume도 함께 생성/삭제 - Volume의 Life cylce은Pod에서 관리 - 동일 Pod의 컨테이너끼리 Volume 공유 apiVersion: v1 kind: Pod metadata: name: pv-recycler- namespace: default spec: restartPolicy: Never volumes: - name: vol hostPath: path: /tmp/path/ containers: - name: pv-recycler image: "gcr.io/... command: ... volumeMounts: - name: vol mountPath: /scrub 2. Volume의 종류 - Local Disk 1) emptyD..