iT邦幫忙

2022 iThome 鐵人賽

DAY 30
0
Software Development

Backend Developer roadmap study系列 第 30

[day30] Horizontal Scaling/Vertical Scaling

  • 分享至 

  • xImage
  •  

Horizontal Scaling/Vertical Scaling

在服務越來越多的時候,伺服器負載會越來越高,因此出現兩種擴展方式分別為,Horizontal scaling和vertical scaling。

Vertical Scaling(垂直擴展)

  • 增加pod上的resource資源
  • 增加node上的CPU/RAM資源

Horizontal Scaling(水平擴展)

  • 增加pod數量
  • 增加replica數量

Horizontal Pod Autoscaling

kubernetes提供Horizontal Pod Autoscaling,能根據自身容器的資源使用量來決定調用資源的容器,backend.yaml如下所示,當容器cpu資源使用量超過50%,會去新增pod

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
      - name: my-pod
        image: backend:latest
        ports:
        - containerPort: 3000
        resources:
          requests:
            cpu: 200m
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: backend-hoz
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: backend-deployment
  minReplicas: 2
  maxReplicas: 5
  targetCPUUtilizationPercentage: 50

參考


上一篇
[day29] Mitigation Strategies
系列文
Backend Developer roadmap study30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言