W tym poście demonstrujemy Kubeflow w AWS (dystrybucja Kubeflow specyficzna dla platformy AWS) oraz wartość dodaną w porównaniu z platformą Kubeflow o otwartym kodzie źródłowym poprzez integrację wysoce zoptymalizowanych, natywnych dla chmury usług AWS gotowych do zastosowania w przedsiębiorstwach.
Kubeflow to platforma uczenia maszynowego (ML) typu open source, której celem jest upraszczanie, przenoszenie i skalowanie wdrożeń przepływów pracy ML na platformie Kubernetes. Kubeflow zapewnia wiele komponentów, w tym centralny pulpit nawigacyjny, notebooki Jupyter dla wielu użytkowników, Kubeflow Pipelines, KFServing i Katib, a także rozproszone szkolenia operatorów dla TensorFlow, PyTorch, MXNet i XGBoost, do tworzenia prostych, skalowalnych i przenośnych przepływów pracy ML .
AWS niedawno uruchomił Kubeflow v1.4 jako część własnej dystrybucji Kubeflow (zwanej Kubeflow w AWS), która usprawnia zadania związane z nauką o danych i pomaga budować wysoce niezawodne, bezpieczne, przenośne i skalowalne systemy ML przy zmniejszonych kosztach operacyjnych dzięki integracji z usługami zarządzanymi AWS . Możesz użyć tej dystrybucji Kubeflow do budowania systemów ML Elastyczna usługa Amazon Kubernetes (Amazon EKS) do tworzenia, trenowania, dostrajania i wdrażania modeli ML dla szerokiej gamy zastosowań, w tym widzenia komputerowego, przetwarzania języka naturalnego, tłumaczenia mowy i modelowania finansowego.
Wyzwania z Kubeflow typu open source
Gdy korzystasz z projektu Kubeflow typu open source, wdraża on wszystkie komponenty płaszczyzny kontroli Kubeflow i płaszczyzny danych w węzłach roboczych Kubernetes. Usługi komponentów Kubeflow są wdrażane jako część płaszczyzny kontrolnej Kubeflow, a wszystkie wdrożenia zasobów związane z Jupyter, szkoleniem modeli, dostrajaniem i hostingiem są wdrażane na płaszczyźnie danych Kubeflow. Płaszczyzna kontroli Kubeflow i płaszczyzna danych mogą działać na tych samych lub różnych węzłach procesu roboczego Kubernetes. Ten post koncentruje się na składnikach płaszczyzny kontrolnej Kubeflow, jak pokazano na poniższym diagramie.
Ten model wdrażania może nie zapewniać środowiska gotowego do zastosowania w przedsiębiorstwie z następujących powodów:
- Wszystkie komponenty infrastruktury platformy sterującej Kubeflow, w tym baza danych, pamięć masowa i uwierzytelnianie, są wdrażane w samym węźle roboczym klastra Kubernetes. To sprawia, że trudno jest zaimplementować wysoce dostępną architekturę projektową płaszczyzny kontrolnej Kubeflow z trwałym stanem w przypadku awarii węzła roboczego.
- Artefakty generowane przez płaszczyznę kontrolną Kubeflow (takie jak instancje MySQL, dzienniki pod lub pamięć masowa MinIO) rosną z czasem i wymagają skalowalnych woluminów pamięci masowej z możliwością ciągłego monitorowania, aby sprostać rosnącemu zapotrzebowaniu na pamięć masową. Ponieważ płaszczyzna kontrolna Kubeflow współużytkuje zasoby z obciążeniami płaszczyzny danych Kubeflow (na przykład do zadań szkoleniowych, potoków i wdrożeń), właściwe dobranie rozmiaru i skalowanie woluminów klastra Kubernetes i pamięci masowej może stać się trudne i skutkować zwiększonymi kosztami operacyjnymi.
- Kubernetes ogranicza rozmiar pliku dziennika, przy czym większość instalacji zachowuje najnowszy limit 10 MB. Domyślnie dzienniki podów stają się niedostępne po osiągnięciu tego górnego limitu. Dzienniki mogą również stać się niedostępne, jeśli zasobniki zostaną wykluczone, zawieszone, usunięte lub zaplanowane w innym węźle, co może mieć wpływ na dostępność dziennika aplikacji i możliwości monitorowania.
Kubeflow w AWS
Kubeflow na AWS zapewnia jasną ścieżkę do korzystania z Kubeflow, z następującymi usługami AWS:
- Moduł równoważenia obciążenia aplikacji do bezpiecznego zarządzania ruchem zewnętrznym przez HTTPS
- Amazon Cloud Watch do trwałego zarządzania dziennikami
- Znajomość AWS do uwierzytelniania użytkowników za pomocą Transport Layer Security (TLS)
- Kontenery AWS Deep Learning dla wysoce zoptymalizowanych obrazów serwerów notebooków Jupyter
- System plików Amazon Elastic (Amazon EFS) lub Amazon FSx dla Luster dla prostego, skalowalnego i bezserwerowego rozwiązania do przechowywania plików w celu zwiększenia wydajności szkoleń
- Amazon EKS dla zarządzanych klastrów Kubernetes
- Usługa relacyjnych baz danych Amazon (Amazon RDS) dla wysoce skalowalnych potoków i magazynu metadanych
- Menedżer tajemnic AWS w celu ochrony tajemnic potrzebnych do uzyskania dostępu do Twoich aplikacji
- Usługa Amazon Simple Storage (Amazon S3) dla łatwego w użyciu magazynu artefaktów potoku
Te integracje usług AWS z Kubeflow (jak pokazano na poniższym diagramie) pozwalają nam oddzielić krytyczne części płaszczyzny kontrolnej Kubeflow od Kubernetes, zapewniając bezpieczny, skalowalny, odporny i zoptymalizowany pod względem kosztów projekt.
Omówmy zalety każdej integracji usług i ich rozwiązań dotyczących zabezpieczeń, uruchamiania potoków ML i magazynu.
Bezpieczne uwierzytelnianie użytkowników Kubeflow z Amazon Cognito
Bezpieczeństwo w chmurze w AWS jest najwyższym priorytetem i inwestujemy w ścisłą integrację bezpieczeństwa Kubeflow bezpośrednio z usługami bezpieczeństwa AWS o współodpowiedzialności, takimi jak:
- Application Load Balancer (ALB) do zarządzania ruchem zewnętrznym
- Menedżer certyfikatów AWS (ACM) do obsługi protokołu TLS
- Role uprawnień dla kont usługi (IRSA) do precyzyjnej kontroli dostępu na poziomie Kubernetes Pod
- Usługa zarządzania kluczami AWS (AWS KMS) do zarządzania kluczami szyfrowania danych
- Tarcza AWS do ochrony przed atakami DDoS
W tej sekcji skupimy się na integracji platformy kontrolnej AWS Kubeflow z Amazon Cognito. Amazon Cognito eliminuje potrzebę zarządzania i utrzymywania natywnego rozwiązania Dex (dostawca open-source OpenID Connect (OIDC) wspierany przez lokalny LDAP) do uwierzytelniania użytkowników i ułatwia zarządzanie kluczami tajnymi.
Możesz także użyć Amazon Cognito, aby szybko i łatwo dodać rejestrację użytkownika, logowanie i kontrolę dostępu do interfejsu użytkownika Kubeflow. Amazon Cognito skaluje się do milionów użytkowników i obsługuje logowanie z dostawcami tożsamości społecznościowych (IdP), takimi jak Facebook, Google i Amazon, oraz korporacyjnymi dostawcami tożsamości za pośrednictwem SAML 2.0. Zmniejsza to złożoność konfiguracji Kubeflow, czyniąc ją odchudzoną pod względem operacyjnym i łatwiejszą w obsłudze w celu osiągnięcia izolacji wielu użytkowników.
Przyjrzyjmy się przepływowi uwierzytelniania wielu użytkowników z integracjami Amazon Cognito, ALB i ACM z Kubeflow na AWS. W ramach tej integracji istnieje kilka kluczowych komponentów. Amazon Cognito jest skonfigurowany jako dostawca tożsamości z wywołaniem zwrotnym uwierzytelniania skonfigurowanym do kierowania żądania do Kubeflow po uwierzytelnieniu użytkownika. W ramach konfiguracji Kubeflow tworzony jest zasób danych przychodzących Kubernetes do zarządzania ruchem zewnętrznym do usługi Istio Gateway. Kontroler ruchu przychodzącego AWS ALB udostępnia system równoważenia obciążenia dla tego ruchu przychodzącego. Używamy Amazon trasy 53 skonfigurować publiczny DNS dla zarejestrowanej domeny i utworzyć certyfikaty za pomocą ACM, aby włączyć uwierzytelnianie TLS w module równoważenia obciążenia.
Poniższy diagram przedstawia typowy przepływ pracy użytkownika polegający na logowaniu się do Amazon Cognito i przekierowaniu do Kubeflow w odpowiedniej przestrzeni nazw.
Przepływ pracy obejmuje następujące kroki:
- Użytkownik wysyła żądanie HTTPS do centralnego pulpitu nawigacyjnego Kubeflow hostowanego za modułem równoważenia obciążenia. Trasa 53 rozwiązuje nazwę FQDN na rekord aliasu ALB.
- Jeśli plik cookie nie istnieje, moduł równoważenia obciążenia przekierowuje użytkownika do punktu końcowego autoryzacji Amazon Cognito, aby Amazon Cognito mógł uwierzytelnić użytkownika.
- Po uwierzytelnieniu użytkownika Amazon Cognito odsyła go z powrotem do modułu równoważenia obciążenia z kodem przyznania autoryzacji.
- Moduł równoważenia obciążenia przedstawia kod przyznania autoryzacji punktowi końcowemu tokenu Amazon Cognito.
- Po otrzymaniu ważnego kodu przyznania autoryzacji, Amazon Cognito dostarcza token ID i token dostępu do load balancera.
- Po pomyślnym uwierzytelnieniu użytkownika przez system równoważenia obciążenia wysyła token dostępu do punktu końcowego informacji o użytkowniku Amazon Cognito i otrzymuje roszczenia użytkowników. Moduł równoważenia obciążenia podpisuje i dodaje oświadczenia użytkownika do nagłówka HTTP
x-amzn-oidc-*
w formacie żądania tokena internetowego JSON (JWT). - Żądanie z modułu równoważenia obciążenia jest wysyłane do modułu Istio Ingress Gateway.
- Używając filtra wysłannika, Istio Gateway dekoduje pliki
x-amzn-oidc-data
wartość, pobiera pole adresu e-mail i dodaje niestandardowy nagłówek HTTPkubeflow-userid
, który jest używany przez warstwę autoryzacji Kubeflow. - Zasady kontroli dostępu oparte na zasobach Istio są stosowane do przychodzącego żądania w celu sprawdzenia poprawności dostępu do pulpitu nawigacyjnego Kubeflow. Jeśli którykolwiek z nich jest niedostępny dla użytkownika, odpowiedź o błędzie jest odsyłana. Jeśli żądanie zostanie zweryfikowane, zostanie przekazane do odpowiedniej usługi Kubeflow i zapewni dostęp do pulpitu nawigacyjnego Kubeflow
Trwałe przechowywanie metadanych komponentów Kubeflow i artefaktów za pomocą Amazon RDS i Amazon S3
Kubeflow na AWS zapewnia integrację z Usługa relacyjnych baz danych Amazon (Amazon RDS) w Kubeflow Pipelines i AutoML (Sekretarz) do trwałego przechowywania metadanych oraz Amazon S3 w Kubeflow Pipelines do trwałego przechowywania artefaktów. Kontynuujmy bardziej szczegółowe omawianie potoków Kubeflow.
Kubeflow Pipelines to platforma do tworzenia i wdrażania przenośnych, skalowalnych przepływów pracy ML. Te przepływy pracy mogą pomóc zautomatyzować złożone potoki ML przy użyciu wbudowanych i niestandardowych komponentów Kubeflow. Kubeflow Pipelines zawiera Python SDK, kompilator DSL do konwersji kodu Pythona na konfigurację statyczną, usługę Pipelines, która uruchamia potoki z konfiguracji statycznej, oraz zestaw kontrolerów do uruchamiania kontenerów w Kubernetes Pods potrzebnych do ukończenia potoku.
Metadane Kubeflow Pipelines dla eksperymentów i uruchomień potoków są przechowywane w MySQL, a artefakty, w tym pakiety potoków i metryki, są przechowywane w MinIO.
Jak pokazano na poniższym diagramie, Kubeflow w AWS umożliwia przechowywanie następujących komponentów w usługach zarządzanych przez AWS:
- Metadane potoku w Amazon RDS – Amazon RDS zapewnia skalowalną, wysoce dostępną i niezawodną architekturę wdrażania Multi-AZ z wbudowanym automatycznym mechanizmem przełączania awaryjnego i zmienną pojemnością dla standardowej w branży relacyjnej bazy danych, takiej jak MySQL. Zarządza typowymi zadaniami administrowania bazą danych bez konieczności udostępniania infrastruktury lub utrzymywania oprogramowania.
- Artefakty potoku w Amazon S3 – Amazon S3 oferuje wiodącą w branży skalowalność, dostępność danych, bezpieczeństwo i wydajność i może być wykorzystany do spełnienia Twoich wymagania dotyczące zgodności.
Te integracje pomagają odciążyć zarządzanie i konserwację przechowywania metadanych i artefaktów z samodzielnie zarządzanego Kubeflow do usług zarządzanych AWS, które są łatwiejsze w konfiguracji, obsłudze i skalowaniu.
Wsparcie dla rozproszonych systemów plików z Amazon EFS i Amazon FSx
Kubeflow opiera się na Kubernetes, który zapewnia infrastrukturę do rozproszonego przetwarzania danych na dużą skalę, w tym szkolenia i dostrajania dużych modeli z głęboką siecią z milionami, a nawet miliardami parametrów. Aby wspierać takie rozproszone systemy przetwarzania danych ML, Kubeflow na AWS zapewnia integrację z następującymi usługami przechowywania:
- Amazon EFS – Wysokowydajny, natywny dla chmury, rozproszony system plików, którym można zarządzać za pomocą aplikacji Sterownik Amazon EFS CSI. Amazon EFS zapewnia
ReadWriteMany
tryb dostępu, a teraz możesz go używać do montowania w podach (Jupyter, szkolenie modeli, dostrajanie modeli) działających na płaszczyźnie danych Kubeflow, aby zapewnić trwały, skalowalny i możliwy do współdzielenia obszar roboczy, który automatycznie rośnie i zmniejsza się w miarę dodawania i usuwania plików z nie ma potrzeby zarządzania. - Amazon FSx dla Luster – Zoptymalizowany system plików do zadań intensywnie korzystających z mocy obliczeniowej, takich jak wysokowydajne przetwarzanie i uczenie maszynowe, którym można zarządzać za pomocą Sterownik Amazon FSx CSI. FSx dla Lustre zapewnia
ReadWriteMany
tryb dostępu i możesz go używać do buforowania danych treningowych z bezpośrednim połączeniem z Amazon S3 jako magazynem zapasowym, którego możesz użyć do obsługi serwerów notebooków Jupyter lub rozproszonego szkolenia działającego w płaszczyźnie danych Kubeflow. Dzięki tej konfiguracji nie trzeba przesyłać danych do systemu plików przed użyciem woluminu. FSx for Luster zapewnia spójne opóźnienia poniżej milisekundy i wysoką współbieżność oraz skalowalność do TB/s przepustowości i milionów IOPS.
Opcje wdrażania Kubeflow
AWS zapewnia różne opcje wdrażania Kubeflow:
- Wdrożenie z Amazon Cognito
- Wdrożenie z Amazon RDS i Amazon S3
- Wdrożenie z Amazon Cognito, Amazon RDS i Amazon S3
- Wdrożenie waniliowe
Aby uzyskać szczegółowe informacje na temat integracji usług i dostępnych dodatków dla każdej z tych opcji, patrz Opcje wdrażania. Możesz dopasować opcję, która najlepiej pasuje do Twojego przypadku użycia.
W poniższej sekcji omówimy kroki instalacji dystrybucji AWS Kubeflow v1.4 na Amazon EKS. Następnie używamy istniejącego przykładu potoku XGBoost dostępnego na pulpicie nawigacyjnym centralnego interfejsu użytkownika Kubeflow, aby zademonstrować integrację i wykorzystanie AWS Kubeflow z Amazon Cognito, Amazon RDS i Amazon S3, z Secrets Manager jako dodatkiem.
Wymagania wstępne
W tej instrukcji należy spełnić następujące wymagania wstępne:
- An Konto AWS.
- Istniejący klaster Amazon EKS. Powinien to być Kubernetes w wersji 1.19 lub nowszej. Do automatycznego tworzenia klastrów przy użyciu wyłącz, Patrz Utwórz klaster Amazon EKS i użyj opcji eksctl.
Zainstaluj następujące narzędzia na komputerze klienckim używanym do uzyskiwania dostępu do klastra Kubernetes. Możesz użyć Chmura AWS9, oparte na chmurze zintegrowane środowisko programistyczne (IDE) do konfiguracji klastra Kubernetes.
- Interfejs wiersza poleceń AWS (AWS CLI) — narzędzie wiersza poleceń do interakcji z usługami AWS. Aby uzyskać instrukcje instalacji, patrz Instalowanie, aktualizowanie i odinstalowywanie interfejsu wiersza polecenia AWS.
- wyłącz > 0.56 – Narzędzie wiersza poleceń do pracy z klastrami Amazon EKS, które automatyzuje wiele indywidualnych zadań.
- kubectl – Narzędzie wiersza poleceń do pracy z klastrami Kubernetes.
- odrzutowiec – Rozproszone oprogramowanie do kontroli wersji.
- Pythona 3.8+ – Środowisko programistyczne Pythona.
- pypeć – Menedżer pakietów dla Pythona.
- dostosować wersję 3.2.0 – Narzędzie wiersza poleceń do dostosowywania obiektów Kubernetes za pomocą pliku kustomizacji.
Zainstaluj Kubeflow na AWS
Skonfiguruj kubectl, aby móc połączyć się z klastrem Amazon EKS:
Używane są różne kontrolery we wdrożeniu Kubeflow Role uprawnień dla kont usługi (IRSA). Aby Twój klaster mógł używać IRSA, musi istnieć dostawca OIDC. Utwórz dostawcę OIDC i powiąż go z klastrem Amazon EKS, uruchamiając następujące polecenie, jeśli klaster jeszcze go nie ma:
Sklonuj repozytorium manifestów AWS i repozytorium manifestów Kubeflow i sprawdź odpowiednie gałęzie wydań:
Aby uzyskać więcej informacji na temat tych wersji, zobacz Wydania i wersjonowanie.
Skonfiguruj Amazon RDS, Amazon S3 i Secrets Manager
Tworzysz zasoby Amazon RDS i Amazon S3 przed wdrożeniem manifestów Kubeflow. Używamy zautomatyzowanych skryptów Pythona, które zajmują się tworzeniem zasobnika S3, bazy danych RDS i wymaganych sekretów w Secrets Manager. Edytuje również wymagane pliki konfiguracyjne dla potoku Kubeflow i AutoML, aby były poprawnie skonfigurowane dla bazy danych RDS i zasobnika S3 podczas instalacji Kubeflow.
Utwórz użytkownika IAM z uprawnieniami do zezwalania GetBucketLocation
oraz dostęp do odczytu i zapisu do obiektów w zasobniku S3, w którym chcesz przechowywać artefakty Kubeflow. Użyj AWS_ACCESS_KEY_ID
i AWS_SECRET_ACCESS_KEY
użytkownika IAM w następującym kodzie:
Skonfiguruj Amazon Cognito jako dostawcę uwierzytelniania
W tej sekcji tworzymy domenę niestandardową w Route 53 i ALB, aby kierować ruch zewnętrzny do Kubeflow Istio Gateway. Używamy ACM do tworzenia certyfikatu umożliwiającego uwierzytelnianie TLS w ALB i Amazon Cognito do utrzymywania puli użytkowników i zarządzania uwierzytelnianiem użytkowników.
Zastąp następujące wartości w
- trasa53.rootDomain.name – Zarejestrowana domena. Załóżmy, że jest to domena
example.com
. - trasa53.rootDomain.hostedZoneId – Jeśli Twoja domena jest zarządzana w Route53, wprowadź identyfikator strefy hostowanej, który można znaleźć w szczegółach strefy hostowanej. Pomiń ten krok, jeśli Twoja domena jest zarządzana przez innego dostawcę domen.
- trasa53.nazwa.subdomeny – Nazwa subdomeny, w której chcesz hostować Kubeflow (np.
platform.example.com
). Aby uzyskać więcej informacji na temat subdomen, zobacz Wdrażanie Kubeflow z AWS Cognito jako IdP. - klaster.nazwa – Nazwa klastra i miejsce wdrożenia Kubeflow.
- klaster.region – Region klastra, w którym wdrożono Kubeflow (np.
us-west-2
). - cognitoNazwa puli użytkowników – Nazwa puli użytkowników Amazon Cognito (np.
kubeflow-users
).
Plik konfiguracyjny wygląda podobnie do następującego kodu:
Uruchom skrypt, aby utworzyć zasoby:
Skrypt aktualizuje plik config.yaml
plik z nazwami zasobów, identyfikatorami i ARN, które utworzył. Wygląda to mniej więcej tak, jak poniższy kod:
Twórz manifesty i wdrażaj Kubeflow
Wdróż Kubeflow za pomocą następującego polecenia:
Zaktualizuj domenę o adres ALB
Wdrożenie tworzy system równoważenia obciążenia aplikacji AWS zarządzany przez ruch przychodzący. Aktualizujemy wpisy DNS dla subdomeny w Route 53 o DNS systemu równoważenia obciążenia. Uruchom następujące polecenie, aby sprawdzić, czy system równoważenia obciążenia jest obsługiwany (zajmuje to około 3–5 minut):
Jeśli ADDRESS
pole jest puste po kilku minutach, sprawdź dzienniki alb-ingress-controller
. Aby uzyskać instrukcje, zobacz ALB nie udostępnia.
Po udostępnieniu modułu równoważenia obciążenia skopiuj nazwę DNS modułu równoważenia obciążenia i zastąp go adresem kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. Sekcja Kubeflow pliku konfiguracyjnego wygląda jak następujący kod:
Uruchom następujący skrypt, aby zaktualizować wpisy DNS dla subdomeny w Route 53 przy użyciu DNS udostępnionego modułu równoważenia obciążenia:
Rozwiązywanie problemów
Jeśli napotkasz jakiekolwiek problemy podczas instalacji, zapoznaj się z sekcją podręcznik rozwiązywania problemów lub zacznij od nowa, postępując zgodnie z sekcją „Porządkowanie” na tym blogu.
Opis przypadku użycia
Teraz, gdy zakończyliśmy instalowanie wymaganych składników Kubeflow, zobaczmy je w akcji, korzystając z jednego z istniejących przykładów dostarczonych przez Kubeflow Pipelines na pulpicie nawigacyjnym.
Uzyskaj dostęp do pulpitu nawigacyjnego Kubeflow za pomocą Amazon Cognito
Aby rozpocząć, uzyskajmy dostęp do pulpitu nawigacyjnego Kubeflow. Ponieważ jako dostawcy tożsamości użyliśmy Amazon Cognito, skorzystaj z informacji zawartych w oficjalny plik README. Najpierw tworzymy niektórych użytkowników na konsoli Amazon Cognito. Są to użytkownicy, którzy będą logować się do centralnego pulpitu nawigacyjnego. Następny, utwórz profil dla utworzonego użytkownika. Następnie powinieneś mieć dostęp do pulpitu nawigacyjnego za pośrednictwem strony logowania pod adresem https://kubeflow.platform.example.com.
Poniższy zrzut ekranu przedstawia nasz pulpit nawigacyjny Kubeflow.
Uruchom rurociąg
Na pulpicie nawigacyjnym Kubeflow wybierz Rurociągi w nazwie nawigacji. Powinieneś zobaczyć cztery przykłady dostarczone przez Kubeflow Pipelines, które możesz uruchomić bezpośrednio, aby poznać różne funkcje Pipelines.
W tym poście używamy próbki XGBoost o nazwie [Demo] XGBoost — iteracyjne szkolenie modelu. Możesz znaleźć kod źródłowy na GitHub. Jest to prosty potok, który wykorzystuje istniejący XGBoost/Train
i XGBoost/Predict
Komponenty potoku Kubeflow do iteracyjnego uczenia modelu, dopóki metryki nie zostaną uznane za dobre na podstawie określonych metryk.
Aby uruchomić potok, wykonaj następujące kroki:
- Wybierz potok i wybierz Utwórz eksperyment.
- Pod Szczegóły eksperymentu, wpisz nazwę (dla tego posta,
demo-blog
) i opcjonalny opis. - Dodaj Następna.
- Pod Uruchom szczegóły¸ wybierz potok i wersję potoku.
- W razie zamówieenia projektu Nazwa biegu, Wpisz imię.
- W razie zamówieenia projektu Eksperyment, wybierz utworzony przez siebie eksperyment.
- W razie zamówieenia projektu Typ biegu, Wybierz Jednorazowe.
- Dodaj Start.
Po rozpoczęciu działania potoku powinno zostać wyświetlone ukończenie składników (w ciągu kilku sekund). Na tym etapie możesz wybrać dowolny z gotowych komponentów, aby zobaczyć więcej szczegółów.
Uzyskaj dostęp do artefaktów w Amazon S3
Podczas wdrażania Kubeflow określiliśmy, że Kubeflow Pipelines powinien używać Amazon S3 do przechowywania swoich artefaktów. Obejmuje to wszystkie artefakty wyjściowe potoku, przebiegi w pamięci podręcznej i wykresy potoku — z których wszystkie można następnie wykorzystać do rozbudowanych wizualizacji i oceny wydajności.
Po zakończeniu uruchamiania potoku powinieneś być w stanie zobaczyć artefakty w zasobniku S3 utworzonym podczas instalacji. Aby to potwierdzić, wybierz dowolny ukończony element potoku i sprawdź plik Wejście wyjście sekcja dotycząca wartości domyślnych Wykres patka. Adresy URL artefaktów powinny wskazywać zasobnik S3 określony podczas wdrażania.
Aby potwierdzić, że zasoby zostały dodane do Amazon S3, możemy również sprawdzić wiadro S3 na naszym koncie AWS za pośrednictwem konsoli Amazon S3.
Poniższy zrzut ekranu pokazuje nasze pliki.
Sprawdź metadane ML w Amazon RDS
Zintegrowaliśmy również Kubeflow Pipelines z Amazon RDS podczas wdrażania, co oznacza, że wszelkie metadane rurociągu powinny być przechowywane w Amazon RDS. Obejmuje to wszelkie informacje o czasie wykonywania, takie jak stan zadania, dostępność artefaktów, niestandardowe właściwości skojarzone z przebiegiem lub artefaktami i inne.
Aby zweryfikować integrację Amazon RDS, wykonaj czynności opisane w oficjalny plik README. W szczególności wykonaj następujące kroki:
- Uzyskaj nazwę użytkownika i hasło Amazon RDS z klucza tajnego utworzonego podczas instalacji:
- Użyj tych poświadczeń, aby połączyć się z Amazon RDS z poziomu klastra:
- Kiedy otworzy się monit MySQL, możemy zweryfikować
mlpipelines
bazę danych w następujący sposób: - Teraz możemy odczytać zawartość określonych tabel, aby upewnić się, że możemy zobaczyć metadane dotyczące eksperymentów, które uruchomiły potoki:
Sprzątać
Aby odinstalować Kubeflow i usunąć utworzone zasoby AWS, wykonaj następujące kroki:
- Usuń moduł równoważenia obciążenia zarządzany przez ruch przychodzący i ruch przychodzący, uruchamiając następujące polecenie:
- Usuń pozostałe komponenty Kubeflow:
- Usuń zasoby AWS utworzone przez skrypty:
- Zasoby stworzone na potrzeby integracji Amazon RDS i Amazon S3. Upewnij się, że masz plik konfiguracyjny utworzony przez skrypt
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Zasoby stworzone na potrzeby integracji Amazon Cognito. Upewnij się, że masz plik konfiguracyjny utworzony przez skrypt
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Zasoby stworzone na potrzeby integracji Amazon RDS i Amazon S3. Upewnij się, że masz plik konfiguracyjny utworzony przez skrypt
- Jeśli utworzyłeś dedykowany klaster Amazon EKS dla Kubeflow za pomocą eksctl, możesz go usunąć za pomocą następującego polecenia:
Podsumowanie
W tym poście podkreśliliśmy wartość, jaką Kubeflow w AWS zapewnia dzięki natywnym integracjom usług zarządzanych przez AWS na potrzeby bezpiecznych, skalowalnych i gotowych do zastosowania w przedsiębiorstwach obciążeń AI i ML. Możesz wybrać jedną z kilku opcji wdrażania, aby zainstalować Kubeflow na AWS z różnymi integracjami usług. Przypadek użycia w tym poście zademonstrował integrację Kubeflow z Amazon Cognito, Secrets Manager, Amazon RDS i Amazon S3. Aby rozpocząć korzystanie z Kubeflow w AWS, zapoznaj się z dostępnymi opcjami wdrażania zintegrowanego z AWS w Kubeflow w AWS.
Począwszy od wersji 1.3, możesz śledzić Repozytorium AWS Labs do śledzenia wszystkich wkładów AWS do Kubeflow. Możesz nas również znaleźć na Kanał Kubeflow #AWS Slack; Twoja opinia pomoże nam ustalić priorytety dla kolejnych funkcji, które wniosą wkład do projektu Kubeflow.
O autorach
Kanwaljit Khurmi jest specjalistą ds. rozwiązań AI/ML w Amazon Web Services. Pracuje z produktem AWS, inżynierią i klientami, aby zapewnić wskazówki i pomoc techniczną, pomagając im poprawić wartość ich hybrydowych rozwiązań ML podczas korzystania z AWS. Kanwaljit specjalizuje się w pomaganiu klientom w aplikacjach kontenerowych i uczących się maszynowo.
Meghna Baijal jest inżynierem oprogramowania z AWS AI, który ułatwia użytkownikom wdrażanie ich zadań uczenia maszynowego do AWS poprzez tworzenie produktów i platform ML, takich jak Deep Learning Containers, Deep Learning AMI, AWS Controllers for Kubernetes (ACK) i Kubeflow on AWS . Poza pracą lubi czytać, podróżować i bawić się malarstwem.
Suraj Kota jest inżynierem oprogramowania specjalizującym się w infrastrukturze uczenia maszynowego. Tworzy narzędzia ułatwiające rozpoczęcie pracy i skalowanie obciążenia uczenia maszynowego w AWS. Pracował nad kontenerami AWS Deep Learning, Deep Learning AMI, operatorami SageMaker dla Kubernetes i innymi integracjami open source, takimi jak Kubeflow.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- O nas
- dostęp
- Konto
- Działania
- Dodatek
- adres
- Admin
- administracja
- Spółki stowarzyszone
- AI
- Wszystkie kategorie
- już
- Amazonka
- Amazon Web Services
- Inne
- Zastosowanie
- aplikacje
- właściwy
- architektura
- na około
- Współpracownik
- uwierzytelniony
- uwierzytelnia
- Uwierzytelnianie
- autoryzacja
- zautomatyzować
- zautomatyzowane
- automaty
- dostępność
- dostępny
- AWS
- stają się
- Korzyści
- BEST
- miliardy
- Blog
- granica
- budować
- Budowanie
- Buduje
- wbudowany
- możliwości
- Pojemność
- który
- Etui
- CD
- świadectwo
- certyfikaty
- wyzwanie
- Koszyk
- Dodaj
- roszczenia
- klasa
- kod
- wspólny
- wypełniając
- kompleks
- składnik
- komputer
- computing
- systemu
- Skontaktuj się
- Łączność
- Konsola
- Pojemniki
- zawiera
- zawartość
- kontynuować
- przyczynić się
- kontrola
- kontroler
- prawo autorskie
- mógłby
- Stwórz
- stworzony
- tworzy
- Tworzenie
- tworzenie
- Listy uwierzytelniające
- krytyczny
- zwyczaj
- Klientów
- tablica rozdzielcza
- dane
- analiza danych
- nauka danych
- Baza danych
- DDoS
- dedykowane
- Kreowanie
- wykazać
- wykazać
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- wdrożenia
- wdraża się
- Wnętrze
- detal
- detale
- oprogramowania
- Dex
- różne
- kierować
- bezpośrednio
- dyskutować
- dystrybuowane
- 分配
- dns
- Nie
- domena
- z łatwością
- łatwy w użyciu
- przegapić
- umożliwiać
- szyfrowanie
- Punkt końcowy
- inżynier
- Inżynieria
- Wchodzę
- Enterprise
- Środowisko
- ewaluację
- wydarzenie
- przykład
- Przede wszystkim system został opracowany
- doświadczenie
- eksperyment
- odkryj
- Brak
- Korzyści
- informacja zwrotna
- budżetowy
- i terminów, a
- dopasować
- pływ
- Skupiać
- koncentruje
- obserwuj
- następujący
- format
- znaleziono
- świeży
- miejsce
- git
- GitHub
- dobry
- Rosnąć
- Rozwój
- pomoc
- pomoc
- pomaga
- tutaj
- Wysoki
- wyższy
- Podświetlony
- wysoko
- Hosting
- HTTPS
- Hybrydowy
- tożsamość
- Rezultat
- wdrożenia
- podnieść
- Inc
- obejmuje
- Włącznie z
- wzrosła
- indywidualny
- wiodący w branży
- Informacje
- Informacja
- Infrastruktura
- zainstalować
- zintegrowany
- integracja
- integracje
- inwestowanie
- izolacja
- problemy
- IT
- samo
- Oferty pracy
- konserwacja
- Klawisz
- Labs
- język
- duży
- uruchomiona
- nauka
- Modernizacja
- Linia
- załadować
- miejscowy
- maszyna
- uczenie maszynowe
- utrzymać
- WYKONUJE
- Dokonywanie
- zarządzanie
- zarządzane
- i konserwacjami
- kierownik
- Metryka
- miliony
- ML
- model
- modele
- monitorowanie
- jeszcze
- większość
- Nazwy
- Naturalny
- Nawigacja
- netto
- sieć
- węzły
- notatnik
- numer
- Oferty
- koncepcja
- open source
- otwiera
- operatorzy
- zoptymalizowane
- Option
- Opcje
- Inne
- własny
- Hasło
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- Platforma
- Platformy
- punkt
- polityka
- basen
- teraźniejszość
- priorytet
- przetwarzanie
- Produkt
- Produkty
- Programowanie
- projekt
- chronić
- zapewniać
- zapewnia
- że
- publiczny
- szybko
- dosięgnąć
- Czytający
- Przyczyny
- rekord
- zarejestrowany
- zwolnić
- zażądać
- wymagany
- wymagania
- Zasób
- Zasoby
- odpowiedź
- REST
- Trasa
- run
- bieganie
- Skalowalność
- skalowalny
- Skala
- skalowaniem
- nauka
- Sdk
- SEK
- sekund
- bezpieczne
- bezpieczeństwo
- Bezserwerowe
- usługa
- Usługi
- zestaw
- ustawienie
- Akcje
- znaki
- Prosty
- Rozmiar
- luźny
- spać
- So
- Obserwuj Nas
- Tworzenie
- Software Engineer
- solidny
- rozwiązanie
- Rozwiązania
- kilka
- coś
- Kod źródłowy
- specjalista
- wyspecjalizowanym
- specjalizuje się
- swoiście
- STAGE
- początek
- rozpoczęty
- rozpocznie
- Stan
- Rynek
- przechowywanie
- sklep
- Z powodzeniem
- wsparcie
- podpory
- system
- systemy
- zadania
- Techniczny
- Źródło
- Przez
- czas
- żeton
- narzędzie
- narzędzia
- Top
- śledzić
- ruch drogowy
- Trening
- przenieść
- Tłumaczenie
- transportu
- Podróżowanie
- ui
- Aktualizacja
- Nowości
- us
- posługiwać się
- Użytkownicy
- zatwierdzony
- wartość
- różnorodność
- różnorodny
- zweryfikować
- wizja
- Tom
- sieć
- usługi internetowe
- KIM
- w ciągu
- bez
- Praca
- pracował
- pracujący
- działa