Jak korzystać z Linux Sysctls w Kubernetes

Jak korzystać z Linux Sysctls w Kubernetes

W tym poście omówi się, czym jest Linux Sysctl w Kubernetes i jak można go używać w klastrze Kubernetes. SYSCTL to interfejs w systemie operacyjnym Linux, który umożliwia administratorowi modyfikację parametrów jądra w czasie wykonywania. Tutaj pokażemy, jak korzystać z Linux Sysctls na platformie Kubernetes. Wykazamy prosty przykład, który pomoże Ci zrozumieć, jakiego rodzaju wyjścia można oczekiwać podczas wdrażania poleceń Kubectl do korzystania z sysctls w Kubernetes.

Co to są sysctls?

Sysctls to interfejs w Linux, który służy do regulacji parametrów jądra w czasie wykonywania przestrzeni nazw w pojemniku. Te parametry można znaleźć w pliku/proc/sys/wirtualnym i obejmują różne podsystemy, takie jak pamięć wirtualna, sieci, jądro itp. Tylko sysctl z nazwiskami można ustawić niezależnie na podss, a Kubernetes odsłania ustawienia SYSCTL. Sysctl poziomu węzłów, które nie są nazwane nazwami, należy ustawić inną metodą ustawienia SYSCTLS, takich jak operator strojenia węzłów. Ponadto, tylko bezpieczne sysctls są domyślnie białe listy, podczas gdy niebezpieczne sysctls muszą być ręcznie włączone w węźle, aby mogły być dostępne dla użytkownika. Teraz zrozummy, jak korzystać z Linux Sysctls w Kubernetes.

Wymagania wstępne

Zanim zaczniesz nauczyć się korzystać z Linux Sysctls w Kubernetes, upewnij się, że masz zainstalowane następujące narzędzia w systemie:

    • Kubernetes wersja 1.23 lub inna najnowsza wersja
    • Ubuntu 20.04 lub inna najnowsza wersja
    • Sysctls dla obsługi POD
    • Narzędzie wiersza poleceń kubectl
    • Minikube klaster

Zakładając, że Twój system zaspokaja wymagania wstępne, przechodzimy do sekcji wdrażania.

Jak korzystać z Linux Sysctls w Kubernetes?

System operacyjny Linux to platforma, która pozwala dostroić jądra za pomocą gałek sysctls w stosie sieciowym. Niektóre z sysctls są nazwane nazwą pod swoją własną konfiguracją, podczas gdy inne są prawidłowe dla całego systemu. Kubernetes zgrupował interfejs Sysctls na dwie kategorie:

    • Sysctls na poziomie nazwy vs
    • Bezpieczne vs niebezpieczne sysctls

Sysctls na poziomie nazwy vs na poziomie węzłów:

W jądrze Linux większość sysctl jest nazwana nazwą, która umożliwia niezależne ustawienie między różnymi strąkami na jednym węźle. SYSCTLE ZASADY SYSCTLE są łatwo dostępne w Kubernetes Pod. Niektóre z sysctl z nazwami są następujące:

    • fs.MQUEUE.*
    • jądro .MSG*
    • jądro.SHM*
    • jądro.sem

Sysctl poziomu węzłów nie są nazwane nazwami, a administrator klastra musi je ustawić ręcznie. Administrator klastra albo używa zestawu demonów z uprzywilejowanym kontenerem, albo może modyfikować /etc /sysctls.Dystrybucja Linux Node Conf. Operator strojenia węzłów może być również używany do ustawienia Sysctl poziomu węzłów.

Bezpieczne i niebezpieczne sysctls:

Istnieją dwie grupy sysctls: bezpieczne i niebezpieczne. Bezpieczne sysctls są właściwie nazwane nazwami i są całkowicie odizolowane w podsumach w tym samym węźle. Bezpieczne sysctls są domyślnie włączone i mogą być używane w POD poprzez modyfikację specyfikacji POD. Jednak niebezpieczne sysctls są domyślnie wyłączone i muszą być ręcznie włączone przez administratora klastra. Bezpieczne sysctls nie wpływają na ich sąsiadów, ponieważ są odpowiednio nazwiskowane nazwiskami. Podczas gdy niebezpieczne sysctls mogą nieoczekiwanie wpłynąć na swoich sąsiadów, takich jak przeciążenie systemu. Bezpieczny zestaw sysctls jest następujący:

    • internet.IPv4.ping_group_range
    • internet.IPv4.ip_local_port_range
    • jądro.shm_rmid_forced
    • internet.IPv4.tcp_syncookies

Należy zauważyć, że sama nazwa nie wystarcza, aby sysctl można było przyjąć.

Teraz, gdy zrozumieliśmy obie kategorie sysctls, przejdźmy dalej, jak korzystać z tych sysctls w Kubernetes. Tutaj poprowadzimy Cię, jak korzystać zarówno z bezpiecznych, jak i niebezpiecznych sysctls i jak ręcznie włączyć niebezpieczne sysctls w Kubernetes.

Krok # 1: Rozpocznij klaster minikube

Platforma Kubernetes może być używana za pośrednictwem niektórych klastrów, a my używamy tutaj klastra minikupowego. Aby uruchomić klaster minikube, możesz użyć polecenia podanego poniżej:

> Minikube start


To uruchomi klaster minikube, w którym można uruchomić polecenia Kubectl i użyć Linux Sysctls na platformie Kubernetes. Po wykonaniu tego polecenia otrzymasz podobne dane wyjściowe do podanego poniżej:

Krok # 2: Sprawdź parametry sysctls

Interfejs SYSCTLS służy do modyfikacji parametrów jądra, które można znaleźć w pliku/proc/sys/wirtualnym. Aby wymienić wszystkie parametry, można użyć poniższego polecenia:

> sudo sysctl -a


To polecenie zawiera listę wszystkich parametrów jądra z pliku procesu/proc/sys/wirtualnego. Zobacz przykładowe dane wyjściowe podane w migawce poniżej:

Krok # 3: Włącz niebezpieczne sysctls

Niebezpieczne sysctls muszą być włączone ręcznie, ponieważ są domyślnie wyłączone. Administrator klastra ręcznie umożliwia niebezpiecznym sysctls na zasadzie dla węzła. Kapsuły, które wyłączają niebezpieczne sysctls. Istnieją pewne szczególne warunki (takie jak strojenie aplikacji w czasie wykonywania, wysoka wydajność itp.) Gdy administrator klastra może pozwolić niebezpiecznym sysctls. Aby włączyć niebezpieczne sysctls na zasadzie węzła po węźle, możesz użyć polecenia Kubectl podanego poniżej:

> kubectl -allowed-unsafe-sysctls \


Jest to bardzo podstawowy i prosty sposób na włączenie niebezpiecznych sysctls za pomocą polecenia Kubectl.


Ponadto niebezpieczne sysctls można włączyć za pomocą flagi extra-config minikube. Można to zrobić za pomocą polecenia podanego poniżej:

> Minikube start -extra -config = ”kubectl.dozwolone-unsafe-sysctls = jądro.MSG*, netto.rdzeń.somaxconn ”…


To polecenie umożliwia włączenie niebezpiecznych sysctls za pośrednictwem minikupowego klastra. Może jednak włączyć tylko sysctl z nazwami. Zobacz przykładowe dane wyjściowe podane w migawce poniżej:

Wniosek

W tym artykule przedstawiono nam przegląd interfejsu Linux Sysctls. Omówiliśmy, czym jest Linux Sysctl i jak można go używać w środowisku Kubernetes. Istnieją dwie grupy sysctls: jest bezpieczny i niebezpieczny. Bezpieczna grupa sysctls jest domyślnie włączona, podczas gdy niebezpieczna grupa Sysctls jest domyślnie wyłączona. Za pomocą prostego i łatwego przykładu nauczyliśmy się, jak włączyć niebezpieczne sysctls za pomocą polecenia Kubectl i flagi minikube -extra -config.