diff --git a/astrololo/README.md b/astrololo/README.md index d887e7f..a9859b1 100644 --- a/astrololo/README.md +++ b/astrololo/README.md @@ -29,6 +29,49 @@ Runbook: **[README-pliki.md](README-pliki.md)**. Ekran „Pliki" wymaga zapisu d udziału z bazami, więc znosi gwarancję z DAN-25, że baz nie da się zmienić przez NFS. Co zostaje z zabezpieczeń i jak to wdrożyć — w runbooku. +## ⚠️ Wymóg węzłów: klient NFS + +Wszystkie warstwy montują udziały z NAS-a, więc **każdy węzeł, na którym może +wylądować pod, musi mieć klienta NFS**. Bez niego kubelet nie zamontuje wolumenu: + +``` +mount: ... bad option; for several filesystems (e.g. nfs, cifs) you might need +a /sbin/mount. helper program +``` + +Ten komunikat **nie oznacza problemu z udziałem ani z uprawnieniami** — serwer +w ogóle nie został zapytany. Jądro nie znalazło programu pomocniczego +`/sbin/mount.nfs`. + +### Sprawdzenie + +```bash +for N in 192.168.1.73 192.168.1.80 192.168.1.81; do + printf "%-15s " "$N" + ssh hammer@$N 'test -x /sbin/mount.nfs && echo MA-KLIENTA || echo BRAK-KLIENTA' +done +``` + +### Instalacja + +```bash +ssh hammer@ 'sudo apt-get update && sudo apt-get install -y nfs-common' +``` + +> **Na WSZYSTKICH węzłach, nie tylko na tym, gdzie pod stoi teraz.** Braku na +> pozostałych nie widać, dopóki scheduler tam czegoś nie przeniesie — a wtedy +> awaria wygląda na nagłą, choć przyczyna leżała od dawna. Dokładnie tak wyszło +> za pierwszym razem: pody działały miesiącami na jednym węźle, aż zejście do +> zera replik przy innej naprawie przeplanowało je gdzie indziej. + +### Skąd wiadomo, że to TO + +| komunikat | co znaczy | +|---|---| +| `bad option ... mount. helper program` | **brak `nfs-common` na węźle** — serwer niepytany | +| `access denied by server while mounting` | serwer odmawia: eksport nieprzeładowany, węzła nie ma na liście `hosts`, albo udział wyłączony | +| `Permission denied` przy zapisie | montowanie działa, brakuje praw — patrz `mapall_user` i właściciel katalogu | + ## ⚠️ Sekret `astrololo-auth` — utwórz PRZED wdrożeniem Aplikacja wystawia treść **oryginalnych baz interpretacyjnych**, dlatego wymaga