Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

K3s - ultralekka implementacja Kubernetes dla systemów wbudowanych

ghost666 25 Mar 2019 09:15 489 0
  • K3s - ultralekka implementacja Kubernetes dla systemów wbudowanych
    Kubernetes (K8s) to oprogramowanie do automatyzacji instalacji, skalowania i zarządzania aplikacji skonteneryzowanych. Jest w pełno otwarte i przenośne; idealnie nadaje się do deklaratywnej konfiguracji środowisk, jak i automatycznej ich generacji. To jeden z najszybciej rosnących ekosystemów tego rodzaju - pojawia się coraz więcej usług dla Kubernetes, wsparcie jest coraz szersze, a kompatybilność lepsza. Kubernetes rozwijane jest przez Google od 2014 roku

    Jednak, jak wyjaśnia dyrektor generalny Rancher Labs, Sheng Liang, „istniejące dystrybucje Kubernetes są często bardzo zasobożerne, jeśli chodzi np. o pamięć, a także zbyt skomplikowane dla środowisk przetwarzania na kraedzi chmury”. Dlatego też firma opracowała i uruchomiła K3s, lekką dystrybucję Kubernetes przeznaczoną dla programistów i operatorów poszukujących sposobu na uruchomienie Kubernetes na ograniczonych zasobach systemów wbudowanych i platformach sprzętowych takich jak x86, Armv7-A czy 64-bitowy Armv8-A. Są one często spotykanych w środowiskach na krawędzi chmury.

    Rancher Labs udało się istotnie zmniejszyć wymagania Kubernetesa i lepiej dostosować go do tego rodzaju sprzętu. Konieczne były cztery główne kroki:

    * Usunięcie starszego i niekrytycznego kodu - funkcjonalności będących w wersji alfa, innych niż domyślne kontrolerów, providerów usług w chmurze, driverów magazynów danych etc. Wszystko to zostało domyślnie wyłączone i musi być dodane ręcznie przez użytkownika.
    * Konsolidacja pakowania uruchomionych procesów - aby oszczędzać RAM w systemie, wszystkie procesy w których typowo pracuje Kubernetes zamienione zostały na pojedynczy proces, wliczając w to Kubelet, kubeproxy i agent flannela.
    * Wykorzystanie containerd zamiast Dockera do obsługi kontenerów. Z jednej strony oznacza to usunięcie takich funkcjonalności jak libnetwork, Rancher czy swarm, a także usunięcie sterowników magazynów danych dla Dockera oraz innych jego pluginów. Z drugiej strony istotnie zmniejszyło to obciążenie komputera.
    * Wprowadzenie SQLite jako opcjonalnego magazynu danych. Jest to lekka alternatywa dla etcd.

    Rezultatem powyższych starań jest pakiet, który łatwo się instaluje i który nie wymaga wiele zasobów. Sama binarka do instalacji zajmuje 40 MB. System wymaga Linuksa 3.10 lub nowszego oraz 512 MB pamięci RAM na serwer i po 75 MB na każdy węzeł (node) w sieci.

    Jedną z firm chętnych do wykorzystania nowej implementacji w konkretnym przypadku jest Goldwind Smart Energy. Firma ta zarządza ponad 30 tysiącami turbin wiatrowych, a K3s umożliwiają im wdrożenie klastrów Kubernetes na tysiącach lokalizacji na krawędziach chmury zbierającej dane z tych turbin.

    Instrukcje instalacji K3s na Raspberry Pi można znaleźć na stronie dostawcy, ale zasadniczo, jeśli mamy już skonfigurowane obrazy systemu dla naszej płytki, wszystko co musimy zrobić, to uruchomić następującą komendę w terminalu:



    Code: bash
    Log in, to see the code


    Powinno to automatycznie zainstalować K3s dla naszej architektury systemu (amd64, armhf, or arm64). Więcej detali, jeśli o instalację chodzi, znaleźć możemy np. na repozytorium projektu na Githubie.

    Aby uruchomić serwer Kubernetes wpisujemy w terminalu:

    Code: bash
    Log in, to see the code


    Następnie, potrzebny nam będzie jeden agent:

    Code: bash
    Log in, to see the code


    Gdzie NODE_TOKEN pochodzi z /var/lib/rancher/k3s/server/node-token z serwera.

    Tematyka ta, wraz z samym K3s zaprezentowana była na konferencji FOSDEM 2019 w ramach wykładu pod tytułem "CI/CD dla platform wbudowanych, z wytkorzystaniem ESP8266, Arduino-cli, Gitlab-ci, Raspberry Pi i Kibernetes".

    Źródło: https://www.cnx-software.com/2019/03/08/k3s-lightweight-kubernetes-distribution-x86-arm/

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11203 posts with rating 9464, helped 157 times. Live in city Warszawa. Been with us since 2003 year.