Azure Kubernetes Service'te (AKS) yüksek oranda kullanılabilir bir PostgreSQL veritabanı dağıtmaya genel bakış

Bu kılavuzda, Azure CLI ile AKS üzerinde birden çok Azure kullanılabilirlik alanına yayılan yüksek oranda kullanılabilir bir PostgreSQL kümesi dağıtacaksınız.

Bu makalede, Azure Kubernetes Service'te (AKS) PostgreSQL kümesi ayarlama önkoşulları açıklanmaktadır ve tüm dağıtım sürecine ve mimarisine genel bir bakış sağlanmaktadır.

Önemli

Aks belgeleri ve örnekleri boyunca açık kaynak yazılımdan bahsedilmektedir. Dağıttığınız yazılımlar AKS hizmet düzeyi sözleşmelerinin, sınırlı garantinin ve Azure desteği dışında tutulur. AKS ile birlikte açık kaynak teknolojisini kullanırken, bir plan geliştirmek için ilgili toplulukların ve proje bakımcılarının sağlanan destek seçeneklerine başvurun.

Microsoft, AKS'de dağıttığımız açık kaynak paketleri oluşturma sorumluluğunu üstlenir. Bu sorumluluk, yapı, tarama, imzalama, doğrulama ve hızlı düzeltme sürecinin tam sahipliğini içermenin yanı sıra, konteyner görüntülerindeki ikili dosyaların kontrolünü de kapsar. Daha fazla bilgi için AKS için güvenlik açığı yönetimi ve AKS destek kapsamı başlıklarına bakın.

Önkoşullar

  • Bu kılavuzda temel Kubernetes kavramları ve PostgreSQL hakkında temel bilgiler yer alır.
  • Azure hesabınızdaki bir abonelikte Sahip veya Kullanıcı Erişimi Yöneticisi ve Katkıda BulunanAzure yerleşik rolleri gereklidir.
  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'i kullanmaya başlama.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz. Azure CLI kullanarak Azure'da kimlik doğrulaması.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz . Azure CLI ile uzantıları kullanma ve yönetme.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

Dağıtım işlemi

Bu kılavuzda şunların nasıl yapıldığını öğrenirsiniz:

  • Çok bölgeli aks kümesi oluşturmak için Azure CLI'yi kullanın.
  • CNPG işlecini kullanarak yüksek oranda kullanılabilir bir PostgreSQL kümesi ve veritabanı dağıtın.
  • Prometheus ve Grafana kullanarak PostgreSQL için izlemeyi ayarlayın.
  • PostgreSQL veritabanına örnek veri kümesi dağıtma.
  • PostgreSQL ve AKS kümesi yükseltmeleri gerçekleştirin.
  • Küme kesintisini simüle edin ve PostgreSQL yedek sunucuya geçiş yapın.
  • PostgreSQL veritabanını yedekleme ve geri yükleme gerçekleştirme.

Dağıtım mimarisi

Bu diyagramda, CloudNativePG (CNPG) işleci tarafından yönetilen bir birincil çoğaltma ve iki okuma çoğaltması ile postgreSQL kümesi kurulumu gösterilmektedir. Bu mimari, AKS kümesinde çalışan ve çoğaltmalar arasında yük devretme yaparak bölge kesintisine dayanabilen yüksek erişilebilirliğe sahip bir PostgreSQL sağlar.

Yedeklemeler Azure Blob Depolama'da saklanır ve birincil kopyadan akış çoğaltmasıyla ilgili bir sorun olması durumunda veritabanını geri yüklemek için başka bir yol sağlar.

Veritabanı yapılandırması, uzantıları ve dağıtım mimarisi üzerinde tam denetime ihtiyacınız olduğunda AKS'de PostgreSQL barındırmayı seçebilirsiniz. Kubernetes'in yerel araçlarıyla sıkı bir şekilde tümleştirme, uygun ölçekte maliyetleri iyileştirme ve özel kaynak ayırma, önbelleğe alma stratejileri ve iş yükünüz için uyarlanmış depolama yapılandırmaları aracılığıyla performansta ince ayarlamalar yapmak için idealdir.

AKS üzerinde yüksek oranda kullanılabilir bir PostgreSQL veritabanını kendi kendine barındırmak için CNPG Kubernetes işlecinin mimari diyagramı.

Uyarı

Veritabanı düzeyinde veri ayrımı gerektiren uygulamalar için postInitSQL komutları ve benzeri ile daha fazla veritabanı ekleyebilirsiniz. Şu anda CNPG işleciyle bildirim temelli bir şekilde daha fazla veritabanı eklemek mümkün değildir. CNPG işleci hakkında daha fazla bilgi edinin.

Depolama ile ilgili dikkat edilmesi gerekenler

Kullandığınız depolama türünün PostgreSQL performansı üzerinde büyük etkileri olabilir. Bu kılavuzun ilerleyen bölümlerinde hedeflerinize ve performans gereksinimlerinize en uygun seçeneği belirleyin.

Depolama türü Uyumlu sürücü Açıklama
Premium SSD Azure Disk CSI sürücüsü Maksimum veri dayanıklılığı. Azure Premium SSD, yüksek performanslı depolama sunar ve Azure Premium alanlar arası yedekli depolama (ZRS) ile sorunsuz bir şekilde çalışır. Premium SSD, her biri belirli IOPS ve aktarım hızı düzeyleri sunan belirli boyutlara göre sağlanır.
Premium SSD v2 Azure Disk CSI sürücüsü En iyi fiyat-performans. Azure Premium SSD v2, Azure Premium SSD'lerden daha yüksek performans sunarken genellikle daha az maliyetlidir. Premium SSD'lerin aksine Premium SSD v2'nin özel boyutları yoktur. Desteklenen herhangi bir boyuta ayarlayabileceğiniz bir Premium SSD v2 belirleyebilir ve performansı kesinti olmadan hassas bir şekilde ayarlayabilirsiniz. Azure Premium SSD v2 disklerinde bilmeniz gereken bazı sınırlamalar vardır. Tam liste için bkz . Premium SSD v2 sınırlamaları.
Yerel NVMe veya geçici SSD (Kısa Ömürlü Diskler) Yalnızca Azure Container Storage En yüksek performans. Kısa Ömürlü Diskler yerel NVMe ve belirli VM ailelerinde kullanılabilen geçici SSD depolama alanıdır. AKS kümeniz için mümkün olan en yüksek IOPS, aktarım hızı ve milisaniyenin altında gecikme süresi sunar. Ayrıca PostgreSQL gibi durum bilgisi olan iş yükleri için dinamik olarak kalıcı birimler sağlayan yönetilen bir Kubernetes depolama çözümü olan Azure Container Storage'ı kullanarak Kısa Ömürlü Disklerin yüksek performansından da yararlanabilirsiniz. Ancak, bu diskler kümeyi barındıran yerel VM'lerde bulunduğundan veriler bir Azure depolama hizmetinde kalıcı olmaz. Sonuç olarak, küme durdurulur veya serbest bırakılırsa bu disklerde depolanan tüm veriler kaybolur. Bu sınırlamayı gidermek için, bu kılavuzun sonraki bölümlerinde PostgreSQL verilerinizin Düzenli aralıklarla Azure Blob Depolama'ya nasıl yedeklerinin ayarlanacağı gösterilmektedir.

Sonraki adımlar

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Başlangıçta aşağıdaki katkıda bulunanlar yazdı:

  • Ken Kilty | Başkan TPM
  • Russell de Pina | Baş Sorumlu TPM
  • Adrian Joian | Kıdemli Müşteri Mühendisi
  • Jenny Hayes | Kıdemli İçerik Geliştirici
  • Carol Smith | Kıdemli İçerik Geliştirici
  • Erin Schaffer | İçerik Geliştirici 2
  • Adem Şerif | Müşteri Mühendisi 2

Bildirim

Bu belgeler, CloudNativePG operatörünün bakımcıları enterpriseDB ile birlikte geliştirilmiştir. Gabriele Bartolini'ye bu belgenin önceki taslaklarını gözden geçirip teknik iyileştirmeler sunduğu için teşekkür ederiz.