Gdzie w Proxmoksie umieścić Dockera: decyzja o miejscu i pułapka compose

To, gdzie postawisz kontenery, nie jest kwestią gustu, tylko kwestią promienia rażenia. A plik compose wygląda na konfigurację, choć jest programem, który uruchamiasz.

AtlasPVE ·

Ten wpis odpowiada na

  • instalacja dockera na proxmoksie
  • proxmox docker w lxc czy w vm
  • docker na hoście proxmox
  • czy docker compose jest bezpieczny
  • gdzie uruchamiać kontenery na proxmoksie

Proxmox jest zainstalowany i chcesz uruchamiać kontenery. Pytanie nie brzmi, jak to zainstalować, tylko gdzie to postawić. A to nie jest kwestia gustu, tylko kwestia tego, ile rzeczy się psuje, gdy zepsuje się jedna.

Trzy miejsca

Bezpośrednio na hoście. Najłatwiejsze i dokładnie to, którego nie należy wybierać. Host jest warstwą, na której opiera się wszystko powyżej. Cokolwiek tam zainstalujesz, znajduje się od tej chwili w promieniu rażenia każdej maszyny wirtualnej: konflikt zależności, zapełniony dysk albo zła aktualizacja zabierają nie tylko twoje kontenery, ale wszystko naraz.

Wewnątrz kontenera systemowego. Lekkie i szybkie w postawieniu. W zamian uruchamiasz kontenery wewnątrz kontenera, a ten układ ma swoje ostre krawędzie: model uprawnień, warstwy systemu plików, współdzielone jądro. Wybrany świadomie jest rozsądny; wybrany dlatego, że tak było łatwiej, produkuje niespodzianki.

Wewnątrz maszyny wirtualnej. Na papierze najcięższe, w praktyce najczystsze. Gdy układ kontenerów się przewróci, przewraca się jedna maszyna wirtualna, a nie twój serwer. A gdy chcesz go odbudować, odbudowujesz jedną maszynę.

Jedno pytanie, które rozstrzyga

Jeśli to się zepsuje, co stanie się z całą resztą? Na hoście odpowiedź brzmi wszystko, wewnątrz maszyny wirtualnej odpowiedź brzmi jedna z nich. Zużycie zasobów, łatwość instalacji, to wszystko jest drugorzędne wobec tej odpowiedzi.

Druga połowa: compose jest programem

Plik compose wygląda na konfigurację. Nie jest. Uruchomienie go jest uruchomieniem kodu, a ten kod działa z twoimi uprawnieniami. Dwie linie w środku potrafią oddać kontenerowi całą maszynę.

Gdy ludzie kopiują plik compose z internetu, nie czują niepokoju, który czują przy kopiowaniu polecenia. Różnica nie leży w niebezpieczeństwie, tylko w wyglądzie: polecenie wygląda jak polecenie, a compose wygląda jak plik ustawień. Wyglądanie na plik ustawień nie czyni go bezpiecznym.

Cztery linie, na które warto spojrzeć przed uruchomieniem

Czy montuje wewnątrz system plików hosta. Czy prosi o tryb uprzywilejowany. Czy podaje kontenerowi do środka gniazdo samego zarządzania. Czy używa bezpośrednio sieci hosta.

Te cztery to linie przebijające granicę kontenera: jeśli któraś z nich tam jest, ten kontener nie jest już kontenerem, tylko samym hostem. Przeczytanie ich zajmuje dziesięć sekund, a te dziesięć sekund jest warte więcej niż cała reszta tego wpisu.

Co robi Atlas

Atlas skanuje pliki compose i skrypty instalacyjne przed instalacją, a ten skan siedzi na serwerze, nie w interfejsie. Cokolwiek więc wyśle interfejs, sprawdzenia nie da się pominąć.

Wyniki przychodzą na dwóch poziomach. Czerwony oznacza coś, co wyprowadza kontener poza granicę kontenera, czyli uprawnienie równoważne hostowi; wtedy wymagana jest wyraźna zgoda. Żółty oznacza coś, co można zrobić świadomie, ale o czym trzeba ci powiedzieć. Po stronie katalogu aplikacji czerwony nie jest przyjmowany w ogóle.

Jest jeszcze jeden szczegół i on ma znaczenie: skaner nie wygłasza opinii, tylko podaje fakty. Nie mówi, że to jest niebezpieczne, mówi, że ta linia robi to a to. Decyduje czytający, bo ta sama linia bywa dopuszczalna w jednym układzie i niedopuszczalna w innym.

Źródła

Własna dokumentacja Proxmoksa. Po angielsku i to ona ma ostatnie słowo w tej sprawie.

Powiązane wpisy

Jak to wygląda wewnątrz Atlasa?

Przejdź do strony produktu