Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure CNI Powered by Cilium kombinuje robustní řídicí rovinu Azure CNI s datovou rovinou Cilium , která poskytuje vysoce výkonné sítě a zabezpečení.
Díky použití programů eBPF načtených do jádra Linuxu a efektivnější struktury objektů rozhraní API poskytuje Azure CNI Powered by Cilium následující výhody:
Funkce ekvivalentní stávajícím modulům plug-in Azure CNI a Azure CNI Overlay
Vylepšené směrování služeb
Efektivnější vynucování zásad sítě
Lepší pozorovatelnost provozu clusteru
Podpora větších clusterů (více uzlů, podů a služeb)
Správa IP adres (IPAM) s Azure CNI využívající technologii Cilium
Azure CNI Powered by Cilium je možné nasadit pomocí dvou různých metod pro přiřazování IP adres podů:
Přiřazení IP adres z překryvné sítě (podobně jako v režimu překrytí Azure CNI)
Přiřazování IP adres z virtuální sítě (podobně jako existující Azure CNI s dynamickým přiřazováním IP adres pro pody)
Pokud si nejste jistí, kterou možnost vybrat, přečtěte si téma "Volba síťového modelu, který se má použít".
Verze
Verze Kubernetes | Minimální verze Cilium |
---|---|
1.27 (LTS) | 1.13.18 |
1.28 (konec životnosti) | 1.13.18 |
1,29 | 1.14.19 |
1.30 (LTS) | 1.14.19 |
1.31 | 1.16.6 |
1.32 | 1.17.0 |
Další informace o správě verzí a časových osách verzí AKS najdete v tématu Podporované verze Kubernetes .
Vynucení zásad sítě
Cilium vynucuje síťové zásady tak, aby povoloval nebo odepíral provoz mezi pody. S Cilium nemusíte instalovat samostatný síťový modul zásad, jako je Azure Network Policy Manager nebo Calico.
Omezení
Azure CNI využívající Cilium má v současné době následující omezení:
K dispozici pouze pro Linux a ne pro Windows.
Zásady sítě se nedají použít
ipBlock
k povolení přístupu k IP adresám uzlů nebo podů. Podrobnosti a doporučené alternativní řešení najdete v nejčastějších dotazech .U cilium verze 1.16 nebo starších nemůže několik služeb Kubernetes používat stejný hostitelský port s různými protokoly (například TCP nebo UDP) (problém s Cilium č. 14287).
Zásady sítě se na pody používající sítě hostitele nepoužívají,
spec.hostNetwork: true
protože tyto pody používají identitu hostitele místo jednotlivých identit.Řezy koncových bodů Cilium jsou podporovány v Kubernetes verzích 1.32 a vyšších. Řezy koncových bodů Cilium nepodporují konfiguraci, jak jsou koncové body Cilium seskupeny. Prioritní obory názvů prostřednictvím
cilium.io/ces-namespace
nejsou podporovány.
Úvahy
Pokud chcete získat možnosti, jako je pozorovatelnost síťového provozu a funkce zabezpečení, jako je plně kvalifikovaný název domény (FQDN) založené na filtrování a zásady sítě založené na vrstvě 7 v clusteru, zvažte povolení pokročilých síťových služeb kontejneru ve vašich clusterech.
Požadavky
Azure CLI verze 2.48.1 nebo novější Spusťte
az --version
a zobrazte si aktuálně nainstalovanou verzi. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.Pokud používáte šablony ARM nebo rozhraní REST API, musí být verze rozhraní API AKS 2022-09-02-preview nebo novější.
Poznámka:
Předchozí verze rozhraní API AKS (2022-09-02preview až 2023-01-02preview) použily pole networkProfile.ebpfDataplane=cilium
. Verze rozhraní API AKS od 2023-02-02preview používají toto pole networkProfile.networkDataplane=cilium
k povolení Azure CNI Powered by Cilium.
Vytvoření nového clusteru AKS pomocí Azure CNI powered by Cilium
Možnost 1: Přiřazení IP adres z překryvné sítě
Pomocí následujících příkazů vytvořte cluster s překryvnou sítí a Cilium. Nahraďte hodnoty pro <clusterName>
, <resourceGroupName>
a <location>
:
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--network-dataplane cilium \
--generate-ssh-keys
Poznámka:
Příznak --network-dataplane cilium
nahrazuje zastaralý --enable-ebpf-dataplane
příznak použitý v dřívějších verzích rozšíření rozhraní příkazového řádku aks-preview.
Možnost 2: Přiřazení IP adres z virtuální sítě
Spuštěním následujících příkazů vytvořte skupinu prostředků a virtuální síť s podsítí pro uzly a podsíť pro pody.
# Create the resource group
az group create --name <resourceGroupName> --location <location>
# Create a virtual network with a subnet for nodes and a subnet for pods
az network vnet create --resource-group <resourceGroupName> --location <location> --name <vnetName> --address-prefixes <address prefix, example: 10.0.0.0/8> -o none
az network vnet subnet create --resource-group <resourceGroupName> --vnet-name <vnetName> --name nodesubnet --address-prefixes <address prefix, example: 10.240.0.0/16> -o none
az network vnet subnet create --resource-group <resourceGroupName> --vnet-name <vnetName> --name podsubnet --address-prefixes <address prefix, example: 10.241.0.0/16> -o none
Vytvořte cluster pomocí --network-dataplane cilium
:
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--max-pods 250 \
--network-plugin azure \
--vnet-subnet-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/nodesubnet \
--pod-subnet-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/podsubnet \
--network-dataplane cilium \
--generate-ssh-keys
Možnost 3: Přiřazení IP adres z podsítě uzlu
Poznámka:
Vyžaduje se Azure CLI verze 2.69.0 nebo novější. Spusťte az --version
a zobrazte si aktuálně nainstalovanou verzi. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
Vytvořte cluster s datovou rovinou Cilium pomocí podsítě uzlu.
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--network-plugin azure \
--network-dataplane cilium \
--generate-ssh-keys
Nejčastější dotazy
Můžu přizpůsobit konfiguraci Cilium?
Ne, AKS spravuje konfiguraci Cilium a nedá se upravit. Doporučujeme zákazníkům, kteří vyžadují větší kontrolu, používat AKS BYO CNI a nainstalovat Cilium ručně.
Můžu místo prostředků Kubernetes
CiliumNetworkPolicy
používatNetworkPolicy
vlastní prostředky?Zákazníci mohou používat filtrování FQDN a zásady vrstvy 7 jako součást balíčku funkcí Advanced Container Networking Services.
Můžu použít
ClusterwideCiliumNetworkPolicy
?ClusterwideCiliumNetworkPolicy
se nepodporuje.Které funkce Cilium jsou podporované ve spravovanéM CNI Azure? Které z těchto služeb vyžadují pokročilé síťové služby kontejnerů?
Podporovaná funkce bez ACNS w/ ACNS Úseky koncového bodu Cilium ✔️ ✔️ Zásady sítě K8s ✔️ ✔️ Zásady sítě Cilium L3/L4 ✔️ ✔️ Filtrování plně kvalifikovaného názvu domény ❌ ✔️ Zásady sítě L7 (HTTP/gRPC/Kafka) ❌ ✔️ Pozorovatelnost kontejnerové sítě (protokoly metrik a toků) ❌ ✔️ Proč je provoz blokován, když
NetworkPolicy
máipBlock
IP adresu, která je povolena?Omezení Azure CNI s podporou Cilium spočívá v tom, že
NetworkPolicy
'sipBlock
nemůže vybrat IP adresy podů nebo uzlů.To
NetworkPolicy
má například možnostipBlock
, která umožňuje všechny výchozí přenosy dat0.0.0.0/0
:apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: example-ipblock spec: podSelector: {} policyTypes: - Egress egress: - to: - ipBlock: cidr: 0.0.0.0/0 # This will still block pod and node IPs.
Když se ale
NetworkPolicy
použije, Cilium blokuje odchozí provoz na IP adresy podu a uzlu, i když jsou IP adresy v rámciipBlock
CIDR.Jako alternativní řešení můžete přidat
namespaceSelector
apodSelector
k výběru podů. Tento příklad vybere všechny pody ve všech jmenových prostorech.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: example-ipblock spec: podSelector: {} policyTypes: - Egress egress: - to: - ipBlock: cidr: 0.0.0.0/0 - namespaceSelector: {} - podSelector: {}
Poznámka:
V současné době není možné specifikovat
NetworkPolicy
aipBlock
, které by umožnily provoz na IP adresy uzlů.Konfiguruje AKS omezení procesoru nebo paměti na Cilium
daemonset
?Ne, AKS nenakonfiguruje omezení procesoru nebo paměti na Cilium, protože Cilium
daemonset
je důležitou systémovou komponentou pro sítě podů a vynucení zásad sítě.Využívá Azure CNI technologii Cilium k použití Kube-Proxy?
Ne, clustery AKS vytvořené s datovou rovinou sítě Cilium nepoužívají Kube-Proxy. Pokud jsou clustery AKS v překrytí Azure CNI nebo Azure CNI s dynamickým přidělováním IP adres a upgradují se na clustery AKS, na kterých běží Azure CNI využívající Cilium, vytvoří se nové úlohy uzlů bez kube-proxy. Starší úlohy se také migrují tak, aby běžely bez kube-proxy jako součást tohoto procesu upgradu.
Další kroky
Další informace o sítích v AKS najdete v následujících článcích:
Azure Kubernetes Service