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 , daemonset
který 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 a4.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
- Pro instance databáze:
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.
- Pro instanci databáze
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.