Vytvoření serveru PostgreSQL pomocí nástrojů Kubernetes
Poznámka:
Jako funkce ve verzi Preview platí, že technologie uvedená v tomto článku podléhá dodatečným podmínkám použití pro verze Microsoft Azure Preview.
Nejnovější aktualizace jsou k dispozici v poznámkách k verzi.
Požadavky
Už byste měli vytvořit kontroler dat.
Pokud chcete vytvořit server PostgreSQL pomocí nástrojů Kubernetes, budete muset mít nainstalované nástroje Kubernetes. Příklady v tomto článku se použijí kubectl
, ale podobné přístupy je možné použít s jinými nástroji Kubernetes, jako je řídicí panel Kubernetes, oc
nebo helm
pokud znáte tyto nástroje a Kubernetes yaml/json.
Přehled
Pokud chcete vytvořit server PostgreSQL, musíte vytvořit tajný kód Kubernetes pro bezpečné uložení přihlašovacích údajů a hesla správce postgres a vlastního prostředku serveru PostgreSQL na postgresqls
základě vlastních definic prostředků.
Vytvoření souboru yaml
Soubor yaml šablony můžete použít jako výchozí bod k vytvoření vlastního souboru yaml serveru PostgreSQL. Stáhněte si tento soubor do místního počítače a otevřete ho v textovém editoru. Je užitečné použít textový editor, jako je VS Code , který podporuje zvýrazňování syntaxe a lintování souborů yaml.
Příklad souboru yaml:
apiVersion: v1
data:
username: <your base64 encoded username>
password: <your base64 encoded password>
kind: Secret
metadata:
name: pg1-login-secret
type: Opaque
---
apiVersion: arcdata.microsoft.com/v1beta3
kind: postgresql
metadata:
name: pg1
spec:
scheduling:
default:
resources:
limits:
cpu: "4"
memory: 4Gi
requests:
cpu: "1"
memory: 2Gi
services:
primary:
type: LoadBalancer # Modify service type based on your Kubernetes environment
storage:
data:
volumes:
- className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 5Gi
logs:
volumes:
- className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 5Gi
Přizpůsobení přihlášení a hesla
Tajný kód Kubernetes je uložený jako řetězec kódovaný jako base64 – jeden pro uživatelské jméno a druhý pro heslo. Budete muset zakódovat přihlašovací jméno a heslo správce base64 a umístit je do zástupného umístění na data.password
adrese a data.username
. Nezahrnujte symboly <
a >
symboly uvedené v šabloně.
K kódování požadovaného uživatelského jména a hesla můžete použít online nástroj nebo můžete použít integrované nástroje rozhraní příkazového řádku v závislosti na vaší platformě.
PowerShell
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('<your string to encode here>'))
#Example
#[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('example'))
Linux/macOS
echo -n '<your string to encode here>' | base64
#Example
# echo -n 'example' | base64
Přizpůsobení názvu
Šablona má hodnotu pg1
atributu name. Tuto hodnotu můžete změnit, ale musí to být znaky, které splňují standardy pojmenování DNS. Pokud název změníte, změňte název tajného kódu tak, aby odpovídal. Pokud například změníte název serveru PostgreSQL na pg2
, musíte změnit název tajného klíče z pg1-login-secret
na pg2-login-secret
Přizpůsobení požadavků na prostředky
Podle potřeby můžete změnit požadavky na prostředky – omezení paměti RAM a jádra a požadavky.
Požadavky na limity a požadavky na prostředky:
- Hodnota limitu počtu jader se vyžaduje pro účely fakturace.
- Zbývající požadavky a limity prostředků jsou volitelné.
- Limit počtu jader a požadavek musí být kladné celé číslo, pokud je zadáno.
- Minimální hodnota jednoho jádra se vyžaduje pro požadavek na jádra( pokud je zadáno).
- Formát hodnoty paměti se řídí zápisem Kubernetes.
Přizpůsobení typu služby
V případě potřeby je možné typ služby změnit na NodePort. Přiřadí se náhodné číslo portu.
Přizpůsobení úložiště
Třídy úložiště můžete přizpůsobit tak, aby odpovídaly vašemu prostředí. Pokud si nejste jistí, které třídy úložiště jsou k dispozici, spusťte příkaz kubectl get storageclass
, který je zobrazí. Šablona má výchozí hodnotu default
. Tato hodnota znamená, že existuje třída úložiště s názvem default
ne, že existuje třída úložiště, která je výchozí. Volitelně můžete také změnit velikost úložiště. O konfiguraci úložiště si můžete přečíst další informace.
Vytvoření serveru PostgreSQL
Teď, když jste přizpůsobili soubor yaml serveru PostgreSQL, můžete vytvořit server PostgreSQL spuštěním následujícího příkazu:
kubectl create -n <your target namespace> -f <path to your yaml file>
#Example
#kubectl create -n arc -f C:\arc-data-services\postgres.yaml
Monitorování stavu vytváření
Vytvoření serveru PostgreSQL bude trvat několik minut. Průběh můžete sledovat v jiném okně terminálu pomocí následujících příkazů:
Poznámka:
Následující ukázkové příkazy předpokládají, že jste vytvořili server PostgreSQL s názvem pg1
a oborem názvů Kubernetes s názvem arc
. Pokud jste použili jiný název oboru názvů nebo serveru PostgreSQL, můžete je nahradit a pg1
pojmenovatarc
.
kubectl get postgresqls/pg1 --namespace arc
kubectl get pods --namespace arc
Stav vytváření libovolného podu můžete také zkontrolovat spuštěním kubectl describe
příkazu. Tento describe
příkaz je užitečný zejména při řešení potíží. Příklad:
kubectl describe pod/<pod name> --namespace arc
#Example:
#kubectl describe pod/pg1-0 --namespace arc
Řešení potíží s vytvářením
Pokud při vytváření narazíte na nějaké potíže, prohlédnou si průvodce odstraňováním potíží.