Tworzenie klastra Kubernetes za pomocą usługi EKS Amazon

Tworzenie klastra Kubernetes za pomocą usługi EKS Amazon
Kubernetes to złożony organ oprogramowania. Jest przeznaczony do rozproszonego klastra węzłów obliczeniowych i jest zaprojektowany w celu wytrzymania gwałtownych obciążeń, awarii łącza i awarii węzłów. Jest to również szybko poruszający się projekt z ciągłymi (i często niekompatybilnymi) zmianami i zależnościami stron trzecich.

Biorąc pod uwagę całą złożoność, która go leży, jest bardzo trudna i kosztowna dla organizacji samodzielnie i utrzymanie klastra Kubernetes i uruchamianie ich aplikacji. Jeśli nie zajmujesz się prowadzeniem klastrów Kubernetes, możesz użyć Amazon's Elastic Kubernetes Service (EKS), aby wdrożyć swoje aplikacje. Zdecydowanie obniży koszty działania i możesz spokojnie odpocząć, wiedząc, że doświadczeni programiści i operatorzy są z tego odpowiedzialni.

Wymagania wstępne

  • Konto AWS z dostępem do konsoli i odpowiednimi uprawnieniami. Skontaktuj się z operatorem AWS firmy, aby uzyskać odpowiednie uprawnienia.
  • Użytkownik AWS IAM z programem programowym. Będziemy działać jako ten użytkownik podczas kontrolowania naszego klastra Kubernetes. Oto jak możesz zainstalować i skonfigurować AWS CLI dla konta, na którym zostanie utworzony klaster EKS.
  • Podstawowe zrozumienie Kubernetes

Tworzenie klastra Kubernetes

Możesz również utworzyć klaster za pośrednictwem CLI, ale większość nowych użytkowników uważa, że ​​graficzna przyjazna konsoli. Więc zamiast tego będziemy używać tego. Zakładając, że zalogowałeś się do swojej konsoli AWS, możemy zacząć od pójścia Usługi z prawego górnego rogu i kliknięcie Eks Z rozwijanego menu:

Następne menu pokaże stronę Intro AWS, przejdźmy do Klastry Opcja pod podmenu EKS.

Tutaj możesz zobaczyć listę wszystkich klastrów Kubernetes utworzonych na Twoim koncie. Ponieważ nie ma, stwórzmy jeden.

Kliknij Utwórz klaster. Podaj nazwę, wybierz wersję Kubernetes, które chcesz, w momencie pisania wersji 1.11 jest obsługiwany przez Amazon. Następnie kliknij Nazwa roli, Ponieważ musimy stworzyć rolę, którą musimy dostarczyć do Amazon EKS, aby mógł zarządzać naszym klastrem.

Tworzenie i przypisanie roli

Zanim zaczniemy to, zrozummy kluczową różnicę między Amazon Eks (usługa AWS) i klaster Kubernetes NA AWS. AWS segreguje obowiązki, gdziekolwiek to możliwe, aby zapewnić bardzo drobnoziarnistą kontrolę nad wszystkim. Jeśli chcesz dać sobie lub stronę trzecią, pełną kontrolę nad tymi zasobami, możesz to zrobić.

Myśleć o Amazon Eks Jako jedna z takich stron, która zarządzi Twoją klaster Kubernetes (klaster EKS) w Twoim imieniu, ale wymaga tego, aby to zrobić, aby to zrobić. Aby to zrobić, „utworzymy” i przypisujemy Rola zarządzania klastrami EKS na naszym koncie AWS i przypisania go do Amazon Eks.

Na nowej karcie IAM, która została otwarta po kliknięciu nazwy roli, zobaczysz kilka domyślnych ról dotyczących faktur i wsparcia. Stwórzmy nowy dla EKS. Kliknij Stwórz rolę.

Wybierz rodzaj zaufanego bytu jako Usługa AWS, dla którego rola zostanie utworzona, a następnie wybierz EKS, aby Twój klaster EKS mógł porozmawiać bezpośrednio z Amazon Eks bezpośrednio i wykonuj optymalnie. Następnie kliknij Następny.

Teraz będziesz mógł zobaczyć uprawnienia i granice uprawnień, które są powiązane z tą rolą. Wartości domyślne są w porządku, po prostu kliknij dalej.

Następne menu wyruszy w błąd do dodania tagów (pary wartości klucza) do tej roli. Jest to całkowicie opcjonalne, ale całkiem przydatne, jeśli używasz CLI do zarządzania zasobami AWS i istnieje wiele różnych ról i zasobów do zarządzania. Nie będziemy dodawać żadnych tagów, kliknij Następny i nadaj swojej roli znaczące imię i opis.

