Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Kubernetes Fleet Manager kan användas för att skapa och hantera DNS-baserad belastningsutjämning med flera kluster för offentliga arbetsbelastningar som distribueras i medlemskluster.
Viktigt!
Förhandsversionsfunktionerna i Azure Kubernetes Fleet Manager är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. Förhandsversioner av Azure Kubernetes Fleet Manager omfattas delvis av kundsupport på bästa sätt. Dessa funktioner är därmed inte avsedda för produktionsanvändning.
Våra förhandsversioner av dataplanets nätverk släpps via vårt networking.fleet.azure.com/v1beta1 API. Om du inte ser förhandsgranskningsobjekt kontrollerar du att du begär API:et networking.fleet.azure.com/v1beta1 när du interagerar med Fleet Manager-hubbklustret.
För att leverera offentlig belastningsutjämning för flera kluster med DNS använder Fleet Manager Azure Traffic Manager med en viktad routningsprofil för att fungera som klientdel för Services export från medlemskluster. Du kan använda den här funktionen för belastningsutjämning på både nivå 4 och 7.
Fleet-administratörer använder kubectl för att skapa och konfigurera TrafficManagerProfile och TrafficManagerBackend resurser i Fleet Manager-hubbklustret.
TrafficManagerProfile definierar en Azure Traffic Manager-profil som innehåller konfiguration för hälsoövervakning av slutpunkter, där den associerade definierar TrafficManagerBackend som ska belastningsutjämnas.
Tjänster i medlemskluster kan läggas till i belastningsutjämningen genom att skapa en ServiceExport i klustret och konfigurera ett unikt DNS-värdnamn för Service. Valfria vikter kan definieras som konfigurerar trafikroutningsbeteende mellan kluster. Om arbetsbelastningen distribueras med hjälp av Fleet Managers klusterresursplacering kan DNS-värdnamnet konfigureras vid placering med hjälp av en ResourceOverride.
Skapandet och konfigurationen av den associerade Traffic Manager hanteras av Fleet Manager, där vagnparksadministratörer kan köra upplevelsen från slutpunkt till slutpunkt med kubernetes-API:et.
TrafficManagerProfile-egenskaper
Resursen TrafficManagerProfile tillhandahåller en Kubernetes-objektrepresentation av en Standard Azure Traffic Manager-profil.
apiVersion: networking.fleet.azure.com/v1beta1
kind: TrafficManagerProfile
metadata:
name: myatm
namespace: work
spec:
monitorConfig:
protocol: HTTP
path: /api
port: 8080
intervalInSeconds: 30
timeoutInSeconds: 10
toleratedNumberOfFailures: 3
Viktiga egenskaper att förstå är:
-
name: används som DNS-prefix förtrafficmanager.netDNS-namnet. Den måste vara unik. Om namnet redan används misslyckas distributionen. -
namespace: måste vara samma som motsvarandeTrafficManagerBackendresurser ochServiceresurser. -
monitorCOnfig: motsvarar standardövervakningskonfigurationen för Azure Traffic Manager. Azure Traffic Manager-slutpunktsövervakningsalternativ som inte stöds är: Anpassade rubrikinställningar; förväntade statuskoder.
TrafficManagerBackend-egenskaper
Resursen TrafficManagerBackend tillhandahåller ett Kubernetes-objekt som används för att lagra serverdelsslutpunkter som Traffic Manager kan överväga för att ta emot trafik. Innan trafiken dirigeras till en slutpunkt måste en ServiceExport skapas.
apiVersion: networking.fleet.azure.com/v1beta1
kind: TrafficManagerBackend
metadata:
name: app
namespace: work
spec:
profile:
name: myatm
backend:
name: app
weight: 100
Viktiga egenskaper att förstå är:
-
spec/profile/name: måste matcha motsvarandeTrafficManagerProfile. -
spec/backend/name: måste matcha det exporterade tjänstnamnet för att möjliggöra belastningsutjämning. -
spec/weight: valfri vikt (prioritet) för den här serverdelen. Heltalsvärde mellan 0 och 1 000. Om den utelämnas använder Traffic Manager standardvikten "1". Ange "0" för att inaktivera trafikroutning utan att ta bort den associerade Traffic Manager-profilresursen. Mer information finns i Den viktade routningsmetoden i Azure Traffic Manager.
ServiceExport-egenskaper
Om du vill lägga till en slutpunkt för en Service i Traffic Manager skapar du en ServiceExport resurs i medlemsklustret som innehåller tjänsten. Resursen ServiceExport måste skapas i samma namnområde som den Service som ska exporteras.
apiVersion: networking.fleet.azure.com/v1alpha1
kind: ServiceExport
metadata:
name: kuard-export
namespace: kuard-demo
annotations:
networking.fleet.azure.com/weight: "50"
Viktiga egenskaper att förstå är:
-
metadata/namespace: måste matcha namnområdet för detServicesom ska exporteras. -
metadata/annotations/networking.fleet.azure.com/weight: valfri vikt (prioritet) för den här tjänstexporten. Heltalsvärde mellan 0 och 1 000. Om den utelämnas använder Traffic Manager standardvikten "1". Ange till 0 för att inaktivera trafikroutning utan att ta bort den associerade tjänstslutpunkten. Mer information finns i Den viktade routningsmetoden i Azure Traffic Manager.
Unikt DNS-värdnamn via tjänstanteckning
För att kunna lägga till en Service i Traffic Manager måste den ha ett unikt DNS-värdnamn. DNS-värdnamnet kan anges genom att följa den rekommenderade AKS-metoden för att använda annoteringen som visas service.beta.kubernetes.io/azure-dns-label-name.
apiVersion: v1
kind: Service
metadata:
name: kuard-svc
namespace: kuard-demo
labels:
app: kuard
annotations:
service.beta.kubernetes.io/azure-dns-label-name: kuard-demo-cluster-01
spec:
selector:
app: kuard
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
DNS-etikettanteckningen ResourceOverride kan åsidosättas med hjälp av funktionen i Fleet Manager, vilket gör det möjligt att distribuera unika värdnamn i flera kluster. För mer information, se instruktionsguiden för DNS-belastningsutjämning.
Styra trafikroutning
I det här avsnittet tittar vi på vanliga scenarier för att kontrollera trafikroutning mellan kluster.
Distribuera trafik mellan kluster
Om du vill tillåta Traffic Manager att överväga alla kluster för att ta emot trafik använder du de definitioner som visas.
Skapa en
TrafficManagerBackendresurs och utelämna egenskapenweight.apiVersion: networking.fleet.azure.com/v1beta1 kind: TrafficManagerBackend metadata: name: app namespace: work spec: profile: name: myatm backend: name: appI varje kluster skapar du en
ServiceExportoch utelämnar egenskapenweight.apiVersion: networking.fleet.azure.com/v1alpha1 kind: ServiceExport metadata: name: kuard-export namespace: kuard-demo
När Traffic Manager har distribuerats väljer den ett kluster slumpmässigt genom att beakta alla kluster med samma vikt.
Distribuera trafik mellan kluster med olika vikter
Om du vill ge Traffic Manager inställningstips när du väljer kluster anger du weight egenskapen för objekten TrafficManagerBackend och ServiceExport .
Skapa en
TrafficManagerBackendresurs och ange egenskapenweighttill100.apiVersion: networking.fleet.azure.com/v1beta1 kind: TrafficManagerBackend metadata: name: app namespace: work spec: profile: name: myatm backend: name: app weight: 100Skapa en
ServiceExportoch angeweight-egenskapen till ett värde som representerar den prioritet Traffic Manager ska använda när den överväger ett kluster för att ta emot trafik.apiVersion: networking.fleet.azure.com/v1alpha1 kind: ServiceExport metadata: name: kuard-export namespace: kuard-demo annotations: networking.fleet.azure.com/weight: "40"
När den har distribuerats föredrar Traffic Manager kluster med högre vikt. Det krävs inte att du anger viktvärdet för varje kluster. Om du anger viktvärdet på samma sätt i fler än ett kluster, kommer Traffic Manager att betrakta dessa kluster lika.
Undanta ett kluster från trafikroutning
Om du vill undanta ett kluster från trafikroutning anger du weight egenskapen till 0 på resursen ServiceExport . Den här vikten tar bort slutpunkten från Traffic Manager-konfigurationen.
apiVersion: networking.fleet.azure.com/v1alpha1
kind: ServiceExport
metadata:
name: kuard-export
namespace: kuard-demo
annotations:
networking.fleet.azure.com/weight: "0"
TrafficManagerProfile-borttagningsbeteende
När en TrafficManagerProfile Kubernetes-resurs tas bort tas även den associerade Azure Traffic Manager och dess slutpunkter bort och begäranden dirigeras inte längre till kluster.
Om du vill stoppa trafikroutningen men behålla Azure Traffic Manager och dess slutpunkter anger du weight egenskapen till 0 på resursen TrafficManagerBackend .
Nästa steg
Azure Kubernetes Service