Sdílet prostřednictvím


Migrace z Amazon EKS do služby Azure Kubernetes Service (AKS)

Tento článek obsahuje strategie pro migraci typických bezstavových a stavových úloh z Amazon EKS do služby Azure Kubernetes Service (AKS).

Důležité informace

Skutečný proces nasazení reálné produkční úlohy se může lišit v závislosti na následujících faktorech:

  • Strategie nasazení: Volba mezi Metodami GitOps a tradičními metodami kontinuální integrace/průběžného nasazování (CI/CD) v DevOps výrazně ovlivňuje přístup k nasazení. GitOps upřednostňuje deklarativní infrastrukturu spravovanou prostřednictvím úložišť řízených verzí, zatímco DevOps CI/CD se zaměřuje na automatizované pracovní postupy pro doručování aplikací.

  • Artefakty nasazení: Výběr artefaktů nasazení hraje zásadní roli při definování struktury nasazení. Soubory YAML, soubory manifestu, charty Helm a konfigurace Kustomize představují různé přístupy k určení a přizpůsobení nastavení nasazení, z nichž každá má silné stránky a případy použití.

  • Ověřování a autorizace úloh: V závislosti na nastavení se metody ověřování a autorizace můžou lišit. Pro řízení přístupu můžete použít role identity a správy přístupu (IAM) Amazon Web Services (AWS), mechanismy identit úloh nebo připojovací řetězec.

  • Monitorování: Implementace řešení monitorování je důležitým aspektem, který může zahrnovat různé nástroje a metodologie k zajištění výkonu a stavu nasazených úloh. Další informace o tom, jak monitorování AKS porovnává s EKS, najdete v tématu Monitorování a protokolování Kubernetes.

Než začnete s migrací, projděte si následující obecné pokyny a zdroje osvědčených postupů:

  • Projděte si osvědčené postupy pro operátory clusteru a vývojáře.
  • Definujte strategii monitorování a upozorňování, která zajistí, že aplikace funguje podle očekávání.
  • Definujte požadavky na zabezpečení a dodržování předpisů pro aplikaci a prostředí AKS.
  • Definujte zásady řízení přístupu a způsob jejich vynucování. Identifikujte všechny standardy dodržování předpisů, které je potřeba dodržovat.
  • Definujte plán zotavení po havárii a provozní kontinuity pro prostředí AKS a aplikaci.
  • Definujte zásady a postupy zálohování a obnovení. Identifikujte cíl doby obnovení (RTO) a cíl bodu obnovení (RPO).
  • Identifikujte všechna rizika nebo výzvy, ke kterým může dojít během nasazení.
  • Před přesměrováním živého provozu do nového clusteru AKS otestujte funkčnost, abyste měli jistotu, že aplikace funguje podle očekávání.

Aspekty migrace úloh

Tato část popisuje některé věci, které byste měli zvážit před migrací úloh z Amazon EKS do AKS.

Vysvětlení stávajícího prostředí Amazon EKS

Analyzujte stávající prostředí EKS, abyste porozuměli aktuální architektuře, prostředkům a konfiguracím.

  • Zkontrolujte konfiguraci EKS: Vyhodnoťte konfiguraci clusteru EKS, jako jsou typy uzlů, počet uzlů, verze Kubernetes a zásady podpory a konfigurace škálování.

    Poznámka:

    EKS umožňuje vytváření vlastních imagí AMI pro uzly EKS. AKS neumožňuje použití vlastních imagí uzlů. Pokud vaše nasazení vyžaduje přizpůsobení uzlu, můžete pro přizpůsobení uzlů použít vlastní nastavení kubeletu nebo daemonSets .

  • Zkontrolujte úlohy aplikací: Identifikujte všechny úlohy Kubernetes spuštěné v clusteru EKS, včetně nasazení, služeb, stavových sad, konfigurací příchozího přenosu dat a trvalých deklarací identity svazků. Ujistěte se, že máte úplný seznam aplikací a jejich přidružených prostředků.

  • Kontrola závislostí: Identifikujte všechny závislosti na službách AWS specifických pro EKS.

    Služba AWS Dependency
    AWS Secret Manager Azure Key Vault
    AWS Guard Duty Agent Microsoft Defender for Containers
    Agent identit podů EKS Identita úlohy Microsoft Entra ID
    Ovladače ROZHRANÍ ÚLOŽIŠTĚ kontejnerů (CSI) nebo Elastic Block Store (Amazon Elastic File System) nebo ELASTIC Block Store (CSI) Ovladače AKS CSI
  • Cluster EKS pro zálohování: K zálohování a migraci prostředků Kubernetes a trvalých svazků můžete použít nástroj jiných společností než Microsoft, jako je Velero .

Příprava prostředí Azure AKS

Rozhraní CNI (Container Networking Interface) pro virtuální privátní cloud Amazon je výchozí síťový modul plug-in podporovaný službou EKS. Cluster AKS podporuje několik síťových modulů plug-in a metod nasazení clusteru ve virtuální síti, včetně:

