Azure Kubernetes Service (AKS) için yüksek kullanılabilirliğe ve olağanüstü durum kurtarmaya genel bakış

Bulutta uygulama oluştururken ve yönetirken kesintilerden ve olağanüstü durumlardan kaynaklanan kesintiler her zaman risk altındadır. İş sürekliliğini (BC) sağlamak için yüksek kullanılabilirlik (HA) ve olağanüstü durum kurtarma (DR) planlamanız gerekir.

HA, son derece güvenilir olan ve en düşük kapalı kalma süresiyle karşılaşan bir sistem veya hizmetin tasarımını ve uygulamasını ifade eder. HA, bir sistemin veya hizmetin hedeflenen işlevini gerçekleştirmek için kullanılabilir olmasını sağlayan araçlar, teknolojiler ve süreçlerin bir birleşimidir. HA, DR planlamasının kritik bir bileşenidir. DR, olağanüstü durumdan kurtarma ve iş operasyonlarını normal duruma geri yükleme işlemidir. DR, iş işlevlerini koruma veya büyük bir kesinti durumunda bunları hızla sürdürme süreci olan BC'nin bir alt kümesidir.

Bu makale AKS'ye dağıtılan uygulamalar için önerilen bazı uygulamaları kapsar, ancak hiçbir şekilde olası çözümlerin kapsamlı bir listesi olarak tasarlanmamıştır.

Teknolojiye genel bakış

Kubernetes kümesi iki bileşene ayrılır:

  • Temel Kubernetes hizmetlerini ve uygulama iş yüklerinin düzenlemesini sağlayan denetim düzlemi ve
  • Uygulama iş yüklerinizi çalıştıran düğümler.

Kubernetes denetim düzlemi ve düğüm bileşenlerinin diyagramı.

AKS kümesi oluşturduğunuzda Azure platformu otomatik olarak bir denetim düzlemi oluşturur ve yapılandırılır. AKS, küme yönetimi için iki fiyatlandırma katmanı sunar: Ücretsiz katman ve Standart katman. Daha fazla bilgi için bkz . AKS küme yönetimi için Ücretsiz ve Standart fiyatlandırma katmanları.

Denetim düzlemi ve kaynakları yalnızca kümeyi oluşturduğunuz bölgede bulunur. AKS, ayrılmış bir API sunucusu, zamanlayıcı vb. ile tek kiracılı bir denetim düzlemi sağlar. Düğümlerin sayısını ve boyutunu tanımlarsınız ve Azure platformu denetim düzlemi ile düğümler arasındaki güvenli iletişimi yapılandırılır. Kontrol düzlemi ile etkileşim Kubernetes API'leri (veya Kubernetes panosu gibi kubectl ) aracılığıyla gerçekleşir.

Uygulamalarınızı ve destekleyici hizmetleri çalıştırmak için bir Kubernetes düğümüne ihtiyacınız vardır. AKS kümesinde en az bir düğüm, Kubernetes düğüm bileşenlerini ve kapsayıcı çalışma zamanını çalıştıran bir Azure sanal makinesi (VM) bulunur. Düğümlerinizin Azure VM boyutu CPU'ları, belleği, boyutu ve kullanılabilir depolama türünü (yüksek performanslı SSD veya normal HDD gibi) tanımlar. Uygulamalarınızın büyük miktarda CPU ve bellek mi yoksa yüksek performanslı depolama alanı mı gerektirebileceği konusunda VM'yi ve depolama boyutunu planlayın. AKS'de, kümenizin düğümlerinin VM görüntüsü Ubuntu Linux, Azure Linux veya Windows Server 2022'yi temel alır. Aks kümesi oluşturduğunuzda veya düğüm sayısını genişlettiğiniz zaman Azure platformu istenen sayıda VM'yi otomatik olarak oluşturur ve yapılandırr.

AKS'deki küme ve iş yükü bileşenleri hakkında daha fazla bilgi için bkz . AKS için Kubernetes temel kavramları.

Dikkat edilmesi gereken önemli hususlar

Bölgesel ve küresel kaynaklar

Bölgesel kaynaklar , tek bir Azure bölgesine dağıtım damgasının parçası olarak sağlanır. Bu kaynaklar diğer bölgelerdeki kaynaklarla hiçbir şey paylaşmaz ve bağımsız olarak kaldırılabilir veya diğer bölgelere çoğaltılabilir. Daha fazla bilgi için bkz . Bölgesel kaynaklar.

Genel kaynaklar sistemin ömrünü paylaşır ve çok bölgeli dağıtım bağlamında genel olarak kullanılabilir. Daha fazla bilgi için bkz . Genel kaynaklar.

