Kubernetes автоматическое масштабирование CPU

Горизонтальное автомасштабирование модуля

Автомасштабирование обеспечивается созданием ресурса HorizontalPodAutoscaler (HPA) — он применим для таких ресурсов как Deployment, ReplecaSet, ReplicationController, StatefulSet

Он наблюдает за подами и метриками и меняет значение replicas

Создадим Deployment:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kubia
spec:
  replicas: 3
  template:
    metadata:
      name: kubia
      labels:
        app: kubia
    spec:
      containers:
      - image: luksa/kubia:v1
        name: nodejs
        resources:
          requests:
            cpu: 100m

Для того чтобы назначить скелинг достаточно выполнить команду

kubectl autoscale deployment kubia --cpu-percent=30 --min=1 --max=5

Просмотреть состояние

kubectl get hpa

Чтобы наблюдать как уменьшаться поды

watch -n 5 kubectl get hpa,deployment

Создадим нагрузку

kubectl expose deployment kubia --port=80 --target-port=8080
kubectl run -ti --rm --restart=Never loadgenerator --image=busybox -- sh -c "while true; do wget -O - -q http://kubia.default; done"

Масштабирование на основе памяти

 

K8S

Related Articles

0 Comment

Leave a Comment

Ваш адрес email не будет опубликован.