Sdílet prostřednictvím


Pokyny k určení velikosti

Přehled pokynů k určení velikosti

Při plánování nasazení datových služeb Azure Arc naplánujte správné množství:

  • Compute
  • Memory (Paměť)
  • Úložiště

Tyto prostředky jsou vyžadovány pro:

  • Kontroler dat
  • Spravované instance SQL
  • Servery PostgreSQL

Vzhledem k tomu, že se datové služby s podporou Azure Arc nasazují v Kubernetes, máte flexibilitu při přidávání větší kapacity do clusteru Kubernetes v průběhu času výpočetními uzly nebo úložištěm. Tato příručka vysvětluje minimální požadavky a doporučuje velikosti pro některé běžné požadavky.

Obecné požadavky na změnu velikosti

Poznámka:

Pokud neznáte koncepty v tomto článku, můžete si přečíst další informace o zásadách správného řízení prostředků Kubernetes a zápisu o velikosti Kubernetes.

Čísla jader musí být celočíselná hodnota větší nebo rovna jedné.

Při nasazení pomocí Azure CLI (az) použijte k nastavení hodnot paměti mocninu dvou čísel. Konkrétně použijte přípony:

  • Ki
  • Mi
  • Gi

Mezní hodnoty musí být vždy větší než hodnota požadavku, pokud je zadána.

Limitní hodnoty jader jsou fakturovatelná metrika na spravovaných instancích SQL a na serverech PostgreSQL.

Minimální požadavky na nasazení

Nasazení datových služeb s podporou Služby Azure Arc s minimální velikostí by mohlo být považováno za kontroler dat Azure Arc a jednu spravovanou instanci SQL a jeden server PostgreSQL. Pro tuto konfiguraci potřebujete alespoň 16 GB paměti RAM a 4 jádra dostupné kapacity v clusteru Kubernetes. Měli byste zajistit, abyste měli minimální velikost uzlu Kubernetes 8 GB paměti RAM a 4 jádra a celkovou kapacitu 16 GB paměti RAM dostupnou na všech uzlech Kubernetes. Můžete mít například 1 uzel s 32 GB paměti RAM a 4 jádry nebo můžete mít 2 uzly s 16GB pamětí RAM a 4 jádry.

Podrobnosti o velikosti úložiště najdete v článku o konfiguraci úložiště.

Podrobnosti o velikosti kontroleru dat

Kontroler dat je kolekce podů nasazených do clusteru Kubernetes, která poskytuje rozhraní API, službu kontroleru, bootstrapper a monitorovací databáze a řídicí panely. Tato tabulka popisuje výchozí hodnoty požadavků na paměť a procesor a omezení.

Název podu Žádost o procesor Žádost o paměť Limit procesoru Limit paměti
bootstrapper 100m 100Mi 200m 200Mi
control 400m 2Gi 1800m 2Gi
controldb 200m 4Gi 800m 6Gi
logsdb 200m 1600Mi 2 1600Mi
logsui 100m 500Mi 2 2Gi
metricsdb 200m 800Mi 400m 2Gi
metricsdc 100m 200Mi 200m 300Mi
metricsui 20m 200Mi 500m 200Mi

metricsdc je , daemonsetkterý se vytvoří na každém uzlu Kubernetes ve vašem clusteru. Čísla v tabulce jsou na jeden uzel. Pokud jste před vytvořením kontroleru dat nastavili allowNodeMetricsCollection = false soubor profilu nasazení, daemonset toto nastavení se nevytvoří.

Výchozí nastavení podů controldb a podů ovládacích prvků v souboru YAML kontroleru dat můžete přepsat. Příklad:

  resources:
    controller:
      limits:
        cpu: "1000m"
        memory: "3Gi"
      requests:
        cpu: "800m"
        memory: "2Gi"
    controllerDb:
      limits:
        cpu: "800m"
        memory: "8Gi"
      requests:
        cpu: "200m"
        memory: "4Gi"

