Sdílet prostřednictvím


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, ocnebo helm pokud znáte tyto nástroje a Kubernetes yaml/json.

Instalace nástroje kubectl

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.

Poznámka:

Další informace ozásadách

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íží.