Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 kurtarma olanağı sağlayabilecek birden fazla yaklaşım olsa da bu kılavuz, AKS için önerilen aktif-aktif yüksek kullanılabilirlik çözümünü ana hatlarıyla açıklamaktadır. 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 Bölge genelindeki bir hizmet kesintisinden kurtarma bölümüne bakın.
Senaryolar ve yapılandırmalar
Bu çözüm, durum bilgisi olmayan uygulamaları barındırırken ve/veya yatay ölçeklendirme gibi her iki bölgede de dağıtılmış diğer teknolojiler kullanılırken en uygun şekilde uygulanır. Barındırılan uygulamanın, veritabanları gibi yalnızca tek bir bölgede etkin olan kaynaklara bağımlı olduğu senaryolarda, aktif-pasif yapı aktif-aktif yapıya göre daha fazla kesinti süresine sahip olduğundan, olası maliyet tasarrufu için bunun yerine aktif-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 hub-spoke ağı: Her bölgesel AKS örneği için bir bölgesel hub-spoke 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ğin yükünü dengeler ve trafiği her AKS kümesinin önünde bulunan bölgesel bir Azure Application Gateway örneğine yönlendirir. Azure Front Door, yedinci katman genel yönlendirmesine 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. Bunlardan biri kullanılamıyorsa trafik, geri 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)
Bir bölgenin tamamı kullanılamaz duruma geldiğinde, kümedeki podlar artık isteklere yanıt veremez. Bu durumda, Azure Front Door örneği tüm trafiği geriye kalan sağlıklı bölgelere 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ölgesel yük devretme nedeniyle trafikte yaşanabilecek ani artışı karşılayacak şekilde uygun 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 karşılamak için pod replika sayısını artırmak üzere Horizontal Pod Autoscaler'ı 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, Azure sunucularının tek bir rafında elektriğin kullanılamaz hâle gelmesi gibi, işlem kaynaklarında yerel arızalar meydana gelebilir. Bu etkin-etkin çözümdeki AKS düğümlerinizi tek nokta bölgesel hata haline gelmekten 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 bölgesel bir kesinti durumunda Azure Front Door, trafiği kalan sağlıklı bölgelere yönlendirir. Yine, kalan kümeye gelen artan trafiği ve istekleri dengelediğinizden emin olun.
Yük devretme testi stratejisi
AKS'de şu anda test amacıyla dağıtımın tüm bölgesini çökerten bir mekanizma olmasa da, kümenizin düğüm havuzlarında kullanılabilirlik alanı kesintisinin benzetimini yapmak için Azure Chaos Studio Çalışma Alanları'nı kullanabilirsiniz.
Sonraki adımlar
Farklı bir çözüm kullanmayı düşünüyorsanız aşağıdaki makalelere bakın: