Azure Kubernetes Service (AKS) için önerilen etkin-etkin yüksek kullanılabilirlik çözümüne genel bakış
Azure Kubernetes Service'te (AKS) bir uygulama oluşturduğunuzda ve kaynak oluşturma sırasında bir Azure bölgesi seçtiğinizde, bu tek bölgeli bir uygulamadır. Bölgenin kullanılamaz duruma gelmesine neden olan bir olağanüstü durum durumunda uygulamanız da kullanılamaz duruma gelir. İkincil bir Azure bölgesinde aynı dağıtımı oluşturursanız, uygulamanız iş sürekliliğini garanti eden tek bölgeli olağanüstü duruma daha az duyarlı hale gelir ve bölgeler arasında veri çoğaltması son uygulama durumunuzu kurtarmanıza olanak tanır.
Aks çözümü için kurtarılabilirlik sağlayabilen birden çok desen olsa da, bu kılavuz AKS için önerilen etkin-etkin yüksek kullanılabilirlik çözümünü özetler. Bu çözümde iki bağımsız ve özdeş AKS kümesini, iki kümenin de etkin olarak trafiğe hizmet veren iki eşleştirilmiş Azure bölgesine dağıtacağız.
Not
Aşağıdaki kullanım örneği AKS içinde standart uygulama olarak kabul edilebilir. Şirket içinde incelendi ve Microsoft iş ortaklarımızla birlikte incelendi.
Etkin-etkin yüksek kullanılabilirlik çözümüne genel bakış
Bu çözüm, trafiğe etkin bir şekilde hizmet vermek için yapılandırılmış iki özdeş AKS kümesine dayanır. Trafiği bu kümeler arasında dağıtmak için iki kümenin önüne Azure Front Door gibi bir genel trafik yöneticisi yerleştirirsiniz. Kümeleri, çözümün çalışması için gereken tüm uygulamaların bir örneğini barındıracak şekilde tutarlı bir şekilde yapılandırmanız gerekir.
Kullanılabilirlik alanları, aynı bölge içindeki AKS kümeniz için yüksek kullanılabilirlik ve hataya dayanıklılık sağlamanın başka bir yoludur. Kullanılabilirlik alanları, küme düğümlerinizi bir Azure bölgesindeki birden çok yalıtılmış konuma dağıtmanıza olanak sağlar. Bu şekilde, bir bölge güç kesintisi, donanım hatası veya ağ sorunu nedeniyle kapanırsa kümeniz çalışmaya ve uygulamalarınıza hizmet etmeye devam edebilir. Kullanılabilirlik alanları ayrıca düğümler arasındaki gecikme süresini ve çekişmesini azaltarak kümenizin performansını ve ölçeklenebilirliğini artırır. AKS kümenizin kullanılabilirlik alanlarını ayarlamak için düğüm havuzlarınızı oluştururken veya güncelleştirirken bölge numaralarını belirtmeniz gerekir. Daha fazla bilgi için bkz. Azure kullanılabilirlik alanları nelerdir?
Not
Birçok bölge kullanılabilirlik alanlarını destekler. İş yükleriniz için daha fazla dayanıklılık ve kullanılabilirlik sağlamak için kullanılabilirlik alanları olan bölgeleri kullanmayı göz önünde bulundurun. Daha fazla bilgi için bkz . Bölge genelinde hizmet kesintisinden kurtarma.
Senaryolar ve yapılandırmalar
Bu çözüm en iyi şekilde durum bilgisi olmayan uygulamaları barındırırken ve/veya yatay ölçeklendirme gibi her iki bölgede de dağıtılan diğer teknolojilerle uygulanır. Barındırılan uygulamanın yalnızca bir bölgede etkin olarak etkin olarak bulunan veritabanları gibi kaynaklara bağlı olduğu senaryolarda, etkin-pasifin etkin-etkinden daha fazla kapalı kalma süresi olduğundan, olası maliyet tasarrufu için etkin-pasif bir çözüm uygulamanızı öneririz.
Bileşenler
Etkin-etkin yüksek kullanılabilirlik çözümü birçok Azure hizmetini kullanır. Bu bölüm yalnızca bu çok kümeli mimariye özgü bileşenleri kapsar. Kalan bileşenler hakkında daha fazla bilgi için bkz . AKS temel mimarisi.
Birden çok küme ve bölge: Her birinde ayrı bir Azure bölgesinde birden çok AKS kümesi dağıtırsınız. Normal işlemler sırasında Azure Front Door yapılandırmanız tüm bölgeler arasındaki ağ trafiğini yönlendirir. Bir bölge kullanılamaz duruma gelirse, trafik kullanıcı için en hızlı yükleme süresine sahip bir bölgeye yönlendirir.
Bölge başına merkez-uç ağı: Her bölgesel AKS örneği için bölgesel merkez-uç ağ çifti dağıtılır. Azure Güvenlik Duvarı Yöneticisi ilkeleri tüm bölgelerde güvenlik duvarı ilkelerini yönetir.
Bölgesel anahtar deposu: AKS örneğine özgü hassas değerleri ve anahtarları depolamak ve bu bölgede bulunan hizmetleri desteklemek için her bölgede Azure Key Vault sağlarsınız.
Azure Front Door: Azure Front Door, trafiği dengeler ve her AKS kümesinin önünde yer alan bölgesel bir Azure Uygulaması lication Gateway örneğine yönlendirir. Azure Front Door, katman yedi genel yönlendirmeye olanak tanır.
Log Analytics: Bölgesel Log Analytics örnekleri bölgesel ağ ölçümlerini ve tanılama günlüklerini depolar. Paylaşılan örnek, tüm AKS örnekleri için ölçümleri ve tanılama günlüklerini depolar.
Container Registry: İş yükünün kapsayıcı görüntüleri yönetilen bir kapsayıcı kayıt defterinde depolanır. Bu çözümle, kümedeki tüm Kubernetes örnekleri için tek bir Azure Container Registry örneği kullanılır. Azure Container Registry için coğrafi çoğaltma, görüntüleri seçili Azure bölgelerine çoğaltmanıza olanak tanır ve bir bölgede kesinti yaşansa bile görüntülere sürekli erişim sağlar.
Yük devretme işlemi
Bir hizmet veya hizmet bileşeni bir bölgede kullanılamaz duruma gelirse trafik, hizmetin kullanılabilir olduğu bir bölgeye yönlendirilmelidir. Çok bölgeli mimari birçok farklı hata noktası içerir. Bu bölümde olası hata noktalarını ele alacağız.
Uygulama Podları (Bölgesel)
Kubernetes dağıtım nesnesi bir podun (ReplicaSet) birden çok çoğaltmasını oluşturur. Biri kullanılamıyorsa, trafik kalan çoğaltmalar arasında yönlendirilir. Kubernetes ReplicaSet , belirtilen sayıda çoğaltmayı çalışır durumda tutmaya çalışır. Bir örnek devre dışı kalırsa yeni bir örnek yeniden oluşturulmalıdır. Canlılık yoklamaları podda çalışan uygulamanın veya işlemin durumunu denetleyebilir. Pod yanıt vermiyorsa canlılık yoklaması podu kaldırır ve bu da ReplicaSet'i yeni bir örnek oluşturmaya zorlar.
Daha fazla bilgi için bkz . Kubernetes ReplicaSet.
Uygulama Podları (Genel)
Tüm bölge kullanılamaz duruma geldiğinde, kümedeki podlar artık istek sunmak için kullanılamaz. Bu durumda, Azure Front Door örneği tüm trafiği kalan sistem durumu bölgelerine yönlendirir. Bu bölgelerdeki Kubernetes kümeleri ve podları isteklere hizmet etmeye devam eder. Artan trafiği ve kalan kümeye yönelik istekleri telafi etmek için aşağıdaki yönergeleri göz önünde bulundurun:
- Ağ ve işlem kaynaklarının, bölge yük devretmesi nedeniyle trafikteki ani artışı emecek şekilde doğru boyutlandırıldığından emin olun. Örneğin, Azure Container Network Interface (CNI) kullanırken, ani trafik yükü olan tüm pod IP'lerini destekleyebilecek bir alt ağınız olduğundan emin olun.
- Artan bölgesel talebi telafi etmek üzere pod çoğaltma sayısını artırmak için Yatay Pod Otomatik Ölçeklendiricisi'ni kullanın.
- Artan bölgesel talebi telafi etmek üzere Kubernetes örnek düğümü sayılarını artırmak için AKS Kümesi Otomatik Ölçeklendiricisi'ni kullanın.
Kubernetes düğüm havuzları (Bölgesel)
Bazen, tek bir Azure sunucu rafında güç kullanılamaması gibi işlem kaynaklarında yerelleştirilmiş hata oluşabilir. AKS düğümlerinizi tek nokta bölgesel hata haline getirmekten korumak için Azure Kullanılabilirlik Alanları kullanın. Kullanılabilirlik alanları, her kullanılabilirlik alanındaki AKS düğümlerinin başka bir kullanılabilirlik alanında tanımlananlardan fiziksel olarak ayrılmasını sağlar.
Kubernetes düğüm havuzları (Genel)
Tam bir bölgesel hatada, Azure Front Door trafiği kalan iyi durumdaki bölgelere yönlendirir. Yine, artan trafiği ve kalan kümeye yönelik istekleri telafi etmeye özen gösterin.
Yük devretme testi stratejisi
Aks'de şu anda test amacıyla tüm dağıtım bölgesini çökertmeye yönelik bir mekanizma olmasa da Azure Chaos Studio, kümenizde bir kaos denemesi oluşturma olanağı sunar.
Sonraki adımlar
Farklı bir çözüm kullanmayı düşünüyorsanız aşağıdaki makalelere bakın:
Azure Kubernetes Service