Sobes.tech
Middle+

როგორ დავაყენოთ ჰორიზონტალური ავტოსკეილერი ფიზიკურ სერვერზე პოდებისთვის?

sobes.tech AI

პასუხი AI-სგან

Kubernetes-да ფიზიკურ სერვერზე (bare-metal) ჰორიზონტალური ავტომატური მასშტაბირების (Horizontal Pod Autoscaler, HPA) კონფიგურაციისთვის საჭიროა რამდენიმე ნაბიჯის შესრულება:

  1. დარწმუნდით, რომ Metrics Server კლასტერში კონფიგურირებულია — ის აგროვებს CPU და მეხსიერების მეტრიკებს, რომლებიც HPA-სთვის აუცილებელია.

  2. კონფიგურირეთ რესურსების მონიტორინგი პოდებისა და ნოდებისთვის — ბარე-მეტალში, გამოიყენეთ ადგილობრივი გადაწყვეტილებები, მაგალითად Prometheus და HPA-ისთვის ადაპტერები.

  3. შექმენით HPA ობიექტი, სადაც მითითებულია მიზნობრივი მეტრიკები და მინიმალური/მაქსიმალური რეპლიკების რაოდენობა. მაგალითად:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: მაგალითი-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: მაგალითი-დეპლოიმენტი
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50
  1. დარწმუნდით, რომ HPA კონტროლერი და მეტრიკები სწორად მუშაობენ — ბარე-მეტალში, ზოგჯერ საჭიროა დამატებითი კონფიგურაცია, მაგალითად RBAC და ქსელური პოლიტიკები.

  2. ტესტი ჩაატარეთ ავტომატური მასშტაბირების დატვირთვით და მონიტორინგი გაუკეთეთ ქცევას.

მნიშვნელოვანია: ფიზიკურ სერვერებზე, არ არსებობს cloud API-ები სკალირებისთვის, ამიტომ HPA მუშაობს მხოლოდ პოდების დონეზე, ხოლო ნოდების სკალირება უნდა განხორციელდეს ხელით ან სხვა ინსტრუმენტებით.