Sobes.tech
Middle+

რა გამოცდილება გაქვთ პოდების დარღვევის ბიუჯეტის (Pod Disruption Budget) გამოყენებაში?

sobes.tech AI

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

მე PDB-ს გამოვიყენე, რათა უზრუნველყო აპლიკაციების მინიმალური ხელმისაწვდომი რეპლიკების რაოდენობა სამოქალაქო შეწყვეტების დროს, როგორიცაა ნოდების განახლება ან კლასტერის მასშტაბირება. PDB-ს კონფიგურაცია გავაკეთე როგორც განლაგების მანიაფესტებში, ასევე ცალკეულ PDB ობიექტებში, მითითებით minAvailable (სრული ან პროცენტული მნიშვნელობა) ან maxUnavailable.

გამოყენების მაგალითები:

  • განახლების დროს StatefulSet-ის n რეპლიკის ხელმისაწვდომობის უზრუნველყოფა.
  • კრიტიკული განლაგებების დაცვა ნოდების ევაკუაციის დროს ყველა პოდების ერთდროულად წაშლისგან.
  • უფრო კონტროლირებად მასშტაბირებისა და განახლებებისთვის, გამოიყენეთ Cluster Autoscaler და Horizontal Pod Autoscaler.

მაგალითად, რომ უზრუნველყოთ, რომ მინიმუმ 80% პოდები იყოს ხელმისაწვდომი განლაგებაში:

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: my-app-pdb
spec:
  minAvailable: 80%
  selector:
    matchLabels:
      app: my-app

ეს PDB თავიდან აიცილებს სამოქალაქო შეწყვეტებს, თუ ხელმისაწვდომი პოდების რაოდენობა დაეცემა 80%-ზე ნაკლებად სასურველი რეპლიკების რაოდენობის. ეს ეხმარება კლასტერის ოპერაციების დროს სერვისების სტაბილურობის და ხელმისაწვდომობის შენარჩუნებაში.