Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Container Apps w środowisku Kubernetes z obsługą usługi Azure Arc umożliwiają uruchamianie obciążeń usługi Container Apps w obsługiwanej infrastrukturze Kubernetes poza centrami danych platformy Azure, w tym usługi AKS w Azure lokalnie. Zarządzasz aplikacjami jako zasobami Azure, podczas gdy kontenery aplikacji i data plan Container Apps działają na klastrze Kubernetes.
Uruchamianie aplikacji kontenerowych na Azure Arc może Ci pomóc:
- Uruchamiaj aplikacje blisko użytkowników, urządzeń lub lokalnych źródeł danych, aby zmniejszyć opóźnienia.
- Utrzymuj przetwarzanie aplikacji w miejscu, które wspiera rezydencję danych, suwerenność lub wymagania zgodności Twojej organizacji.
- Daj zespołom aplikacyjnym model aplikacji Container Apps, podczas gdy zespoły infrastrukturalne zachowują kontrolę nad klastrem Kubernetes, siecią, pamięcią masową, pojemnością i cyklem życia.
- Zarządzaj aplikacjami w obsługiwanych lokalizacjach za pomocą Azure Resource Manager, Azure CLI oraz portalu Azure.
- Korzystaj z obsługiwanych funkcji aplikacji kontenerowych, takich jak wersje, wejście, autoskalowanie, Dapr, zadania, metryki, streaming logów, domeny niestandardowe oraz dostęp do konsoli aplikacji.
Container Apps on Azure Arc to nie jest hostowana usługa obliczeniowa. Twoja organizacja dostarcza, zabezpiecza, skaluje, łata i obsługuje bazowy klaster Kubernetes oraz jego zasoby obliczeniowe, sieciowe i magazynowe.
Aby przygotować klaster i wdrożyć swoją pierwszą aplikację, ukończ Skonfiguruj klaster Kubernetes z funkcją Azure Arc, aby uruchomić Azure Container Apps, a następnie wyrób Stwórz aplikację kontenerową w Azure Arc.
Podczas konfiguracji klastra tworzysz lub używasz następujących zasobów:
Połączony klaster: Reprezentacja klastra Kubernetes w usłudze Azure Resource Manager. Agenci Azure Arc działający w klastrze utrzymują połączenie z Azure. Aby uzyskać więcej informacji, zobacz Co to jest platforma Kubernetes z obsługą usługi Azure Arc?
Rozszerzenie klastra Container Apps: Oprogramowanie zainstalowane w klastrze, które zapewnia kontrolery Container Apps, wejście, skalowanie, Dapr, logowanie i inne komponenty płaszczyzny danych. Rozszerzenie jest zasobem podrzędnym połączonego klastra.
Lokalizacja niestandardowa: Zasób lokalizacji Azure, który łączy połączony klaster, rozszerzenie Container Apps oraz przestrzeń nazw Kubernetes, gdzie tworzone są zasoby Container Apps.
Środowisko połączone z aplikacjami kontenerowymi: Granica aplikacji, na którą deweloperzy wdrażają aplikacje kontenerowe i zlecenia. Połączone środowisko odnosi się do lokalizacji niestandardowej i zawiera konfigurację współdzieloną przez aplikacje.
Kolejność zależności to: połączony klaster > , rozszerzenie > klastra, niestandardowa lokalizacja > , połączone środowisko > , kontener lub zadanie. Jeśli wcześniejszy zasób jest niezdrowy, zasoby później w łańcuchu mogą nie zostać dostarczone.
Ograniczenia
Poniższe ograniczenia dotyczą Azure Container Apps na Kubernetes obsługującym Azure Arc.
| Ograniczenie | Szczegóły |
|---|---|
| Obsługiwane regiony platformy Azure | Australia Wschodnia, Azja Wschodnia, Wschodnia USA, Północno-Środkowa USA, Azja Południowo-Wschodnia, Szwecja Centralna, Wielka Brytania Południe, Europa Zachodnia, Zachodnia USA |
| Wymaganie dotyczące sieci klastra | Musi obsługiwać typ usługi LoadBalancer |
| Wymaganie dotyczące systemu operacyjnego Node | Tylko system Linux . |
| Funkcja: tożsamości zarządzane | Niedostępne |
| Funkcja: ściąganie obrazów z usługi ACR przy użyciu tożsamości zarządzanej | Niedostępne (zależy od tożsamości zarządzanych) |
| Funkcja: Azure Files | Sterownik SMB (>= v1.18.0) powinien być zainstalowany przed użyciem pamięci SMB w Azure Files |
| Dzienniki | Należy skonfigurować usługę Log Analytics z rozszerzeniem klastra, a nie dla każdej aplikacji osobno. |
Obsługiwane są następujące funkcje:
- Etykiety
- Wskaźniki
- Łatwe uwierzytelnianie
- Strumień logu
- Odporność
- Domeny niestandardowe
- Zadania usługi Container Apps
- Zarządzanie poprawkami
- Konsola kontenera aplikacji
Ważne
Zanim zainstalujesz rozszerzenie na AKS w Azure lokalnie, skonfiguruj HAProxy lub inny obsługiwany load balancer i skonfiguruj niestandardowy CoreDNS. Aby skonfigurować CoreDNS for AKS na Azure lokalnie, uruchom az containerapp arc setup-core-dns --distro AksAzureLocal. Opcje poleceń można znaleźć w az containerapp arc.
Zasoby utworzone przez rozszerzenie Container Apps
Po zainstalowaniu rozszerzenia Container Apps w klastrze Kubernetes obsługującym Azure Arc, kilka zasobów jest tworzonych w określonej przestrzeni nazw dla wydania. Te zasoby umożliwiają klastrowi rozszerzenie Microsoft.App dostawcy zasobów, obsługując zarządzanie i działanie aplikacji.
Rozszerzenie może instalować komponenty KEDA używane do skalowania sterowanego zdarzeniami i skalowania HTTP. W klastrze może działać tylko jedna obsługiwana instalacja KEDA. Przed instalacją uruchom kubectl get deployment -A | grep -i keda, aby sprawdzić, czy istnieje już instalacja. Jeśli KEDA już istnieje, zatrzymaj się i potwierdź obsługiwaną konfigurację współistnienia przed kontynuacją. Nie usuwaj istniejącej instalacji KEDA ani nie stosuj ustawień nieudokumentowanych rozszerzeń, bo inne obciążenia mogą od tego zależeć.
Poniższa tabela opisuje rolę każdego komponentu rozszerzenia stworzonego dla Ciebie:
| Strączek | opis | Liczba wystąpień | CPU | Pamięć | Typ |
|---|---|---|---|---|---|
<extensionName>-k8se-activator |
Używany jako część procesu skalowania | 2 | 100 milicpu | 500 MB | Zestaw replik |
<extensionName>-k8se-billing |
Generowanie rekordów rozliczeniowych | 3 | 100 milicpu | 100 MB | Zestaw replik |
<extensionName>-k8se-containerapp-controller |
Zasobnik operatora podstawowego, który tworzy zasoby w klastrze i utrzymuje stan składników. | 2 | 100 milicpu | 1 GB | Zestaw replik |
<extensionName>-k8se-envoy |
Warstwa proxy front-endowa dla wszystkich żądań HTTP warstwy danych. Kieruje ruch przychodzący do odpowiednich aplikacji. | 3 | 1 rdzeń | 1536 MB | Zestaw replik |
<extensionName>-k8se-envoy-controller |
Operator, który generuje konfigurację aplikacji Envoy | 2 | 200 milicpu | 500 MB | Zestaw replik |
<extensionName>-k8se-event-processor |
Alternatywna lokalizacja docelowa routingu, która ułatwia aplikacjom skalowanym do zera, podczas gdy system pobiera pierwsze dostępne wystąpienie. | 2 | 100 milicpu | 500 MB | Zestaw replik |
<extensionName>-k8se-http-scaler |
Monitoruje wolumen przychodzących żądań, aby dostarczać informacji o skalowaniu do KEDA. | 1 | 100 milicpu | 500 MB | Zestaw replik |
<extensionName>-k8se-keda-cosmosdb-scaler |
Skaler KEDA Cosmos DB | 1 | 10 m | 128 MB | Zestaw replik |
<extensionName>-k8se-keda-metrics-apiserver |
Serwer metryk KEDA | 1 | 1 rdzeń | 1000 MB | Zestaw replik |
<extensionName>-k8se-keda-operator |
Skaluje obciążenia w górę i w dół od 0/1 do N instancji | 1 | 100 milicpu | 500 MB | Zestaw replik |
<extensionName>-k8se-log-processor |
Zbiera dzienniki z aplikacji i innych składników i wysyła je do usługi Log Analytics. | 2 | 200 milicpu | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agent metryk i dzienników | 2 | 500 milicpu | 500 MB | Zestaw replik |
| dapr-metrics | Moduł metryk Dapr | 1 | 100 milicpu | 500 MB | Zestaw replik |
| dapr-operator | Zarządza aktualizacjami składników i punktami końcowymi usługi dla platformy Dapr | 1 | 100 milicpu | 500 MB | Zestaw replik |
| dapr-placement-server | Używane tylko dla aktorów — tworzy tabele mapowania wystąpień aktora na zasobniki | 1 | 100 milicpu | 500 MB | StatefulSet |
| dapr-sentry | Zarządza mTLS pomiędzy usługami i działa jako urząd który wystawia certyfikaty | 2 | 800 milicpu | 200 MB | Zestaw replik |
Często zadawane pytania dotyczące usługi Azure Container Apps w usłudze Azure Arc
- Usługa Azure Container Apps w usłudze Azure Arc
Które funkcje usługi Container Apps są obsługiwane?
Udokumentowany status wsparcia i wymagania wstępne każdej funkcji można znaleźć w sekcji Ograniczenia. Portal Azure wyłącza także kontrole, które nie są dostępne w środowisku połączonym. Wsparcie może zależeć od zainstalowanej wersji rozszerzenia, więc sprawdź notatki dotyczące wydania rozszerzenia przed użyciem niedawno dodanej funkcji.
Czy są obsługiwane tożsamości zarządzane?
Nie. Nie możesz przypisać tożsamości zarządzanej ani aplikacji kontenerowej, ani zadaniu w środowisku połączonym. Uwierzytelnianie za pomocą tożsamości zarządzanej podczas pobierania obrazów z usługi Azure Container Registry również jest niedostępne.
Jeśli aplikacja musi uwierzytelnić się do zasobu Azure, użyj aplikacji Microsoft Entra i service principal:
- Utwórz lub zidentyfikuj rejestrację aplikacji.
- Przypisz jej jednostce usługi tylko tę rolę platformy Azure, która jest wymagana przez aplikację.
- Zapisz dane jako sekret Container Apps.
- Odwołuj się do sekretu za pomocą zmiennych środowiskowych w aplikacji.
- Ustal proces rotacji uprawnień.
Aby uzyskać więcej informacji, zobacz Application and service principal objects in Microsoft Entra ID (Obiekty aplikacji i jednostki usługi w usłudze Microsoft Entra ID). Unikaj osadzania danych uwierzytelniających w obrazie lub repozytorium źródłowym.
Czy istnieją limity skalowania?
Aplikacje kontenerowe i zlecenia mogą skalować się tylko w ramach przydzielalnego CPU, pamięci oraz specjalistycznych zasobów dostępnych w klastrze Kubernetes. Ustawienie maksymalnej liczby replik nie rezerwuje pojemności.
Gdy klaster nie ma pojemności, Kubernetes pozostawia nowe repliki w oczekiwaniu i aplikacja nie osiąga wymaganej liczby replik. Sprawdź ten warunek za pomocą:
kubectl get pods -n <APPS_NAMESPACE>
kubectl describe pod <PENDING_POD_NAME> -n <APPS_NAMESPACE>
kubectl get events -n <APPS_NAMESPACE> --sort-by=.lastTimestamp
Planuj pojemność klastra z uwzględnieniem komponentów rozszerzenia, maksymalnej liczby replik aplikacji, obciążeń systemu Kubernetes, aktualizacji stopniowych i awarii węzłów.
Jakie dzienniki są zbierane?
Dzienniki zarówno składników systemu, jak i aplikacji są zapisywane w standardowych danych wyjściowych.
Oba typy dzienników można zbierać do analizy przy użyciu standardowych narzędzi Kubernetes. Można również skonfigurować rozszerzenie klastra środowiska aplikacji za pomocą obszaru roboczego usługi Log Analytics i wysyła wszystkie dzienniki do tego obszaru roboczego.
Domyślnie dzienniki ze składników systemu są wysyłane do zespołu platformy Azure. Dzienniki aplikacji nie są wysyłane. Możesz zapobiec transferowi tych dzienników, ustawiając element logProcessor.enabled=false jako ustawienie konfiguracji rozszerzenia. To ustawienie konfiguracji wyłącza przekazywanie aplikacji do obszaru roboczego usługi Log Analytics. Wyłączenie procesora dziennika może wpłynąć na czas potrzebny na obsługę przypadków pomocy technicznej, a zostaniesz poproszony o zebranie dzienników ze standardowego wyjścia za pomocą innych środków.
Jak zainstalować sterownik SMB?
Sterownik SMB można zainstalować przy użyciu następującego polecenia programu Helm. Aby uzyskać dodatkowe metody instalacji, zobacz Instalowanie sterownika w klastrze Kubernetes.
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0
Czy rozszerzenie można zainstalować w węzłach systemu Windows?
Nie, nie można zainstalować rozszerzenia w węzłach systemu Windows. Rozszerzenie obsługuje tylko instalację w węzłach systemu Linux.
Czy mogę wdrożyć rozszerzenie Container Apps na klastrze opartym na Arm64?
Nie. Rozszerzenie nie obsługuje klastrów opartych na Arm64.
Treści powiązane
- Skonfiguruj klaster Kubernetes z obsługą usługi Azure Arc do uruchamiania usługi Azure Container Apps
- Tworzenie aplikacji kontenera w usłudze Azure Arc
- Rozwiązywanie problemów z Azure Container Apps na platformie Kubernetes z obsługą usługi Azure Arc
- omówienie platformy Kubernetes z obsługą Azure Arc
- Lokalizacje niestandardowe w usłudze Kubernetes z obsługą usługi Azure Arc
- Rozszerzenia klastra w usłudze Kubernetes z obsługą usługi Azure Arc
-
az containerapp arcReferencja CLI - Informacje o wersji rozszerzenia usługi Azure Container Apps