Helm sprawia, że Kubernetes jest bardziej przyjazny dla użytkownika. To menedżer pakietu. Wykresy sterowe ułatwiają projektowanie, instalowanie i aktualizację aplikacji Kubernetes. Zarządzają złożonością, aby proces instalacji był powtarzalny. Użytkownicy mogą łatwo aktualizować i udostępniać swoje projekty. Ponadto Helm ma funkcję wycofania, aby łatwo wrócić do wersji zamówień.
Struktura wykresu steru
Za pomocą polecenia Utwórz Helm zapewnia z góry określoną strukturę, aby zapewnić standard.
Witaj świeciePlik powyżej będą automatycznie generowane. Helm używa formatu YAML do plików konfiguracyjnych.
Wywołujący ster
Aby użyć steru, będziesz potrzebować następujących rzeczy:
(Upewnij się, że wersje minikube i tiller są kompatybilne z klastrem Kubernetes)
Po zainstalowaniu wszystkich komponentów rozpocznij swój minikube:
$ minikube start
Będziesz także musiał użyć następującego polecenia, aby zainicjować ster i topelnik:
$ helm init
Następnie użyj następującego polecenia steru, aby utworzyć strukturę opisaną powyżej:
$ helm stwórz hello-world
Pisanie pierwszej tabeli hełm
Sprawdźmy status kapsuł:
$ kubectl get POD-WALL-Namespaces
Nazwa nazwy przestrzeni gotowy STATUS RESTARTS wiek
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 1h
Kube-System Kube-DNS-54CCCFBDF8-xcltd 3/3 Bieganie 6 1h
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Bieganie 2 1h
Kube-System Storage-Provisioner 1/1 Bieganie 2 1H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Bieganie 2 1h
Tiller Kapd i minikube kapsuły. Dokonajmy pewnych zmian na wykresach sterowych. Otworzymy wartość.yml. To wygląda tak:
# Wartości domyślne dla Hello-World.
# To jest plik formatowany przez YAML.
# Deklaruj zmienne, które mają zostać przekazane do szablonów.
RepliCaCount: 1
obraz:
Repozytorium: Heroku/Nodejs-Hello-World
Tag: stabilny
Pullpolicy: ifnotPresent
praca:
Typ: Clusterip
Port: 80
ingres:
Włączone: false
Adnotacje:
# Kubernetes.IO/Ingress.Klasa: Nginx
# Kubernetes.IO/TLS-ACME: „True”
ścieżka: /
zastępy niebieskie:
- przykład wykresu.lokalny
tls: []
#-SecretName: wykresy-przykładowe-tls
# gospodarze:
# - przykład wykresu.lokalny
zasoby:
# Zwykle zalecamy nie określanie zasobów domyślnych i pozostawienie tego jako świadomości
# Wybór dla użytkownika. Zwiększa to również szanse, że wykresy działają w środowiskach z niewielkim
# Zasoby, takie jak Minikube. Jeśli chcesz określić zasoby, pocukaj następujące
# linie, dostosuj je w razie potrzeby i usuń kręcone szelki po „zasobach:”.
# limity:
# CPU: 100m
# Pamięć: 128MI
# żądania:
# CPU: 100m
# Pamięć: 128MI
węzłów:
Toleracje: []
podobieństwo:
Podświetlona linia została zmieniona. Zamiast Nginx, pobieramy Heroku/Nodejs-Hello-World. Możesz ustawić wartości domyślne w tej wartości.plik YML. Będą udostępniane innym plikom.
Jeśli sprawdzimy sterownika, nic nie widzimy:
$ helm ls
Rozpocznijmy wykres steru:
$ helm instaluj hello-world
Imię: Kissing-Mararkhor
Ostatni wdrożony: pt. 9 marca 09:13:04 2018
Przestrzeń nazw: domyślnie
Status: wdrożony
ZASOBY:
==> v1/service
Typ nazwy Cluster-IP Zewnętrzny Port-IP wiek
Kissing-Markhor-Hello-World Clusterip 10.110.109.7380/TCP 1S
==> v1beta2/wdrażanie
Nazwa pożądana aktualna aktualna dostępna wiek
Kissing-Markhor-Hello-World 1 1 1 0 1s
==> v1/pod (pokrewne)
Nazwa STATUS STATUS RESTARTUJS WIEK
Kissing-Mararkhor-Hello-World-6BBB947B9C-RTTNZ 0/1 Container Creating 0 1S
Uwagi:
Uwagi:
1. Uzyskaj adres URL aplikacji, uruchamiając te polecenia:
Eksport pod_name = $ (kubectl get pods --Namespace Domyślnie -l "app = hello -world, wydanie = całowanie
-Markhor "-o jsonpath =" .Pozycje [0].metadane.nazwa")
echo "Odwiedź http: // 127.0.0.1: 8080 do korzystania z aplikacji ”
Kubectl Port-forward $ pod_name 8080: 80
Zauważalną częścią jest „nazwa”. Ta nazwa została wygenerowana przez ster.
Sprawdźmy Helm:
$ helm ls
Nazwa Wersja Zaktualizowana przestrzeń nazwy wykresu statusu
Kissing-Mararkhor 1 pt. 9 marca 09:13:04 2018 Występowany Hello-World-0.1.0 domyślnie
Także Kubernetes:
$ kubectl get POD-WALL-Namespaces
Nazwa nazwy przestrzeni gotowy STATUS RESTARTS wiek
Domyślny całowanie markhor-hello-world-6bbb947b9c-rttnz 1/1 biega 0 5m
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Bieganie 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Bieganie 2 2h
Kube-System Storage-Provisioner 1/1 Bieganie 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Bieganie 2 2h
Więc kapsułek został wdrożony w Kubernetes. Możemy użyć przekazywania portów:
$ Kubectl Port-forward Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 8080: 80
Teraz powinieneś być w stanie sprawdzić swoją wdrożoną aplikację.
$ curl http: // 127.0.0.1: 8080Jeśli zobaczysz tę stronę, serwer WWW Nginx jest pomyślnie zainstalowany i
pracujący. Konieczna jest dalsza konfiguracja.
Dokumentacja i wsparcie online można znaleźć
nginx.org.
Wsparcie komercyjne jest dostępne pod adresem
nginx.com.
Dziękujemy za użycie Nginx.
Alternatywnie możesz sprawdzić http: // 127.0.0.1: 8080, aby zobaczyć nowo utworzoną aplikację. Uprzejmy. Znajdź nazwę serwera:
$ helm ls
Nazwa Wersja Zaktualizowana przestrzeń nazwy wykresu statusu
Kissing-Mararkhor 1 pt. 9 marca 09:13:04 2018 Występowany Hello-World-0.1.0 domyślnie
Użyj następującego polecenia, aby usunąć:
$ helm usuń całowanie markhor
Usunięto wydanie „Kissing-Markhor”
Sprawdźmy klaster:
$ Kubectget Pod-Wall-Namespaces
Nazwa nazwy przestrzeni gotowy STATUS RESTARTS wiek
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Bieganie 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Bieganie 2 2h
Kube-System Storage-Provisioner 1/1 Bieganie 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Bieganie 2 2h
Widzimy, że zniknął kapsuł.
Wniosek
Powyższe powinno dać inspirację do rozpoczęcia używania wykresów sterów. Powinno to ułatwić obsłudze wdrożeń Kubernetes.