Puncte:1

Cum se efectuează migrarea live de la flanel la calico pe clusterul kubernetes cu un singur nod?

drapel fr

Încerc să migrez de la flanel la calico în cluster k8s.Sunt capabil să o fac cu succes în cluster cu 3 noduri. Migrarea vie de la flanel la calico funcționează așa cum este descris în documentatia.

Dar migrarea de la flanel la calico pe clusterul k8s cu un singur nod nu este acceptată conform această problemă.

Trebuie să fac migrarea live de la flanel la calico pe un singur nod, orice sugestie privind abordările este apreciată.

p10l avatar
drapel us
Se precizează clar că „controllerul de migrare Flannel ar trebui să ruleze pe un nod care nu migrează în prezent. Nu va funcționa pe un singur cluster de noduri”. În această problemă, există și o posibilă soluție postată - „un lucru pe care ați putea să-l încercați este să lansați un al doilea nod pe durata actualizării și apoi să reduceți la 1”.
drapel fr
Da, nu intenționez să fac această activitate cu job de migrare, așa cum este menționat în document. Vreau să efectuez această operație manual, probabil scriind propria logică de migrare. Adăugarea unui alt nod la cluster și reducerea la 1 nu este o opțiune fezabilă pentru mine, trebuie să o fac într-un singur nod.
p10l avatar
drapel us
În acest moment, de ce să nu creați un nou cluster cu calico și să mutați resursele în el?
drapel fr
Multumesc pentru sugestii. Va trebui să creez un nou cluster cu Calico și asta trebuie să funcționeze bine. Trebuie să acceptăm migrarea live a unui singur nod, deoarece nu trebuie să pierdem datele existente.
Puncte:1
drapel us

După cum ați aflat deja, migrarea Flannel la Calico, pe un cluster cu un singur nod, nu este acceptată.Acest lucru se datorează faptului că controlerul de migrare Flannel trebuie programat pe nodul care nu migrează în prezent, ceea ce este imposibil în clusterul cu un singur nod.

Acest lucru poate fi rezolvat prin crearea unui al doilea nod temporar și se poate reduce la 1 după ce migrarea este finalizată.

O altă soluție este crearea unui cluster complet nou, instalarea Calico și mutarea resurselor de la un cluster vechi la cel nou.

Ca ultimă soluție, puteți încerca să dezinstalați Flannel manual și să instalați Calico peste el.


Avertizare: Este posibil ca toate cele de mai jos să nu funcționeze conform intenției. A face lucrurile în acest fel nu este susținut, evident, nici de Flannel, nici de Calico. Se poate rupe și face clusterul dvs. inutilizabil. Încercați mai întâi această soluție în mediul de testare, adaptați-vă la mediul dvs. și numai apoi încercați aceasta pe prod.
Ai fost avertizat.


  1. Scoateți flanela cu kubectl delete -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  2. SSH în nodul dvs
  3. Opriți serviciul kubelet systemctl stop kubelet
  4. Opriți containerul systemctl stop containerd dacă este utilizat ca timp de rulare a containerului. (înlocuiți cu docker dacă este utilizat Docker Engine)
  5. Eliminați orice directoare legate de CNI
    rm -rf /var/lib/cni
    rm -rf /run/flanel
    rm -rf /etc/cni
    
  6. Căutați orice interfețe legate de CNI/Flannel și eliminați-le
    link ip
    
    pentru fiecare interfață faceți următoarele
    ifconfig <numele interfeței de la ip link> în jos
    ip link delete <numele interfeței din ip link>
    
  7. Reporniți timpul de rulare al containerului
  8. Reporniți kubelet
  9. Instalați Calico așa cum ați face pe un cluster nou.
Wytrzymały Wiktor avatar
drapel it
Salut @Siddharood și bine ați venit la ServerFault! Vă rugăm să nu uitați să [reacționați la răspunsurile la întrebările dvs.](https://stackoverflow.com/help/someone-answers). În acest fel, știm dacă răspunsurile au fost utile și dacă alți membri ai comunității ar putea beneficia de ele. Încercați să [acceptați răspunsul](https://stackoverflow.com/help/accepted-answer) care este soluția finală pentru problema dvs., votați răspunsurile care sunt utile și comentați cele care ar putea fi îmbunătățite sau necesită o atenție suplimentară. Sedere placuta!
drapel fr
@p10l mulțumesc pentru sugestii. Am urmat majoritatea pașilor tăi. M-am abătut de la pașii menționați. Postez mai jos un răspuns care a funcționat pentru mine.
Puncte:0
drapel fr

Mai jos sunt pașii care au funcționat pentru mine în timp ce migream de la flanel la calico. Am urmat majoritatea pașilor menționați în răspunsul @p1ol.

  1. Îndepărtați flanela

  2. Opreste Kubelet

  3. Deschideți interfața ifconfig și ștergeți flanel legat de ip link

  4. Reporniți Kubelet

  5. Instalați calico

Instalarea Calico nu a creat podul calico-node și podul calico-kube-controllers-** a fost blocat în starea de inițializare a podului sau de creare a containerului.

M-am referit la blog unde se sugerează să actualizez calico yaml pentru intervalul CIDR și, de asemenea, a trebuit să configurez IP_AUTODETECTION_METHOD așa cum sa sugerat Aici

La sfârșit, mi-am repornit nodul.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.