Kurtarma hedefleri

Tam bir olağanüstü durum kurtarma planı, uygulamanın uyguladığı her işlem için iş gereksinimlerini belirtmelidir:

  • Kurtarma Noktası Hedefi (RPO), kabul edilebilir veri kaybı süresi üst sınırıdır. RPO dakika, saat veya gün gibi zaman birimleriyle ölçülür.
  • Kurtarma Süresi Hedefi (RTO), belirtiminize göre tanımlanan kapalı kalma süresiyle kabul edilebilir maksimum kapalı kalma süresidir. Örneğin, olağanüstü durumda kabul edilebilir kapalı kalma süresi sekiz saatse, RTO sekiz saattir.

Kullanılabilirlik alanları

Kullanılabilirlik alanlarını kullanarak verilerinizi aynı bölgedeki birden çok bölgeye yayabilirsiniz. Bir bölge içinde kullanılabilirlik alanları, diğer kullanılabilirlik alanlarına düşük gecikme süreli bağlantılara sahip olacak kadar yakındır, ancak yerel kesintilerden veya hava durumundan birden fazla kişinin etkilenme olasılığını azaltmak için yeterince uzaktır. Daha fazla bilgi için bkz. kullanılabilirlik alanlarını ve bölgelerini kullanmak için Öneriler.

Bölgesel dayanıklılık

AKS kümeleri bölgesel hatalara dayanıklıdır. Bir bölge başarısız olursa, küme kalan bölgelerde çalışmaya devam eder. Kümenin denetim düzlemi ve düğümleri bölgelere yayılır ve Azure platformu düğümlerin dağıtımını otomatik olarak işler. Daha fazla bilgi için bkz . AKS bölgesel dayanıklılığı.

Yük dengeleme

Genel yük dengeleme

Genel yük dengeleme hizmetleri trafiği bölgesel arka uçlar, bulutlar veya hibrit şirket içi hizmetler arasında dağıtır. Bu hizmetler son kullanıcı trafiğini kullanılabilir en yakın arka uca yönlendirir. Ayrıca, kullanılabilirliği ve performansı en üst düzeye çıkarmak için hizmet güvenilirliği veya performansındaki değişikliklere de tepki gösterir. Aşağıdaki Azure hizmetleri genel yük dengeleme sağlar:

Bölgesel yük dengeleme

Bölgesel yük dengeleme hizmetleri, sanal ağlar içindeki trafiği vm'ler arasında veya bölge içindeki bölgesel ve alanlar arası yedekli hizmet uç noktalarına dağıtır. Aşağıdaki Azure hizmetleri bölgesel yük dengeleme sağlar:

Gözlemlenebilirlik

Etkili işlemlere ve güvenilirliği en üst düzeye çıkarmak için uygulamalardan ve altyapıdan veri toplamanız gerekir. Azure, AKS iş yüklerinizi izlemenize ve yönetmenize yardımcı olacak araçlar sağlar. Daha fazla bilgi için bkz . Gözlemlenebilirlik kaynakları.

Kapsam tanımı

AKS kümelerini yönetirken uygulama çalışma süresi önemli hale gelir. VARSAYıLAN olarak AKS, sanal makine ölçek kümesinde birden çok düğüm kullanarak yüksek kullanılabilirlik sağlar, ancak bu düğümler sisteminizi bir bölge hatasına karşı korumaz. Çalışma sürenizi en üst düzeye çıkarmak için, aşağıdaki en iyi yöntemleri kullanarak iş sürekliliğini korumak ve olağanüstü durum kurtarma için hazırlanmak için önceden plan yapın:

  • Birden çok bölgede AKS kümelerini planlama.
  • Azure Traffic Manager kullanarak trafiği birden çok küme arasında yönlendirme.
  • Kapsayıcı görüntüsü kayıt defterleriniz için coğrafi çoğaltmayı kullanın.
  • Birden çok kümede uygulama durumunu planlayın.
  • Depolamayı birden çok bölgede çoğaltma.

Dağıtım modeli uygulamaları