Pokud chcete připravit cluster AKS, postupujte takto:

  1. Vytvořte nový cluster AKS v Azure a nakonfigurujte požadované nastavení sítě tak, aby odpovídalo vašim požadavkům.
  2. Projděte si manifesty Kubernetes a soubory YAML používané v EKS. Zkontrolujte případné nekompatibilitu verze rozhraní API Kubernetes nebo konkrétní konfigurace EKS, které AKS nepodporuje.
  3. Ujistěte se, že vaše image Dockeru a umístění registru imagí kontejneru jsou přístupné z clusteru AKS. Ověřte síťové připojení a všechna požadovaná nastavení ověřování a autorizace pro přístup k imagím.

Pomocí těchto kroků můžete úspěšně vytvořit cluster AKS a zajistit kompatibilitu manifestů Kubernetes a imagí Dockeru a zajistit hladký proces migrace z EKS do AKS.

Přehled migrace

Migrace z Amazon EKS na AKS zahrnuje několik kroků, například:

  • Migrace imagí kontejneru: Migrace imagí kontejnerů je zásadní krok při přechodu z EKS na AKS. K exportu a importu imagí můžete použít nástroje, jako jsou kubectl, Docker nebo registry kontejnerů.

    1. Export obrázků z EKS
    2. Pokud jste to ještě neudělali, nastavte azure Container Registry a připojte ho k AKS.
    3. Nasdílení imagí do služby Container Registry

    Image kontejnerů je také možné importovat do služby Container Registry přímo z veřejného nebo privátního úložiště mimo Azure. Další informace najdete v tématu Import imagí kontejneru.

  • Migrace manifestu Kubernetes: AKS používá manifest souboru YAML Kubernetes k definování objektů Kubernetes. Nasazení se obvykle vytvářejí a spravují pomocí kubectl create nebo kubectl apply. Vytvořte nasazení definováním souboru manifestu ve formátu YAML. Další informace najdete v tomto ukázkovém manifestu AKS. Další informace o tom, jak soubory YAML fungují v Kubernetes, najdete v tématu Nasazení a manifesty YAML.

  • Migrace dat: Pečlivě naplánujte migraci stavových aplikací, abyste se vyhnuli ztrátě dat nebo neočekávaným výpadkům. Další informace najdete v části Aspekty migrace stavových úloh.

Aspekty migrace bezstavových úloh

Migrace manifestů Kubernetes zahrnuje přizpůsobení konfigurace pro práci v prostředí Azure, včetně těchto kroků:

  1. Manifesty aktualizací: Aktualizujte manifesty Kubernetes tak, aby používaly nová umístění imagí ve službě Container Registry. Nahraďte odkazy na image v souborech YAML cestou container Registry.

    1. Zkontrolujte existující soubory manifestu Kubernetes pro konfigurace specifické pro AWS, jako jsou role VPC a IAM.
    2. Projděte si role EKS IAM přidružené k uzlům, účtům služeb a dalším prostředkům. Namapujte ho s ekvivalentními rolemi řízení přístupu na základě role (RBAC) Azure AKS. Další informace najdete v tématu Identita a přístup k úlohám Kubernetes.
    3. Upravte soubory manifestu tak, aby nahradily nastavení specifická pro AWS nastavením specifickým pro Azure, jako jsou poznámky.
  2. Použití manifestů pro AKS:

    1. Připojte se ke clusteru AKS.
    2. Použijte upravené soubory manifestu Kubernetes pomocí kubectl apply -f.

Aspekty migrace stavových úloh

Pokud vaše aplikace používají trvalé svazky (PC) nebo deklarace identity trvalých svazků (PVC) pro ukládání dat, ujistěte se, že tato data zálohujete. Pomocí nástrojů, jako je Velero , můžete provádět zálohování clusterů, včetně dat počítačů pc a pvcs. Další informace najdete v tématu Zálohování a obnovení prostředků clusteru Amazon EKS pomocí Velero.

Stavové aplikace obvykle mají trvalé požadavky na úložiště dat, které přidají složitost procesu migrace. Porovnání možností úložiště Amazon EKS a AKS najdete v tématu Možnosti úložiště pro cluster Kubernetes.

Pokud chcete zálohovat trvalá data, postupujte takto:

  1. Nastavte Velero v clusteru AKS a EKS .
  2. Proveďte zálohu clusteru EKS.
  3. Pomocí příkazu az copy zkopírujte zálohu Velero z kontejneru S3 do úložiště objektů blob v Azure.
  4. Vzhledem k tomu, že AKS a EKS můžou pro trvalé deklarace identity svazku používat jiné storageClassNames , vytvořte zdroj configMap , který přeloží na storageClassNames název třídy kompatibilní s AKS. Tento krok můžete ignorovat, pokud používáte stejné řešení úložiště v clusterech EKS a AKS Kubernetes.
  5. Obnovte zálohu do AKS (pomocí příkazu Velero restore).
  6. Použijte potřebné změny u obnovených objektů, jako jsou odkazy na image kontejnerů v Amazon Elastic Container Registry (ECR) nebo přístup k tajným kódům.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autoři:

  • Dixit Arora | Vedoucí zákaznický inženýr, ISV DN CoE
  • Ketan Chawda | Vedoucí zákaznický inženýr, ISV DN CoE

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky