Tato příručka popisuje různé možnosti připojení k serveru rozhraní API vašeho clusteru Azure Kubernetes Service (AKS). Se standardním clusterem AKS je server rozhraní API vystavený přes internet. Pokud vytvoříte privátní cluster AKS, můžete se připojit jenom k serveru rozhraní API ze zařízení, které má síťové připojení k vašemu privátnímu clusteru.
Plánování přístupu k serveru rozhraní API je každodenní nulová aktivita. Způsob přístupu k serveru rozhraní API závisí na vašem scénáři nasazení.
Přístup k serveru rozhraní API AKS
Ke správě clusteru AKS komunikujete s jeho serverem rozhraní API. Je důležité uzamknout přístup k serveru rozhraní API a udělit přístup jenom uživatelům, kteří ho potřebují. Podrobný přístup můžete poskytnout integrací clusteru AKS s ID Microsoft Entra. Správa istrátory pak můžou k omezení přístupu použít řízení přístupu na základě role (RBAC). Prostřednictvím RBAC můžou správci umístit uživatele a identity do skupin Microsoft Entra a přiřadit příslušné role a oprávnění ke skupinám. Ověřování Microsoft Entra se poskytuje clusterům AKS s openID Připojení. Další informace najdete v těchto zdrojích:
Poznámka:
Cluster AKS můžete dále uzamknout tím, že povolíte komunikaci se serverem rozhraní API pouze autorizovaným rozsahům IP adres. Další informace najdete v tématu Zabezpečení přístupu k serveru rozhraní API pomocí autorizovaných rozsahů IP adres ve službě Azure Kubernetes Service (AKS).
Azure DDoS Protection v kombinaci s osvědčenými postupy návrhu aplikací poskytuje vylepšené funkce pro zmírnění rizik DDoS, které poskytují větší ochranu před útoky DDoS. Službu Azure DDOS Protection byste měli povolit v jakékoli hraniční virtuální síti.
Přístup ke clusteru AKS přes internet
Když vytvoříte nesoukromého clusteru, který se přeloží na plně kvalifikovaný název domény (FQDN) serveru API, přiřadí se ve výchozím nastavení veřejná IP adresa. Pak se můžete pomocí webu Azure Portal připojit ke clusteru nebo můžete použít prostředí, jako je Azure CLI, PowerShell nebo příkazový řádek.
Poznámka:
Podrobné informace o použití klienta kubectl
příkazového řádku Kubernetes pro připojení ke clusteru přes internet najdete v tématu Připojení ke clusteru.
Azure Cloud Shell
Cloud Shell je prostředí, které je integrované na webu Azure Portal. Prostředky Azure můžete spravovat a připojovat se z Cloud Shellu stejným způsobem jako v PowerShellu nebo Azure CLI. Další informace najdete v tématu Přehled služby Azure Cloud Shell.
Přístup k privátnímu clusteru AKS
Existuje mnoho způsobů, jak se připojit k privátnímu clusteru AKS. Plánování přístupu k privátnímu clusteru AKS je každodenní nulová aktivita, která závisí na potřebách a omezeních vašeho scénáře. Ke svému privátnímu clusteru se můžete připojit pomocí následujících komponent a služeb:
- Jump box. Jump box můžete nasadit do podsítě a použít ho jako provozní pracovní stanici. Pro jump box můžete použít samostatné trvalé virtuální počítače ve skupině dostupnosti. Můžete také použít škálovací sady virtuálních počítačů Azure.
- Azure Bastion.
- Virtuální privátní síť (VPN)
- Azure ExpressRoute.
- Příkaz aks Azure CLI se vyvolá pro správu AKS.
- Instance Cloud Shellu, která je nasazená do podsítě připojené k serveru rozhraní API pro cluster.
- Azure Virtual Desktop. Pokud se váš tým vzdáleně připojuje z různých operačních systémů, můžete pomocí této služby poskytnout přístup k virtuálním počítačům s Windows, které používáte jako jump boxy.
- Azure Container Instances a klient SSH kompatibilní s OpenSSH (Secure Shell).
Poznámka:
SSH, RDP (Remote Desktop Protocol) a Vzdálená plocha (RDS) jsou alternativní protokoly, které můžete použít ke vzdálenému řízení jumpboxů.
Použití služby Azure Bastion
Azure Bastion je nabídka paaS (platforma jako služba), kterou nasadíte ve své virtuální síti pro připojení k virtuálnímu počítači v této síti, jako je jump box. K připojení použijete protokol RDP nebo SSH z prohlížeče na webu Azure Portal. Protokol TLS (Transport Layer Security) chrání připojení. Obvykle existuje veřejná IP adresa přidružená k síťové kartě virtuálního počítače. Tato adresa poskytuje způsob připojení k virtuálnímu počítači. Když používáte Azure Bastion, už nemusíte k jump boxu přidružit veřejnou IP adresu.
Když se připojíte k serveru rozhraní API clusteru AKS, je nejlepší použít důvěryhodné připojení. Jednou z možností je použít Azure Bastion k připojení k jump boxu, který je uvnitř vašeho prostředí Azure. V tomto scénáři se jump box nachází ve virtuální síti centra. Privátní cluster AKS se nachází v paprskové virtuální síti. Partnerský vztah virtuální sítě propojuje hvězdicové sítě.
Jump box dokáže přeložit plně kvalifikovaný název domény serveru API pomocí privátního koncového bodu Azure, zóny privátního DNS a záznamu DNS A uvnitř privátní zóny DNS. Pomocí privátního clusteru AKS a privátního koncového bodu se ujistěte, že plně kvalifikovaný název domény serveru API je možné přeložit pouze z vaší virtuální sítě. U privátního clusteru musí prohlížeč běžet na počítači, který má přístup k virtuální síti privátního clusteru AKS. Další informace najdete v tématu Podsíť pro hostování služby Azure Bastion.
Poznámka:
Dostupnost a redundance jump boxu je důležitá. Vždy byste měli být schopni se dostat do jump boxu. Stejně tak byste měli být vždy schopni získat přístup ke svému privátnímu clusteru AKS. Pokud chcete dosáhnout dostupnosti a redundance pro jump boxy, umístěte je do skupin dostupnosti a použijte škálovací sady virtuálních počítačů s malým počtem instancí virtuálních počítačů. Další informace najdete v těchto zdrojích:
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
- Uživatel se pokusí připojit k jump boxu pomocí služby Azure Bastion a prohlížeče HTML5 s šifrováním TLS.
- Uživatel se na portálu rozhodne, jestli se má ke jump boxu připojit pomocí protokolu RDP nebo SSH.
- Uživatel se přihlásí k jump boxu přes Azure Bastion. Z tohoto jump boxu se provede pokus o připojení k privátnímu clusteru AKS. Virtuální síť centra obsahuje propojení virtuální sítě s zónou privátního DNS AKS pro překlad plně kvalifikovaného názvu domény privátního clusteru.
- Virtuální síť rozbočovače a paprsková virtuální síť vzájemně komunikují pomocí partnerského vztahu virtuálních sítí.
- Aby se provoz dostal do privátního clusteru AKS, přejde do páteřní sítě Azure. Privátní koncový bod vytvoří privátní izolované připojení k privátnímu clusteru AKS.
- Provoz dosáhne serveru rozhraní API privátního clusteru AKS. Uživatel pak může spravovat pody, uzly a aplikace.
Poznámka:
Plně kvalifikovaný název domény privátního clusteru se dá přesto vyřešit mimo vaši virtuální síť, pokud veřejný plně kvalifikovaný název domény explicitně nezakážete. Informace o zakázání veřejného plně kvalifikovaného názvu domény privátního clusteru AKS najdete v tématu Zakázání veřejného plně kvalifikovaného názvu domény v existujícím clusteru.
Řešení potíží s připojením
Pokud se nemůžete připojit k privátnímu clusteru:
Zkontrolujte partnerský vztah virtuálních sítí. Tento mechanismus poskytuje síťové připojení mezi dvěma virtuálními sítěmi. Aby provoz mezi těmito dvěma sítěmi protékal, musíte mezi nimi vytvořit partnerský vztah virtuálních sítí. Při vytváření partnerského vztahu virtuálních sítí se trasa umístí do systémové směrovací tabulky virtuální sítě. Tato trasa poskytuje cestu pro dosažení cílového adresního prostoru. Další informace o řešení potíží s partnerskými vztahy virtuálních sítí najdete v tématu Vytvoření, změna nebo odstranění partnerského vztahu virtuálních sítí.
Poznámka:
Partnerský vztah virtuální sítě nepotřebujete, pokud je váš jump box ve stejné virtuální síti jako privátní koncový bod a privátní cluster AKS.
Zkontrolujte propojení virtuální sítě s privátní zónou DNS. Propojení virtuálních sítí poskytují způsob, jak se virtuální počítače, které jsou uvnitř virtuálních sítí, připojit k privátní zóně DNS a přeložit záznamy DNS uvnitř zóny. Pokud se nemůžete připojit ke svému privátnímu clusteru AKS nebo nemůžete přeložit plně kvalifikovaný název domény privátního clusteru, zkontrolujte, jestli má vaše virtuální síť propojení s vaší privátní zónou DNS. Název privátní zóny DNS by měl mít následující formát:
privatelink.<region>.azmk8s.io
Další informace o řešení potíží s propojeními virtuální sítě najdete v těchto zdrojích informací:
Poznámka:
Pokud je jump box ve stejné virtuální síti jako privátní koncový bod a privátní cluster AKS, nepotřebujete propojení virtuální sítě. Při vytváření privátního clusteru AKS se vytvoří privátní zóna DNS, která má propojení virtuální sítě s virtuální sítí, která je hostitelem privátního clusteru AKS.
Vylepšení zabezpečení
Pokud chcete dále zabezpečit úlohy AKS a jump boxy, můžete použít přístup za běhu (JIT) a pracovní stanici s privilegovaným přístupem (PAW).
Funkce přístupu JIT v programu Microsoft Defender for Cloud snižuje hrozby na šířku. Útočníci často cílí na porty RDP a SSH, které používáte pro připojení k jump boxu. Funkce přístupu JIT používá skupiny zabezpečení sítě nebo Azure Firewall k blokování veškerého příchozího provozu do jump boxu. Pokud se uživatel pokusí připojit k jump boxu s příslušnými oprávněními RBAC, tato funkce nakonfiguruje skupiny zabezpečení sítě nebo službu Azure Firewall tak, aby umožňovala příchozí přístup k vybraným portům po určitou dobu. Po uplynutí této doby porty zamítají veškerý příchozí provoz. Další informace o přístupu PODLE POTŘEBY najdete v tématu Principy přístupu k virtuálním počítačům za běhu (JIT).
Pracovní stanice s privilegovaným přístupem jsou posílená fyzická zařízení, která poskytují nejvyšší možnou konfiguraci zabezpečení pro operátory. Pokud chcete využít dobrou strategii privilegovaného přístupu, připojte se k jump boxu a clusteru AKS pomocí pracovní stanice s privilegovaným přístupem. Je obtížné ohrozit pracovní stanice s privilegovaným přístupem, protože blokují mnoho běžných vektorů útoku, jako je e-mail a procházení webu. Další informace o pracovních stanici s privilegovaným přístupem najdete v tématu Zabezpečení zařízení v rámci scénáře privilegovaného přístupu.
Použití sítě VPN
Připojení VPN poskytuje hybridní připojení z místního prostředí do Azure. Potřebujete připojení k interní infrastruktuře virtuální sítě pro přístup k privátnímu clusteru AKS. Server rozhraní API privátního clusteru není dostupný mimo vaše virtuální sítě.
Síť VPN umožňuje přístup k privátnímu clusteru AKS. Když používáte připojení VPN, můžete se připojit k infrastruktuře virtuální sítě v Azure přes šifrovaný tunel. Po připojení k bráně virtuální sítě se můžete dostat do jump boxu. Odtud se můžete připojit k serveru rozhraní API privátního clusteru.
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
- Uživatel zahájí provoz RDP nebo SSH do jump boxu z místní pracovní stanice.
- Přeskakování provozu opustí hraniční směrovače zákazníka a zařízení VPN. Provoz používá k procházení internetu šifrovaný tunel IPsec.
- Přeskakování provozu dosahuje brány virtuální sítě v Azure, což je příchozí a výchozí bod infrastruktury virtuální sítě Azure.
- Jakmile se provoz přesune za bránu virtuální sítě, přejde do jump boxu. Pokus o připojení k privátnímu clusteru AKS se vytvoří z jump boxu. Virtuální síť centra obsahuje propojení virtuální sítě s zónou privátního DNS AKS pro překlad plně kvalifikovaného názvu domény privátního clusteru.
- Virtuální síť rozbočovače a paprsková virtuální síť vzájemně komunikují pomocí partnerského vztahu virtuálních sítí.
- Aby se provoz dostal do privátního clusteru AKS, přejde do páteřní sítě Azure. Privátní koncový bod vytvoří privátní izolované připojení k privátnímu clusteru AKS.
- Provoz dosáhne serveru rozhraní API privátního clusteru AKS. Uživatel pak může spravovat pody, uzly a aplikace.
Použití ExpressRoute
ExpressRoute je další možností, kterou můžete použít k navázání připojení k privátnímu clusteru AKS z místního prostředí. ExpressRoute používá protokol BGP (Border Gateway Protocol) k výměně tras mezi vaší místní sítí, vašimi instancemi v Azure a veřejnými adresami Microsoftu. Tato výměna poskytuje prostředky infrastruktury jako služby (IaaS) v Azure a místních pracovních stanicích cestu k sobě navzájem. ExpressRoute poskytuje vyhrazené a izolované připojení při zachování konzistentní šířky pásma a latence pro podniková prostředí.
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
- Uživatel zahájí provoz RDP nebo SSH do jump boxu z místní pracovní stanice.
- Jump box provoz opustí hraniční směrovače zákazníka a cestuje na optické připojení do místa meet-me, kde se nachází okruh ExpressRoute. Provoz tam dosáhne zařízení Microsoft Enterprise Edge (MSEE). Pak přejde do prostředků infrastruktury Azure.
- Přeskakování provozu dosahuje brány ExpressRoute, což je příchozí a výchozí bod infrastruktury virtuální sítě Azure.
- Provoz dosáhne jump boxu. Pokus o připojení k privátnímu clusteru AKS se vytvoří z jump boxu. Virtuální síť centra obsahuje propojení virtuální sítě s zónou privátního DNS AKS pro překlad plně kvalifikovaného názvu domény privátního clusteru.
- Virtuální síť rozbočovače a paprsková virtuální síť vzájemně komunikují pomocí partnerského vztahu virtuálních sítí.
- Aby se provoz dostal do privátního clusteru AKS, přejde do páteřní sítě Azure. Privátní koncový bod vytvoří privátní izolované připojení k privátnímu clusteru AKS.
- Provoz dosáhne serveru rozhraní API privátního clusteru AKS. Uživatel pak může spravovat pody, uzly a aplikace.
Poznámka:
ExpressRoute vyžaduje, aby poskytovatel připojení třetí strany poskytoval připojení peeringu ke směrovačům MSEE. Provoz ExpressRoute není šifrovaný. Další informace najdete v tématu Co je Azure ExpressRoute?
Spuštění příkazu aks – vyvolání
S privátním clusterem AKS se připojíte k privátnímu clusteru z virtuálního počítače, který má přístup k serveru rozhraní API clusteru. Pomocí příkazu aks command invoke
Azure CLI můžete vzdáleně spouštět příkazy, jako kubectl
je privátní cluster AKS, helm
prostřednictvím rozhraní Azure API. Při použití aks command invoke
se v rámci clusteru vytvoří přechodný pod v konkrétním oboru názvů. Pod existuje pouze pro životnost příkazu. V rámci přechodného podu můžete spouštět příkazy v privátním clusteru.
Jako alternativní způsob připojení k privátnímu clusteru můžete použít aks command invoke
, pokud nemáte síť VPN, ExpressRoute, řešení externího připojení nebo virtuální síť, která je v partnerském vztahu přímo k virtuální síti clusteru. Než začnete používat aks command invoke
, zkontrolujte prostředky, které jsou dostupné pro váš cluster a fond uzlů. Nedostatečné prostředky můžou zabránit vytvoření přechodného podu.
Další informace najdete v tématu Použití vyvolání příkazu pro přístup k privátnímu clusteru Azure Kubernetes Service (AKS).
Připojení Cloud Shell do podsítě
Když nasadíte Cloud Shell do virtuální sítě, kterou řídíte, můžete pracovat s prostředky uvnitř této virtuální sítě. Instance Cloud Shellu se obvykle nasazuje do kontejneru, který spravuje Microsoft. Tento kontejner nemůže komunikovat s prostředky v jiných virtuálních sítích. Pokud ale nasadíte privátní cluster AKS, můžete Cloud Shell připojit k podsíti, kterou spravujete, která má připojení k serveru rozhraní API clusteru. Pak se můžete připojit k privátnímu clusteru. Další informace najdete v tématu Nasazení Cloud Shellu do virtuální sítě Azure.
Použití SSH a Editoru Visual Studio Code k testování
SSH je protokol, který poskytuje způsob, jak bezpečně spravovat a přistupovat k souborům na vzdáleném hostiteli. V rámci procesu ověřování používá SSH páry veřejného a privátního klíče.
Z místního počítače můžete použít SSH a rozšíření Visual Studio Code Remote – SSH pro připojení k jump boxu ve vaší virtuální síti. Tunel SSH je šifrovaný a připojení se ukončí na veřejné IP adrese připojené k jump boxu. Tento přístup usnadňuje úpravu souborů manifestu Kubernetes.
Informace o připojení k jump boxu přes SSH najdete v tématu Vzdálený vývoj přes SSH.
Pokud se nemůžete připojit k virtuálnímu počítači přes SSH a spravovat privátní cluster:
- Zkontrolujte pravidlo příchozí skupiny zabezpečení sítě pro podsíť virtuálního počítače. Když se připojíte k virtuálnímu počítači v Azure přes SSH, skupina zabezpečení sítě, která je připojená k podsíti virtuálního počítače nebo síťové kartě, má výchozí pravidlo. Toto pravidlo blokuje veškerý příchozí internetový provoz pocházející z Azure. Pokud chcete tuto překážku překonat, vytvořte nové příchozí pravidlo skupiny zabezpečení sítě. Nakonfigurujte nové pravidlo tak, aby umožňovalo provoz SSH pocházející z veřejné IP adresy místního počítače.
- Zkontrolujte umístění certifikátu. Pokud používáte SSH, zkontrolujte správné umístění certifikátů. Privátní klíč by měl být v
C:\Users\User\.ssh\id_rsa
adresáři na místním počítači. Veřejný klíč by měl být umístěn v~/.ssh/id_rsa.pub
souboru na virtuálním počítači v Azure.
Poznámka:
Doporučený postup:
- Nepoužívejte veřejnou IP adresu pro připojení k prostředkům v produkčním prostředí. Veřejné IP adresy používejte jenom ve scénářích vývoje a testování. Jak je popsáno dříve v této části, musíte v takových prostředích vytvořit příchozí pravidlo skupiny zabezpečení sítě. Toto pravidlo by mělo povolit provoz z veřejné IP adresy místního počítače do prostředí. Další informace o pravidlech skupiny zabezpečení sítě najdete v tématu Vytvoření, změna nebo odstranění skupiny zabezpečení sítě.
- Nepoužívejte SSH k přímému připojení k uzlům nebo kontejnerům AKS. Jinými slovy nepoužívejte cílový systém správy jako nástroj pro správu, protože tento přístup není spolehlivý. Lepší je použít vyhrazené řešení, které je pro váš cluster externí. Tento bod mějte na paměti, když vyhodnotíte, jestli
aks command invoke
je vhodné pro vaše nasazení, protože pomocí tohoto příkazu se v rámci clusteru vytvoří přechodný pod proxiovaný přístup.
Závěr
- Pokud veřejný plně kvalifikovaný název domény není zakázaný, můžete získat přístup k serveru rozhraní API vašeho clusteru AKS přes internet.
- Cloud Shell je integrované prostředí příkazového řádku na webu Azure Portal, které můžete použít pro připojení ke clusteru AKS.
- Pro bezpečnější a uzamčený způsob přístupu k privátnímu clusteru použijte Azure Bastion a privátní koncový bod.
- Sítě VPN i ExpressRoute pomáhají usnadnit hybridní připojení k privátnímu clusteru AKS.
- Pokud nemáte řešení externího připojení, můžete se
aks command invoke
vzdáleně připojit k privátnímu clusteru AKS. - Cloud Shell můžete nasadit přímo do virtuální sítě, kterou spravujete. Cloud Shell má přístup k privátnímu clusteru z virtuální sítě, kterou spravujete.
- Pomocí editoru Visual Studio Code a SSH se můžete připojit k jump boxu. Tento přístup šifruje připojení k jump boxu, poskytuje přístup k privátnímu clusteru z virtuálního počítače a usnadňuje úpravu souborů manifestu ve vývojových scénářích. Tímto způsobem připojení ale zpřístupníte veřejnou IP adresu ve vašem prostředí.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Ayobami Ayodeji | Programový manažer 2
- Ariel Ramirez | Konzultant
- Bahram Rushenas | Architekt inkauce
Další přispěvatelé:
- Shubham Agnihotri | Konzultant
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Co je Azure Bastion?
- Začínáme s OpenSSH
- Co je privátní koncový bod?
- Co je Azure ExpressRoute?
- Co je brána VPN Gateway?