Dağıtım modeli Avantajlar Dezavantajlar
Etkin-etkin • Yük devretme sırasında veri kaybı veya tutarsızlık olmaz
• Yüksek dayanıklılık
• Daha yüksek performansa sahip kaynakların daha iyi kullanımı
• Karmaşık uygulama ve yönetim
• Daha yüksek maliyet
• Yük dengeleyici ve trafik yönlendirme biçimi gerektirir
Aktif-pasif • Daha basit uygulama ve yönetim
• Daha düşük maliyet
• Yük dengeleyici veya trafik yöneticisi gerektirmez
• Yük devretme sırasında veri kaybı veya tutarsızlık olasılığı
• Daha uzun kurtarma süresi ve kapalı kalma süresi
• Kaynakların az kullanımı
Pasif soğuk • En düşük maliyet
• Eşitleme, çoğaltma, yük dengeleyici veya trafik yöneticisi gerektirmez
• Düşük öncelikli, kritik olmayan iş yükleri için uygundur
• Yük devretme sırasında yüksek veri kaybı veya tutarsızlık riski
• En uzun kurtarma süresi ve kapalı kalma süresi
• Kümeyi etkinleştirmek ve yedeklemeyi tetikleyebilmek için el ile müdahale gerektirir

Etkin-etkin yüksek kullanılabilirlik dağıtım modeli

Etkin-etkin yüksek kullanılabilirlik (HA) dağıtım modelinde, trafiğe etkin olarak hizmet veren iki farklı Azure bölgesine (genellikle Orta Kanada ve Doğu Kanada ya da ABD Doğu 2 ve ABD Orta gibi eşleştirilmiş bölgeler) dağıtılan iki bağımsız AKS kümeniz vardır.

Bu örnek mimariyle:

  • İki AKS kümesini ayrı Azure bölgelerinde dağıtırsınız.
  • Normal işlemler sırasında ağ trafiği her iki bölge arasında yönlendirilir. Bir bölge kullanılamaz duruma gelirse, trafik otomatik olarak isteği veren kullanıcıya en yakın bölgeye yönlendirilir.
  • Her bölgesel AKS örneği için dağıtılmış bir merkez-uç çifti vardır. Azure Güvenlik Duvarı Yöneticisi ilkeleri, güvenlik duvarı kurallarını bölgeler arasında yönetir.
  • Azure Key Vault, gizli dizileri ve anahtarları depolamak için her bölgede sağlanır.
  • 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.
  • Bölgesel Log Analytics örnekleri bölgesel ağ ölçümlerini ve tanılama günlüklerini depolar.
  • İş yükünün kapsayıcı görüntüleri yönetilen bir kapsayıcı kayıt defterinde depolanır. Kümedeki tüm Kubernetes örnekleri için tek bir Azure Container Registry kullanılır. Azure Container Registry için coğrafi çoğaltma, görüntülerin seçilen Azure bölgelerine çoğaltılmasına olanak tanır ve bir bölgede kesinti yaşansa bile görüntülere sürekli erişim sağlar.

AKS'de etkin-etkin dağıtım modeli oluşturmak için aşağıdaki adımları gerçekleştirin:

  1. İki farklı Azure bölgesinde iki özdeş dağıtım oluşturun.

  2. Web uygulamanızın iki örneğini oluşturun.

  3. Aşağıdaki kaynaklarla bir Azure Front Door profili oluşturun:

    • Bir uç nokta.
    • Her biri bir önceliğe sahip iki kaynak grubu.
    • Bir yol.
  4. Ağ trafiğini yalnızca Azure Front Door örneğinden web uygulamalarıyla sınırlayın. 5. Veritabanları, depolama hesapları ve kimlik doğrulama sağlayıcıları gibi diğer tüm arka uç Azure hizmetlerini yapılandırın.

  5. Sürekli dağıtım ile her iki web uygulamasına da kod dağıtın.

Daha fazla bilgi için bkz . AKS için önerilen etkin-etkin yüksek kullanılabilirlik çözümüne genel bakış.

Etkin-pasif olağanüstü durum kurtarma dağıtım modeli

Etkin-pasif olağanüstü durum kurtarma (DR) dağıtım modelinde, trafiğe etkin olarak hizmet veren iki farklı Azure bölgesine (genellikle Orta Kanada ve Doğu Kanada ya da ABD Doğu 2 ve ABD Orta gibi eşleştirilmiş bölgeler) dağıtılan iki bağımsız AKS kümeniz vardır. Kümelerden yalnızca biri herhangi bir zamanda etkin olarak trafiğe hizmet eder. Diğer küme, etkin kümeyle aynı yapılandırma ve uygulama verilerini içerir, ancak bir trafik yöneticisi tarafından yönlendirilmediği sürece trafiği kabul etmez.

Bu örnek mimariyle:

  • İki AKS kümesini ayrı Azure bölgelerinde dağıtırsınız.
  • Normal işlemler sırasında ağ trafiği, Azure Front Door yapılandırmasında ayarladığınız birincil AKS kümesine yönlendirir.
    • Öncelik 1-5 arasında, 1 en yüksek, 5 en düşük olarak ayarlanmalıdır.
    • Birden çok kümeyi aynı öncelik düzeyine ayarlayabilir ve her birinin ağırlığını belirtebilirsiniz.
  • Birincil küme kullanılamaz duruma gelirse (olağanüstü durum oluşursa), trafik otomatik olarak Azure Front Door'da seçilen sonraki bölgeye yönlendirilir.
    • Bu sistemin çalışması için tüm trafiğin Azure Front Door trafik yöneticisinden geçmesi gerekir.
  • Azure Front Door, trafiği birincil bölgedeki Azure Uygulaması Ağ Geçidi'ne yönlendirir (küme 1 önceliğiyle işaretlenmelidir). Bu bölge başarısız olursa, hizmet trafiği öncelik listesindeki bir sonraki kümeye yönlendirir.
    • Kurallar Azure Front Door'tan gelir.
  • Her bölgesel AKS örneği için bir merkez-uç çifti dağıtılır. Azure Güvenlik Duvarı Yöneticisi ilkeleri, güvenlik duvarı kurallarını bölgeler arasında yönetir.
  • Azure Key Vault, gizli dizileri ve anahtarları depolamak için her bölgede sağlanır.
  • Bölgesel Log Analytics örnekleri bölgesel ağ ölçümlerini ve tanılama günlüklerini depolar.
  • İş yükünün kapsayıcı görüntüleri yönetilen bir kapsayıcı kayıt defterinde depolanır. Kümedeki tüm Kubernetes örnekleri için tek bir Azure Container Registry kullanılır. Azure Container Registry için coğrafi çoğaltma, görüntülerin seçilen Azure bölgelerine çoğaltılmasına olanak tanır ve bir bölgede kesinti yaşansa bile görüntülere sürekli erişim sağlar.

AKS'de etkin-pasif dağıtım modeli oluşturmak için aşağıdaki adımları gerçekleştirin:

  1. İki farklı Azure bölgesinde iki özdeş dağıtım oluşturun.

  2. birincil bölge etkin olmadığında birincil uygulamayla aynı örnek sayısına ölçeklendirilecek şekilde ikincil uygulama için otomatik ölçeklendirme kurallarını yapılandırın. Etkin değilken ölçeğinin genişletilmesi gerekmez. Bu, maliyetleri azaltmaya yardımcı olur.

  3. Her kümede bir tane olacak şekilde web uygulamanızın iki örneğini oluşturun.

  4. Aşağıdaki kaynaklarla bir Azure Front Door profili oluşturun:

    • Bir uç nokta.
    • Birincil bölge için önceliğe sahip bir kaynak grubu.
    • İkincil bölge için iki önceliğe sahip ikinci bir kaynak grubu.
    • Bir yol.
  5. Ağ trafiğini yalnızca Azure Front Door örneğinden web uygulamalarıyla sınırlayın.

  6. Veritabanları, depolama hesapları ve kimlik doğrulama sağlayıcıları gibi diğer tüm arka uç Azure hizmetlerini yapılandırın.

  7. Sürekli dağıtım ile her iki web uygulamasına da kod dağıtın.

Daha fazla bilgi için bkz . AKS için önerilen etkin-pasif olağanüstü durum kurtarma çözümüne genel bakış.

Pasif-soğuk yük devretme dağıtım modeli

Pasif-soğuk yük devretme dağıtım modeli, etkin-pasif olağanüstü durum kurtarma dağıtım modeliyle aynı şekilde yapılandırılır, ancak bir kullanıcı olağanüstü durum durumunda kümeleri etkinleştirene kadar kümeler etkin değildir. Etkin-pasife benzer bir yapılandırma içerdiğinden ancak kümeyi etkinleştirmek ve yedeklemeyi tetikleme amacıyla el ile müdahalenin karmaşıklığının artması nedeniyle bu yaklaşımı kapsam dışı olarak değerlendiriyoruz.

Bu örnek mimariyle:

  • Daha iyi dayanıklılık için tercihen farklı bölgelerde veya bölgelerde iki AKS kümesi oluşturursunuz.
  • Yük devretme yapmanız gerektiğinde, trafik akışını devralmak için dağıtımı etkinleştirirsiniz.
  • Birincil pasif kümenin kapanması durumunda, trafik akışını devralmak için soğuk kümeyi el ile etkinleştirmeniz gerekir.
  • Bu koşulun her seferinde el ile girişle veya sizin belirttiğiniz belirli bir olayla ayarlanması gerekir.
  • Azure Key Vault, gizli dizileri ve anahtarları depolamak için her bölgede sağlanır.
  • Bölgesel Log Analytics örnekleri, her küme için bölgesel ağ ölçümlerini ve tanılama günlüklerini depolar.

