Instrukcja obsługi Jak debugować i naprawiać typowe problemy z kontenerami w Container Station?

Container Station umożliwia wdrażanie aplikacji i kontenerów innych firm na urządzeniu QNAP. Obrazy open-source używane do tworzenia tych kontenerów mogą powodować problemy z wdrożeniem.

QNAP nie zapewnia pomocy technicznej dla obrazów innych firm. Wykonaj poniższe kroki, aby zdiagnozować i rozwiązać typowe problemy związane z kontenerami.

Kontenery dziedziczą wszystkie atrybuty obrazu źródłowego. Przed wdrożeniem przeskanuj plik obrazu w celu wykrycia luk w zabezpieczeniach, błędnych konfiguracji i zagrożeń typu backdoor.

Jeśli kontener napotka problemy po wdrożeniu, przeanalizuj dzienniki kontenera, aby zdiagnozować i rozwiązać problemy.

Zapoznaj się z wymaganiami wstępnymi obrazu i wykonaj wszystkie wymagane kroki przed wdrożeniem kontenera.

wskazówka
Aby znaleźć szczegóły obrazu dla obrazu z rejestru Docker, kliknij nazwę obrazu w sekcji Eksploruj > Docker Hub w Container Station. Alternatywnie wyszukaj obraz w serwisie Docker Hub.


Na przykład wdrożenie kontenera PostgreSQL przy użyciu obrazu postgres wymaga ustawienia zmiennej środowiskowej POSTGRES_PASSWORD. Bez tej zmiennej kontener nie zostanie wdrożony.
044d3fb69a5618cd22943193b08ac3c3.jpg

WażneWdrażając kontener PostgreSQL w Container Station, skonfiguruj zmienną środowiskową POSTGRES_PASSWORD w sekcji Środowisko.

Container Station rejestruje całą aktywność aplikacji i kontenerów. Dzienniki błędów zawierają szczegółowe komunikaty o błędach, w tym nazwę aplikacji lub kontenera, kod błędu i szczegóły błędu.

  1. Otwórz Container Station.
  2. Kliknij Dzienniki zdarzeń.
  3. Znajdź dzienniki błędów.

Przykład 1​


W tym przykładzie dziennik zdarzeń zarejestrował błąd uruchamiania, ponieważ określone porty były już używane przez inne usługi, co uniemożliwiło kontenerowi powiązanie z wymaganymi interfejsami sieciowymi.
c11fb2fa6f96e22afdda28868f824b9c.jpg


Przykład 2​


W tym przykładzie dziennik zdarzeń zarejestrował błąd uruchamiania spowodowany błędnie skonfigurowanym poleceniem entrypoint, które uniemożliwiło kontenerowi uruchomienie zamierzonego procesu.
752623ea749d9c272c1ef0abd9b90834.jpg

Analizuj dzienniki poszczególnych kontenerów pod kątem komunikatów o błędach i ostrzeżeniach. Container Station rejestruje szczegółowe stany błędów, takie jak brakujące zmienne środowiskowe, nieprawidłowe formaty nazw, błędy pobierania obrazów i błędy inicjalizacji.

  1. Otwórz Container Station.
  2. Kliknij Kontenery.
  3. Wybierz kontener, aby otworzyć stronę szczegółów.
  4. Kliknij Dzienniki.
  5. Przejrzyj komunikaty o błędach i ostrzeżenia.

Przykład 1​


Dziennik zdarzeń zarejestrował błąd uruchamiania, ponieważ zmienna środowiskowa MYSQL_ROOT_PASSWORD nie została ustawiona przed wdrożeniem kontenera MySQL, co spowodowało jego natychmiastowe zamknięcie po inicjalizacji.
c140bb8ccd878dca740e59b3b31029e6.jpg


Przykład 2​


Dziennik zdarzeń zarejestrował błąd uruchamiania, ponieważ kontener Rancher został wdrożony przy użyciu obrazu rancher/rancher bez włączenia trybu uprzywilejowanego. Bez flagi --privileged kontener nie mógł zostać prawidłowo zainicjowany.
2842673a3752622c2e04c70363280de4.jpg