I to wszystko! Kliknięcie Stwórz rolę I możemy wrócić do naszego tworzenia klastrów EKS. Następnym razem, gdy chcesz stworzyć inny klaster, możesz ponownie użyć tej samej roli.

Powrót do tworzenia klastrów

Nawet jeśli twoje konto AWS jest zupełnie nowe, nadal istnieje domyślna VPC (wirtualna chmura prywatna) z utworzonymi w nim kilkoma podsieciami. Są one często rozłożone na różne regiony AWS i musisz wybrać co najmniej dwa z nich, aby był klastrem.

I wybierz domyślną grupę bezpieczeństwa, aby umożliwić normalne ruchy większości ruchu przychodzącego i wychodzącego.

Kliknij Tworzyć a twój klaster Kubernetes będzie działał w ciągu kilku minut. Po utworzeniu klastra. Zawsze możesz uzyskać przegląd, przechodząc do EKS → klaster → myCluster. Oczywiście ostatnia część, nazwa twojego klastra będzie inna.

Lokalna konfiguracja

Sposób, w jaki działa platforma EKS, polega na tym, że umożliwia interakcję z płaszczyzną kontrolną w punkcie końcowym API samolotu. Płaszczyzna kontrolna jest równoważna węzłom głównym w klastrach waniliowych kubernetes. Działa etcd, CAS i oczywiście serwer API, którego użyjesz do kontrolowania klastra Kubernetes.

Będziesz musiał skonfigurować swój kubectl i/lub pulpit nawigacyjny do pracy z tym punktem końcowym API, a po konfiguracji możesz zacząć wymieniać wszystkie zasoby, wdrożenia itp.

Jeśli nie masz jeszcze zainstalowanego Kubectl na komputerze, możesz to zrobić, klikając ten link dla komputerów Mac, Windows lub ulubionej Linux Distro.

Potrzebowalibyśmy dodatkowego binarnego, który byłby AWS IAM Authenticator dla Twojej platformy. Pobierz go stąd i uczyń go wykonywaczem.

$ sudo chmod +x ./AWS-IAM-Autenticator

Dodaj go do jednego z folderów $ ścieżki na przykład /usr /bin lub /sbin lub /usr /local /sbin. Lub możesz zrobić, jak zaleca Amazon i po prostu dodać go do katalogu domowego i uczynić $ do domu częścią zmiennej ścieżki.

$ cp ./AWS-IAM-AUTHENTICator $ HOME/BIN/AWS-IAM-AUTHENTICator &&
Ścieżka eksportu = $ home/bin: $ ścieżka

Następny test, czy binarie działają.

Wersja $ kubectl
Pomoc $ AWS-IAM-Autenticator

Teraz musimy skonfigurować te pliki binarne, aby mogły bezpiecznie rozmawiać z naszym klastrem Kubernetes. Możesz to zrobić ręcznie, jeśli nie chcesz konfigurować AWS CLI, ale to nie jest niezawodne podejście. Dlatego wspomniałem w warunkach wstępnych, że AWS CLI było konieczne. Zakładając, że zainstalowałeś go i skonfigurowałeś do pracy z konto AWS, uruchom następujące polecenie:

Uwaga: jeśli korzystałeś już z Kubectl do zarządzania innym klastrem Kubernetes, z plikami konfiguracyjnymi w domyślnym ~/.Kube Lokalizacja. Możesz zapasować ten folder przed uruchomieniem następującego polecenia.

$ AWS EKS UPDATE-KUBECONFIG --Name Mycluster

Nazwa twojego klastra byłaby różna od „myCluster ”, Zamiast tego zastąpić to. Polecenie aktualizacji kubeConfig faktycznie zaktualizuje konfigurację kubectl, edytując pliki w ~/.Kube teczka. Jeśli ta lokalizacja nie istnieje, stworzy dla Ciebie nowy.

Teraz jesteś gotowy do interfejsu ze swoim klastrem.

$ AWS EKS Opisz klaster-Nazwa myCluster

Gdzie teraz?

Teraz w końcu jesteś gotowy do dodania węzłów pracowniczych za pomocą CloudFormation i wdrożenia aplikacji we wszystkich regionach, do których ma dostęp do VPC. Cały ten proces można również zautomatyzować w Nth stopień, jeśli zdecydujesz się użyć AWS CLI do wszystkiego, od tworzenia klastra po wdrażanie i skalowanie aplikacji.

Mam nadzieję, że ten samouczek uznałeś za pomocny i wnikliwy.