Podrobnosti o velikosti úložiště najdete v článku o konfiguraci úložiště.

Podrobnosti o velikosti spravované instance SQL

Každá spravovaná instance SQL musí mít následující minimální požadavky a omezení prostředků:

Úroveň služby Pro obecné účely Pro důležité obchodní informace
Žádost o procesor Minimum: 1
Maximum: 24
Výchozí hodnota: 2
Minimum: 3
Maximum: neomezené
Výchozí: 4
Limit procesoru Minimum: 1
Maximum: 24
Výchozí hodnota: 2
Minimum: 3
Maximum: neomezené
Výchozí: 4
Žádost o paměť Minimální: 2Gi
Maximum: 128Gi
Výchozí: 4Gi
Minimální: 2Gi
Maximum: neomezené
Výchozí: 4Gi
Limit paměti Minimální: 2Gi
Maximum: 128Gi
Výchozí: 4Gi
Minimální: 2Gi
Maximum: neomezené
Výchozí: 4Gi

Každý vytvořený pod spravované instance SQL má tři kontejnery:

Název kontejneru Požadavek na procesor Požadavek na paměť Limit procesoru Limit paměti Notes
fluentbit 100m 100Mi Neurčeno Neurčeno Požadavky fluentbit na prostředky kontejneru jsou navíc k požadavkům zadaným pro spravovanou instanci SQL.
arc-sqlmi Uživatel zadal nebo nebyl zadán. Uživatel zadal nebo nebyl zadán. Uživatel zadal nebo nebyl zadán. Uživatel zadal nebo nebyl zadán.
collectd Neurčeno Neurčeno Neurčeno Neurčeno

Výchozí velikost svazku pro všechny trvalé svazky je 5Gi.

Podrobnosti o velikosti serveru PostgreSQL

Každý uzel serveru PostgreSQL musí mít následující minimální požadavky na prostředky:

  • Paměť: 256Mi
  • Jádra: 1

Každý vytvořený pod serveru PostgreSQL má tři kontejnery:

Název kontejneru Požadavek na procesor Požadavek na paměť Limit procesoru Limit paměti Notes
fluentbit 100m 100Mi Neurčeno Neurčeno Požadavky fluentbit na prostředky kontejneru jsou kromě požadavků zadaných pro server PostgreSQL.
postgres Uživatel zadal nebo nebyl zadán. Zadaný uživatel nebo 256Mi (výchozí). Uživatel zadal nebo nebyl zadán. Uživatel zadal nebo nebyl zadán.
arc-postgresql-agent Neurčeno Neurčeno Neurčeno Neurčeno

Kumulativní velikost

Celková velikost prostředí vyžadovaného pro datové služby s podporou Služby Azure Arc je primárně funkcí počtu a velikosti instancí databáze. Celková velikost může být obtížná předpovědět předem, protože víte, že počet instancí se může zvětšit a zmenšit a množství prostředků, které jsou potřeba pro každou instanci databáze, se může změnit.

Základní velikost pro dané prostředí datových služeb s podporou Služby Azure Arc je velikost kontroleru dat, která vyžaduje 4 jádra a 16 GB paměti RAM. Odtud přidejte kumulativní součet jader a paměti vyžadovaných pro instance databáze. Sql Managed Instance vyžaduje pro každou instanci jeden pod. Server PostgreSQL vytvoří pro každý server jeden pod.

Kromě jader a paměti, které požadujete pro každou instanci databáze, byste měli přidat 250m jádra a 250Mi paměť RAM pro kontejnery agentů.

Příklad výpočtu velikosti

Požadavky:

  • SQL1: 1 spravovaná instance SQL s 16 GB paměti RAM, 4 jádry
  • SQL2: 1 spravovaná instance SQL s 256 GB paměti RAM, 16 jader
  • "Postgres1": 1 server PostgreSQL s 12 GB paměti RAM, 4 jádra

