Pierwsze kroki z wykresami sterów Kubernetes

Pierwsze kroki z wykresami sterów Kubernetes

Pierwsze kroki z wykresami hełm

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 świecie
├wiąt.Yaml
├wiąt
├── szablony
│ ├� UWAGI.tekst
│ ├wiąt _ helpers.TPL
│ ├─wią.Yaml
│ ├─anek.Yaml
│ └─wią.Yaml
Wartości └wią.Yaml

Plik 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:

  • Klaster Kubernetes (Minikube zapewnia prosty sposób uruchamiania Kubernetes)
  • Zainstaluj ster i topelnik, komponent po stronie serwera.

(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.73 80/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: 8080



Witamy w Nginx!



Witamy w Nginx!


Jeś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.

Bibliografia:

  • hełm.cii/
  • dokumenty.Bitnami.com/kubernetes/how-to/create-your-first-helm-liter/
  • https: // dokumenty.hełm.SH/Używanie_helm/
  • Budowanie wykresów sterów od podstaw: Wprowadzenie do Kubernetes [i] - Amy Chen, heptio
  • Wdrażanie aplikacji Nodejs na Kubernetes za pomocą steru | Odcinek 3