Sobes.tech
Middle+

Чӣ гуна сохтани кластер Kubernetes муқовиматнок?

sobes.tech AI

Ҷавоб аз AI

Барои эҷоди кластери Kubernetes, ки муқовимат ба хато дорад, зарур аст, ки такрорпазирии компонентҳои калидӣ ва маълумотҳоро таъмин кунед.

Қадамҳои асосӣ:

  1. Нодҳои Master:

    • Якчанд нодҳои master (минимум се) барои компонент kube-apiserver ҷойгир кунед, ки дар пасзаминаи балансиркунии бор кор мекунанд. Ин ба дастрасии API сервер ҳатто дар ҳолати нокомии яке аз нодҳои master кӯмак мекунад.
    • Ҳар як нод Master бояд ба захираи умумии ҳолати кластер — etcd — дастрасӣ дошта бошад.
  2. etcd:

    • Як кластер аз чанд нод (тавсия мешавад, ки шумораи тақсимнашаванда, ҳадди ақал се) дар зинаҳои гуногуни дастрасӣ ё серверҳои ҷисмӣ ҷойгир кунед. Ин кафолат медиҳад, ки маълумоти ҳолати кластер бехатар бошанд.
  3. Балансиркунии бор (Load Balancer):

    • Барои тақсим кардани трафик байни нодҳои master (kube-apiserver) истифода баред.
    • Барои воридшавии трафик ба барномаҳо дар кластер (масалан, Ingress Controller бо дастгирии муқовимат ба хато) дигар балансиркунии борро истифода баред.
  4. Нодҳои корӣ (Worker Nodes):

    • Таҳия кардани шумораи кофии нодҳои корӣ барои иҷрои Pod-ҳо.
    • Нодҳои кориро дар зинаҳои гуногуни дастрасӣ ё серверҳои ҷисмӣ тақсим кунед, то муқовимат ба хато дар сатҳи инфрасохтор таъмин шавад.
    • Параметрҳои Pod Disruption Budgets (PDBs)-ро барои муайян кардани шумораи минималии Pod-ҳо дар вақти таътилҳои ихтиёрӣ (масалан, дар вақти навсозии нодҳо) танзим кунед.
  5. Захира (Storage):

    • Истифодаи захираҳои тақсимшуда ё облакӣ бо муқовимати ба хато барои Persistent Volumes.
    • Мисолҳо: Rook (Ceph), GlusterFS, провайдерҳои облак (AWS EBS, GCP Persistent Disk, Azure Managed Disks) бо репликация.
  6. Шабака (Networking):

    • Истифодаи ҳалли шабакаи боэътимод CNI бо дастгирии муқовимат (масалан, Calico, Cilium бо компонентҳои репликашуда).
    • Муайян кардани пайвастагии байни нодҳои master, нодҳои etcd ва нодҳои корӣ.
  7. Нусхабардорӣ (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) истифода мешавад, ки сохтани инфрасохторро осон мекунанд.