Upewnij się, że obraz jest zgodny z architekturą procesora i systemem operacyjnym urządzenia QNAP. Nieprawidłowe wersje lub architektury obrazów uniemożliwiają uruchamianie kontenerów.

Sprawdź, czy platforma obrazu jest zgodna z architekturą procesora urządzenia QNAP. W przypadku przenoszenia obrazu z innego urządzenia QNAP upewnij się, że oba urządzenia używają tej samej architektury.
WażneObrazów x86 64-bitowych nie można uruchamiać na urządzeniach ARM 64-bitowych ani 32-bitowych. Podobnie obrazy ARM nie mogą być uruchamiane na urządzeniach x86 64-bitowych.

Docker​


Strona obrazu Docker zawiera listę obsługiwanych architektur i systemów operacyjnych dla każdej wersji obrazu. Poniżej przedstawiono ogólne wytyczne dotyczące zgodności obrazów Docker:

  • linux/arm/v7 — obrazy obsługują architektury ARM 32-bitowe.
  • linux/arm64/v8 — obrazy obsługują architektury ARM 64-bitowe.
  • linux/amd64 — obrazy obsługują architektury x86 64-bitowe.

LXD​


Szczegółowe informacje na temat zgodności można znaleźć na stronie LXD Image Server. Poniżej przedstawiono ogólne wytyczne dotyczące zgodności architektur dla kontenerów LXD:

  • armhf — kontenery obsługują architektury ARM 32-bitowe.
  • arm64 — kontenery obsługują architektury ARM 64-bitowe.
  • amd64 — kontenery obsługują architektury x86 64-bitowe.

Niezgodne kontenery Docker mogą rejestrować błąd exec format error, wskazujący na niezgodność architektury.

Podczas wdrażania niezgodnych kontenerów LXD Container Station rejestruje dzienniki błędów na stronie Dzienniki zdarzeń.

QNAP zaktualizował rozmiar strony systemowej z 4K do 32K w celu poprawy wydajności na określonych urządzeniach ARM 32-bitowych. Ta zmiana może ograniczać dostęp kontenera do zasobów pamięci, powodując błędy segmentacji. Przed wdrożeniem należy sprawdzić zgodność kontenerów innych firm.

SeriaModele
TS-x31PTS-531P
TS-x31P3TS-231P3, TS-431P3
TS-x31XTS-231X, TS-431X, TS-531X, TS-831X, TS-431X2, TS-431X3
TS-x31KXTS-431KX
TS-x31XUTS-431XU, TS-431XU-RP, TS-831XU, TS-831XU-RP, TS-1231XU, TS-1231XU-RP
TS-x31XeUTS-431XeU
TS-x35TS-1635

Upewnij się, że urządzenie QNAP jest prawidłowo skonfigurowane do wdrażania i orkiestracji kontenerów.

Weryfikowanie ustawień sieciowych​


  1. Zaloguj się do urządzenia QNAP i otwórz Network & Virtual Switch.
  2. Wybierz tryb Zaawansowany.
  3. Przejdź do Sieć > Wirtualny przełącznik.
  4. Zidentyfikuj segmenty sieciowe używane przez sieć kontenerów.
  5. Przejdź do Panel sterowania>System>Zabezpieczenia>Lista dozwolonych/zablokowanych.
    uwaga
    Jeśli na urządzeniu jest zainstalowany QuFirewall, upewnij się, że jest włączony, a następnie otwórz QuFirewall i dodaj wymagane segmenty sieciowe do listy dozwolonych.
  6. Upewnij się, że segmenty sieciowe kontenerów zostały dodane do listy dozwolonych.
    0ab09723aeb4a3db541bae33f3195ff7.jpg

    WażneQNAP zdecydowanie zaleca dodanie następujących zakresów IP do listy dozwolonych: 10.0.3.0/24, 10.0.5.0/24, 10.0.7.0/24, 172.29.0.0/22, 172.30.0.0/22. Jeśli usługi Kubernetes są włączone, dodaj również 10.42.0.0/24 (Kubernetes Pod Network CIDR).

Sprawdzanie zaawansowanych ustawień uprawnień​