AKS'de pasif-soğuk yük devretme dağıtım modeli oluşturmak için aşağıdaki adımları gerçekleştirin:

  1. Farklı bölgelerde/bölgelerde iki özdeş dağıtım oluşturun.
  2. birincil bölge etkin olmadığında birincil uygulamayla aynı örnek sayısına ölçeklendirilecek şekilde ikincil uygulama için otomatik ölçeklendirme kurallarını yapılandırın. Etkin olmasa da ölçeğin genişletilmesi gerekmez ve bu da maliyetlerin azaltılmasına yardımcı olur.
  3. Her kümede bir tane olacak şekilde web uygulamanızın iki örneğini oluşturun.
  4. Veritabanları, depolama hesapları ve kimlik doğrulama sağlayıcıları gibi diğer tüm arka uç Azure hizmetlerini yapılandırın.
  5. Soğuk kümenin tetiklenmesi gereken bir koşul ayarlayın. Gerekirse yük dengeleyici kullanabilirsiniz.

Daha fazla bilgi için bkz . AKS için önerilen pasif-soğuk yük devretme çözümüne genel bakış.

Hizmet kotaları ve limitleri

AKS, belirli VM SKU'ları için kullanım kısıtlamaları da dahil olmak üzere kaynaklar ve özellikler için varsayılan sınırları ve kotaları ayarlar.

Kaynak Sınır
Abonelik başına en fazla küme sayısı 5000
Not: Azure API azaltma sınırlarını hesaba katmak için kümeleri farklı bölgelere yayma
Sanal Makine Ölçek Kümeleri ve Standart Load Balancer SKU'su olan küme başına en fazla düğüm sayısı Tüm düğüm havuzları arasında 5000
Not: Küme başına 5000 düğüme kadar ölçeklendirilemiyorsanız bkz . Büyük Kümeler için En İyi Yöntemler.
Düğüm havuzu başına en fazla düğüm sayısı (Sanal Makine Ölçek Kümeleri düğüm havuzları) 1000
Küme başına en fazla düğüm havuzu sayısı 100
Düğüm başına en fazla pod sayısı: Kubenet ağ eklentisi1 ile Maksimum: 250
Azure CLI varsayılanı: 110
Azure Resource Manager şablonu varsayılan: 110
Azure portal dağıtımı varsayılan: 30
Düğüm başına en fazla pod sayısı: Azure Container Networking Interface (Azure CNI)1 ile Maksimum: 250
Windows Server kapsayıcıları için önerilen maksimum değer: 110
Varsayılan: 30
Service Mesh (OSM) AKS eklentisini açma Kubernetes Kümesi Sürümü: AKS Desteklenen Sürümleri
Küme başına OSM denetleyicileri: 1
OSM denetleyicisi başına pod sayısı: 1600
OSM tarafından yönetilen Kubernetes hizmet hesapları: 160
Standart Load Balancer SKU'su ile küme başına yük dengeli kubernetes hizmetleri üst sınırı 300
Sanal Makine Kullanılabilirlik Kümeleri ve Temel Yük Dengeleyici SKU'su ile küme başına en fazla düğüm sayısı 100

1 Windows Server kapsayıcıları Azure CNI ağ eklentisi kullanmalıdır. Kubenet, Windows Server kapsayıcıları için desteklenmez.

Kubernetes Denetim Düzlemi katmanı Sınır
Standart katmanı Kubernetes API sunucusunu yüke göre otomatik olarak ölçeklendirir. Daha büyük kontrol düzlemi bileşen sınırları ve API sunucusu/vb. örnekleri.
Ücretsiz katmanı 50 sessize alma ve 100 salt okunur çağrı sınırına sahip sınırlı kaynak sayısı. Küme başına 10 düğüm için önerilen düğüm sınırı. Deneme, öğrenme ve basit test için en iyi yöntemdir. Üretim/kritik iş yükleri için önerilmez.

Daha fazla bilgi için bkz . AKS hizmet kotaları ve sınırları.

Yedekleme

Azure Backup, aks kümesi kaynaklarının ve kümeye bağlı kalıcı birimlerin yedeklenmesi için yedekleme uzantısını destekler. Backup kasası, yedekleme ve geri yükleme işlemlerini gerçekleştirmek için uzantı aracılığıyla AKS kümesiyle iletişim kurar.

Daha fazla bilgi için aşağıdaki makaleleri inceleyin: