In postul trecut am scris despre un NAS home-made. Nu e o idee rea, ar fi fost maximum de performant pentru ce am eu nevoie dar nu am facut proiectul. M-am oprit la un NAS comercial, adica ala din titlu. Am vazut niste dezavantaje care m-au enervat, in speta lipsa pe piata a placilor de baza cu 4-6 porturi SATA si 2 NVME-uri. Domne, nu exista! Eu spun ca e blat cu aia care fac NAS-uri, ca altfel cum sa nu fie posibil sa pui 2NVME si 4SATA pe langa un PCIEx cu care sa extinzi cu diverse nebunii?
Am ales calea usoara, nu imi pare rau, ba mai mult decat atat, chiar ma bucur ca am facut pasul.
Configuratia este – 2 nvme x 512GB – folosit pentru cache, raid0 ca sa am mai mult. Riscul este ca daca moare vreunu as putea sa pierd date…. (filme, vm-uri sau containere de test, deci nimic grav) – 4 sata x 10TB HGST HUH721010ALE604, raid 5. M-am gandit sa le pun la raid10 dar pierdeam 2 disk-uri de capacitate. Asa un disk poate sa pice si nu pierd date vs 2 disk-uri care pot pica. E safe si asa, parerea mea. – 32 GB RAM – 2 sodimm-uri de 16GB de la Kingston, pe care le aveam deja.
Likes: – Compact si cat de cat silentios – 2 x 2.5gbps retea – Plex / Qbittorrent / *arr ruleaza direct pe NAS, nu mai trebuie sa ruleze pe nodurile de proxmox – Out of the box cam orice share ai nevoie, pot sa il folosesc ca timemachine pentru laptops
Software-ul pe care il poti instala pe el este cat se poate de divers, folosesc deja container station si am cateva containere Docker, printre care si tehnitium dns pe care il folosesc pentru dhcp dar si DNS blackhole in locul lui PiHole. Container station poate porni si k3s. Pe langa container station mai este un Virtualisation Station in care poti rula VM-uri micute (nu as recomanda ceva resource intensive din cauza procesorului)…
Consum: – In jur de 40W in idle. Daca as fi avut sistemul de operare instalat pe NVME-uri ar fi intrat in idle disk-urile rotative si as fi economisit vreo 20W… asta atata vreme cat nu ar fi soft nici un request catre ele (qbittorrent oprit, nfs oprit…) deci nu se aplica.
Il folosesc deja sa rulez din proxmox VM-uri de pe un shared storage (NFS mi-a parut cel mai simplu si rapid), am caching pe acel volum deci nu trag “direct” de pe discurile rotative – cache read-write, evident. Il folsesc sa fac backup-uri VM-urilor din proxmox, zilnic. In laboratorul de k8s (kubernetes) deja e folosit pentru persistent storage… Very nice!
Sa punem chihuahua-urile (cele 3 lenovo M710q si M715q) la munca. Pe langa plex, qbittorrent, NFS si ce mai hosteaza ei pentru “home” vreau sa continui cu “learning path-ul”. Vor trebui sa hosteze un cluster de Kubernetes 1.32 pe care sa-mi fac eu mendrele. As vrea sa fac o copie a blogului asta… si sa o hostez acolo, in paralel cu asta. Pana acolo-i mult de munca asa ca incep cu ISO-ul cel mai recent de debian si fac 3VM-uri.
Am ajuns la momentul mult așteptat (de mine): avem un cluster de 3 servere Linux, bazate pe Debian. Dacă sunteți aici, presupun că știți deja să instalați un sistem de operare, așa că să trecem direct la configurație.
Configurație de bază
Am alocat resursele următoare pentru fiecare nod, iar rețeaua este configurată în 10.0.0.0/24. DHCP-ul a oferit următoarele IP-uri:
Teoretic, resursele pot fi reduse (de exemplu, 2vCPU și 4GB RAM), dar recomand să alocați mai mult pentru a evita problemele legate de pod-uri care nu pornesc din lipsă de resurse.
Editarea fișierului /etc/hosts
Pe toate nodurile, adăugăm următoarele intrări pentru a asigura rezolvarea corectă a numelor:
Ar trebui să vedem control plane-ul activ. Pentru a adăuga noduri, folosim comanda kubeadm join generată automat la finalul output-ului lui kubeadm init:
Kubernetes nu instalează by default niciun CNI (Container Network Interface) deoarece este compatibil cu prea multe opțiuni și lasă alegerea la latitudinea utilizatorului. Alegerea unui CNI depinde de nevoile rețelelor și de experiența utilizatorului.
Opțiuni populare pentru CNI și nivelul de dificultate:
Flannel (ușor): Simplu de instalat și configurat, perfect pentru homelab-uri. Are performanțe decente pentru rețele simple. Instrucțiuni de instalare
Calico (mediu): Ideal pentru cei care vor funcționalități suplimentare precum Network Policies. Este ușor de folosit în homelab-uri cu nevoi moderate. Instrucțiuni de instalare
Cilium (avansat): Alegerea potrivită pentru cei care doresc performanță ridicată, securitate avansată și integrare cu eBPF. Recomandat pentru homelab-uri avansate. Instrucțiuni de instalare
Proxmox din titlu este inutil. Putea fi foarte bine si HyperV, Vmware Workstation… Probabil pentru scopul de a invata as fi putut sa aleg si ceva mai usor, k3s, minikube… etc. Acum ca am un cluster de Kubernetes va trebui sa invat sa il folosesc, ca e ca acu 25 de ani cand am instalat primul meu linux… si acum ce fac? :)) Am calico, am toate componentele
Tema finala e wordpress in kubernetz… cu toate ca am impresia ca nu e nevoie sa complici atat un wordpress si ca ar fi chiar useless. Scopul de a pune asta pe blog este ca-s batran si imi notez ce fac :))
Pentru moment o sa ma multumesc sa testez un singur serviciu, un nginx.