Қазіргі цифрлық әлемде қосымшалардың үздіксіз жұмыс істеуі өте маңызды. High Availability (HA) қосымшалары — бұл қосымшалардың жұмыс істеу уақытының жоғары деңгейін қамтамасыз ететін архитектуралық шешімдер мен тәжірибелер жиынтығы. Kubernetes контейнерленген қосымшаларды орнатуды, масштабтауды және басқаруды автоматтандыру арқылы HA қосымшаларын құрудың сенімді платформасы болып табылады.
Бұл мақалада біз Kubernetes арқылы HA қосымшаларын қалай қамтамасыз ету керектігін қарастырамыз.
High Availability дегеніміз не?
High Availability қосымшалары — бұл кез келген уақытта қолжетімділікті қамтамасыз ету үшін артықшылықты және ақауларды болдырмау мүмкіндіктерін қамтитын қосымшалар. HA жүйелері:
- Ақауларға төзімділікті қамтамасыз етеді.
- Минималды тоқтау уақытын (downtime) қамтамасыз етеді.
- Қалпына келтіру уақытын (recovery time) азайтады.
Kubernetes арқылы HA қамтамасыз ету
Kubernetes бірнеше тетіктерді ұсынады, олар HA қосымшаларын жасауға көмектеседі. Төменде осы тетіктердің кейбірі қарастырылады.
1. ReplicaSet және Deployment
ReplicaSet және Deployment арқылы подтардың репликациясын қамтамасыз етуге болады, бұл қосымшаның белгілі бір санының әрдайым жұмыс істеп тұруын қамтамасыз етеді.
ReplicaSet конфигурациясының мысалы:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image:latest
ports:
- containerPort: 80
Deployment конфигурациясының мысалы:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image:latest
ports:
- containerPort: 80
2. Pod Disruption Budgets (PDB)
Pod Disruption Budgets (PDB) белгілі бір минималды под санының әрдайым қолжетімді болуын қамтамасыз етеді, бұл жоспарланған немесе жоспарланбаған ақаулар кезінде маңызды болып табылады.
PDB конфигурациясының мысалы:
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: my-app
3. Horizontal Pod Autoscaling (HPA)
Horizontal Pod Autoscaling (HPA) қосымшаға түсетін жүктемеге байланысты подтардың санын автоматты түрде масштабтайды.
HPA конфигурациясының мысалы:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: my-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-deployment
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80
4. Service және Load Balancer
Service ресурсы бірнеше подтар арасында трафикті таратып, олардың біркелкі жүктелуін қамтамасыз етеді. Load Balancer сыртқы трафикті кластерге бағыттайды.
Service конфигурациясының мысалы:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
5. Persistent Volumes және Persistent Volume Claims
Persistent Volumes (PV) және Persistent Volume Claims (PVC) деректердің сақталуын қамтамасыз етеді, тіпті подтар қайта іске қосылған жағдайда да.
PV және PVC конфигурациясының мысалы:
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
6. Liveness және Readiness Probes
Liveness және Readiness Probes подтардың күйін тексеруге мүмкіндік береді, бұл оларды дұрыс күйде ұстауға және трафикті өңдеуге дайын болуын қамтамасыз етеді.
Liveness және Readiness Probes конфигурациясының мысалы:
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
Қорытынды
Kubernetes жоғары қолжетімді қосымшаларды жасау және басқару үшін қуатты құралдар жиынтығын ұсынады. ReplicaSet және Deployment арқылы репликацияны қамтамасыз ету, Pod Disruption Budgets арқылы подтардың қолжетімділігін бақылау, Horizontal Pod Autoscaling арқылы жүктемені басқару, Service және Load Balancer арқылы трафикті тиімді тарату, Persistent Volumes арқылы деректерді сақтау және Liveness/Readiness Probes арқылы қосымшалардың күйін тексеру сияқты мүмкіндіктерді қолдану арқылы сіз өз қосымшаларыңызды жоғары қолжетімді етіп жасай аласыз.
HA қосымшаларын жасау Kubernetes-тің көптеген мүмкіндіктерін тиімді пайдалануды талап етеді, бірақ бұл күш-жігер жоғары қолжетімді, сенімді және масштабталатын жүйелерді қамтамасыз етуге тұрарлық.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау