რა არის რეპლიკა-სეტი და დეპლოიმენტი?
sobes.tech AI
პასუხი AI-სგან
ReplicaSet კლასტერში მუშაობს გარკვეული რაოდენობის ერთნაირი პოდების უზრუნველყოფას. იგი აკონტროლებს პოდების მდგომარეობას და ავტომატურად იცვლის მათ, თუ ისინი ჩავარდნენ ან შეწყვიტეს მუშაობა.
Deployment უზრუნველყოფილია ReplicaSet-ის ზედა. იგი მართავს აპლიკაციების განახლებებს და გადატვირთვებს, ინახავს განლაგების ვერსიების ისტორიას. იგი საშუალებას აძლევს განახლებებს განხორციელდეს rolling update ან recreate სტრატეგიით.
# Deployment-ის მანიფესტის მაგალითი
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # განსაზღვრავს სასურველ პოდების რაოდენობას (ReplicaSet-ის მეშვეობით)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # განახლების სტრატეგია
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # განახლების მისაღები სურათის ვერსია
ports:
- containerPort: 80
ამ მაგალითში, Deployment შექმნის ReplicaSet-ს, რომელიც მხარდაჭერას უწევს 3 პოდს nginx:1.14.2 სურათით. როდესაც შეცვლით სურათის ვერსიას Deployment-ის მანიფესტში, ის შექმნის ახალი ReplicaSet-ს ახალი ვერსიისთვის და ეტაპობრივად მიმართავს ტრეფიკს მასზე, წაშლის ძველ პოდებს, როგორც rolling update სტრატეგია ითვალისწინებს.
შედარების სია:
| შესაძლებლობა | ReplicaSet | Deployment |
|---|---|---|
| პოდების რაოდენობის გარანტია | ✅ | ✅ |
| აპლიკაციების განახლება | ❌ | ✅ |
| ვერსიების დაბრუნება | ❌ | ✅ |
| ისტორიის მართვა | ❌ | ✅ |