Middle+
Чӣ гуна сохтани кластер Kubernetes муқовиматнок?
sobes.tech AI
Ҷавоб аз AI
Барои эҷоди кластери Kubernetes, ки муқовимат ба хато дорад, зарур аст, ки такрорпазирии компонентҳои калидӣ ва маълумотҳоро таъмин кунед.
Қадамҳои асосӣ:
-
Нодҳои Master:
- Якчанд нодҳои master (минимум се) барои компонент
kube-apiserverҷойгир кунед, ки дар пасзаминаи балансиркунии бор кор мекунанд. Ин ба дастрасии API сервер ҳатто дар ҳолати нокомии яке аз нодҳои master кӯмак мекунад. - Ҳар як нод Master бояд ба захираи умумии ҳолати кластер —
etcd— дастрасӣ дошта бошад.
- Якчанд нодҳои master (минимум се) барои компонент
-
etcd:
- Як кластер аз чанд нод (тавсия мешавад, ки шумораи тақсимнашаванда, ҳадди ақал се) дар зинаҳои гуногуни дастрасӣ ё серверҳои ҷисмӣ ҷойгир кунед. Ин кафолат медиҳад, ки маълумоти ҳолати кластер бехатар бошанд.
-
Балансиркунии бор (Load Balancer):
- Барои тақсим кардани трафик байни нодҳои master (
kube-apiserver) истифода баред. - Барои воридшавии трафик ба барномаҳо дар кластер (масалан, Ingress Controller бо дастгирии муқовимат ба хато) дигар балансиркунии борро истифода баред.
- Барои тақсим кардани трафик байни нодҳои master (
-
Нодҳои корӣ (Worker Nodes):
- Таҳия кардани шумораи кофии нодҳои корӣ барои иҷрои Pod-ҳо.
- Нодҳои кориро дар зинаҳои гуногуни дастрасӣ ё серверҳои ҷисмӣ тақсим кунед, то муқовимат ба хато дар сатҳи инфрасохтор таъмин шавад.
- Параметрҳои Pod Disruption Budgets (PDBs)-ро барои муайян кардани шумораи минималии Pod-ҳо дар вақти таътилҳои ихтиёрӣ (масалан, дар вақти навсозии нодҳо) танзим кунед.
-
Захира (Storage):
- Истифодаи захираҳои тақсимшуда ё облакӣ бо муқовимати ба хато барои Persistent Volumes.
- Мисолҳо: Rook (Ceph), GlusterFS, провайдерҳои облак (AWS EBS, GCP Persistent Disk, Azure Managed Disks) бо репликация.
-
Шабака (Networking):
- Истифодаи ҳалли шабакаи боэътимод CNI бо дастгирии муқовимат (масалан, Calico, Cilium бо компонентҳои репликашуда).
- Муайян кардани пайвастагии байни нодҳои master, нодҳои etcd ва нодҳои корӣ.
-
Нусхабардорӣ (Backup):
- Тавсия дода мешавад, ки ба таври мунтазам нусхаи маълумоти etcd-ро бароред.
- Аз асбобҳое мисли Velero барои нусхабардорӣ ва барқарор кардани ҳолати кластер ва Persistent Volumes истифода баред.
Масалан, архитектура:
graph LR
subgraph Истифодабарандагон
A[Истифодабаранда] --> B(Балансиркунии бор барои барномаҳо)
end
subgraph Kubernetes Cluster
subgraph Нодҳои Master
C1(Нод Master 1)
C2(Нод Master 2)
C3(Нод Master 3)
end
subgraph Cluster etcd
D1(etcd 1)
D2(etcd 2)
D3(etcd 3)
end
subgraph Нодҳои корӣ
E1(Нод корӣ 1)
E2(Нод корӣ 2)
E3(Нод корӣ 3)
end
subgraph Захира
F(Захираи тақсимшуда)
end
subgraph Шабака
G(Шабакаи CNI)
end
B --> Bal(Балансиркунии API-сервер)
Bal --> C1
Bal --> C2
Bal --> C3
C1 <--> D1
C1 <--> D2
C1 <--> D3
C2 <--> D1
C2 <--> D2
C2 <--> D3
C3 <--> D1
C3 <--> D2
C3 <--> D3
C1 --> G
C2 --> G
C3 --> G
E1 <--> G
E2 <--> G
E3 <--> G
E1 <--> F
E2 <--> F
E3 <--> F
G --> E1: Иҷрои Pod-ҳо
G --> E2: Иҷрои Pod-ҳо
G --> E3: Иҷрои Pod-ҳо
E1 --> B: Трафики барномаҳо
E2 --> B: Трафики барномаҳо
E3 --> B: Трафики барномаҳо
end
Дар иҷрои ин кор аз воситаҳои автоматизатсия, мисли kubeadm, Kubespray ё хидматҳои Kubernetes-и идорашаванда аз провайдерҳои облак (EKS, GKE, AKS) истифода мешавад, ки сохтани инфрасохторро осон мекунанд.