Výpočty velikosti:

  • Velikost "SQL1" je: 1 pod * ([16Gi RAM, 4 cores] + [250Mi RAM, 250m cores]). Pro agenty na pod používají 16.25 Gi paměť RAM a 4,25 jader.

  • Velikost "SQL2" je: 1 pod * ([256Gi RAM, 16 cores] + [250Mi RAM, 250m cores]). Pro agenty na pod používají 256.25 Gi paměť RAM a 16,25 jader.

  • Celková velikost SQL 1 a SQL 2 je:

    • (16.25 GB + 256.25 Gi) = 272.5-GB RAM
    • (4.25 cores + 16.25 cores) = 20.5 cores
  • Velikost "Postgres1" je: 1 pod * ([12Gi RAM, 4 cores] + [250Mi RAM, 250m cores]). Pro agenty na pod používají 12.25 Gi paměť RAM a 4.25 jádra.

  • Celková požadovaná kapacita:

    • Pro instance databáze:
      • 272,5 GB PAMĚTI RAM
      • 20,5 jader
    • Pro SQL:
      • 12,25 GB PAMĚTI RAM
      • 4,25 jader
    • Server PostgreSQL
      • 284,75 GB PAMĚTI RAM
      • 24,75 jader
  • Celková kapacita požadovaná pro instance databáze a kontroler dat je:

    • Pro instanci databáze
      • 284,75 GB PAMĚTI RAM
      • 24,75 jader
    • Pro kontroler dat
      • 16 GB PAMĚTI RAM
      • 4 jádra
    • Dohromady:
      • 300,75 GB PAMĚTI RAM
      • 28,75 jader.

Podrobnosti o velikosti úložiště najdete v článku o konfiguraci úložiště.

Ostatní úvahy

Mějte na paměti, že daný požadavek na velikost instance databáze pro jádra nebo paměť RAM nemůže překročit dostupnou kapacitu uzlů Kubernetes v clusteru. Pokud je například největší uzel Kubernetes, který máte v clusteru Kubernetes, 256 GB paměti RAM a 24 jader, nemůžete vytvořit instanci databáze s požadavkem 512 GB paměti RAM a 48 jader.

Udržujte alespoň 25 % dostupné kapacity napříč uzly Kubernetes. Tato kapacita umožňuje Kubernetes:

  • Efektivní plánování vytváření podů
  • Povolení elastického škálování
  • Podporuje postupné upgrady uzlů Kubernetes.
  • Usnadňuje dlouhodobější růst na vyžádání.

Ve výpočtech velikosti přidejte požadavky na prostředky systémových podů Kubernetes a jakékoli jiné úlohy, které můžou sdílet kapacitu s datovými službami s podporou Azure Arc ve stejném clusteru Kubernetes.

Pokud chcete zajistit vysokou dostupnost během plánované údržby a kontinuity havárie, naplánujte alespoň jeden z uzlů Kubernetes ve vašem clusteru, aby byl v daném okamžiku nedostupný. Kubernetes se pokusí přeplánovat pody spuštěné na daném uzlu, který byl odebrán kvůli údržbě nebo kvůli selhání. Pokud na zbývajících uzlech není k dispozici žádná kapacita, nebudou se tyto pody znovu upravovat pro vytvoření, dokud nebude znovu k dispozici kapacita. Buďte opatrní u velkých databázových instancí. Pokud je například jeden uzel Kubernetes dostatečně velký, aby splňoval požadavky na prostředky velké databázové instance a tento uzel selže, Kubernetes neplánuje tento pod instance databáze do jiného uzlu Kubernetes.

Mějte na paměti maximální limity pro velikost clusteru Kubernetes.

Správce Kubernetes možná nastavil kvóty prostředků pro váš obor názvů nebo projekt. Při plánování velikostí instancí databáze mějte tyto kvóty na paměti.