uwaga
Kontenery działają bezpośrednio w systemie i współdzielą uprawnienia roota z urządzeniem hosta. Włączenie zaawansowanych uprawnień folderów może wpływać na działanie kontenerów. Jeśli kontener nie uruchamia się, wyłącz zaawansowane uprawnienia folderów.


  1. Przejdź do Panel sterowania > Uprawnienia > Foldery współdzielone > Uprawnienia zaawansowane.
  2. Wyłącz opcję Włącz zaawansowane uprawnienia do folderów.
  3. Kliknij Zastosuj.
  4. Przejdź do Panel sterowania > Uprawnienia > Przydział i sprawdź ustawienia przydziału użytkownika.
    uwaga
    Ustawienia przydziału mają zastosowanie tylko wtedy, gdy zarządzanie przydziałem jest włączone.

    OstrzeżenieSprawdź ustawienia przydziału użytkownika, aby upewnić się, że nie obowiązują żadne niezamierzone ograniczenia przydziału. Przypadkowe ustawienia przydziału mogą powodować zgłaszanie błędów przez kontener z powodu ograniczeń pamięci masowej.

Weryfikacja konfiguracji pamięci masowej i sieci​


  1. Przejdź do Storage & Snapshots > Pamięć masowa > Pamięć masowa/Migawki.
  2. Sprawdź dostępną pojemność pamięci masowej.

    25ffabf30cdd38a91348adf2203c17ec.jpg


    uwaga
    Jeśli stan jest inny niż Gotowy, sprawdź stan dysku pod kątem błędów pamięci masowej. Szczegółowe informacje można znaleźć w sekcji Stany dysków w Podręczniku użytkownika systemu QTS lub QuTS hero.

Sprawdzanie konfiguracji sieci​


Aby upewnić się, że ustawienia sieciowe są skonfigurowane poprawnie, wykonaj następujące kroki:

  1. Przejdź do Network & Virtual Switch > Sieć > Interfejsy i sprawdź ustawienia DNS i bramy.
  2. Upewnij się, że serwer DHCP może przypisywać adresy IP do kontenerów za pomocą przełącznika wirtualnego. Szczegółowe informacje można znaleźć w sekcji Konfiguracja przełącznika wirtualnego w Podręczniku użytkownika systemu QTS lub QuTS hero.
    uwaga
    Ustawienie Nie przypisuj adresów IP (do celów specjalnych, takich jak budowanie sieci zewnętrznej lub izolowanej) w konfiguracji przełącznika wirtualnego jest przeznaczone do specyficznych konfiguracji sieciowych. Jeśli nie jest wymagana niestandardowa konfiguracja sieci, zaleca się wyłączenie tego ustawienia.
    Jeśli jednak konfigurujesz sieć zewnętrzną lub izolowaną, włącz je. Pamiętaj, że to ustawienie może wpływać na konfigurację sieciową kontenera. Szczegółowe informacje można znaleźć w sekcji Tworzenie przełącznika wirtualnego w trybie zaawansowanym w Podręczniku użytkownika systemu QTS lub QuTS hero.
  3. Przejdź do Container Station > Preferencje > Ustawienia sieciowe i upewnij się, że segmenty sieci kontenerów nie kolidują z lokalnym środowiskiem.WażneContainer Station używa 10.0.3.0/24, 10.0.5.0/24 i 10.0.7.0/24 jako domyślnych sieci IP.

Niektóre obrazy są typu open-source, co umożliwia użytkownikom modyfikowanie kodu źródłowego. Jeśli żadna z metod rozwiązywania problemów nie rozwiąże problemu, obraz źródłowy może być niekompatybilny lub uszkodzony. W takich przypadkach firma QNAP zaleca odwiedzenie witryny internetowej obrazu w celu uzyskania dodatkowych informacji lub skorzystanie z alternatywnych obrazów z tej samej kategorii.

Jeśli obraz pochodzi z rejestru Docker, więcej szczegółów można znaleźć na stronie Przegląd obrazu. Na przykład obraz Ubuntu w Dockerze zawiera łącza szybkiego dostępu do dalszych informacji.
99622c46aa151ffd17215444e640f6ad.jpg

Dalsza lektura​