Distribuzione e configurazione di StackGres

Dovrai creare un cluster Oracle Container Engine for Kubernetes, distribuire StackGres su di esso e quindi creare il tuo database.

Prima di iniziare, è necessario impostare l'architettura OCI. Le istruzioni riportate di seguito presuppongono che tutto sia pronto oltre al cluster Kubernetes e al database.

Creare un cluster Kubernetes

Crea un'istanza di Oracle Cloud Infrastructure Container Engine for Kubernetes nel tuo compartimento per la distribuzione StackGres.

  1. Nel menu principale della console OCI selezionare Servizi per sviluppatori.
  2. In Container e artifact selezionare Cluster Kubernetes (OKE).
    Tutti i cluster esistenti nel compartimento vengono elencati in una tabella.
  3. Fare clic sul pulsante Crea cluster.
  4. Nella finestra di dialogo Crea cluster selezionare Creazione rapida e fare clic su Sottometti.
    L'opzione Creazione rapida creerà tutte le risorse di rete necessarie per questa distribuzione, incluse le subnet. Se sono già state configurate subnet, è possibile utilizzare l'opzione Creazione personalizzata.
  5. Nella procedura guidata Crea cluster (rapido), fornire i valori per i campi e le opzioni riportati di seguito, quindi fare clic su Avanti.
    Ad esempio, questi sono alcuni valori tipici per una distribuzione di piccole dimensioni (3 CPU):
  6. Nel passo Revisione la pagina Risorse da creare fornisce un riepilogo delle informazioni su cluster, rete e pool di nodi. Rivedere attentamente tutte le informazioni visualizzate e, se sono corrette, fare clic su Crea cluster.
    Viene visualizzata la pagina Creazione del cluster e delle risorse di rete associate. Ogni componente da creare è elencato con uno stato aggiornato al completamento del processo automatico. Il completamento del processo richiede in genere circa 15 minuti.
Una volta completata la creazione del cluster Kubernetes, è possibile procedere all'installazione di StackGres nel cluster.

Installare StackGres utilizzando Cloud Shell

Installare StackGres nel nuovo cluster Kubernetes utilizzando l'interfaccia della riga di comando di Oracle Cloud Infrastructure Cloud Shell.

  1. Nella console OCI, passare alla pagina Dettagli cluster per il cluster Kubernetes. Sarà necessario disporre delle informazioni mostrate qui per i passaggi seguenti.
  2. Nella barra superiore della console OCI, accanto al menu a discesa Area, fare clic sull'icona del codice e selezionare Cloud Shell.
    Dopo alcuni istanti, viene aperta l'interfaccia CLI. La console e il prompt mostrano il nome utente, la tenancy, l'area e la cartella home.
  3. Utilizzare il comando create-kubeconfig con il valore ID cluster visualizzato nella pagina Dettagli cluster e nell'area:
    oci ce cluster create-kubeconfig --cluster-id your_cluster_id --file $HOME/.kube/config --region your_region --token-version 2.0.0 --kube-endpoint PUBLIC_ENDPOINT
  4. Verificare che i nodi Kubernetes siano stati avviati correttamente:
    kubectl get nodes
    L'output della console deve elencare ogni nodo con i relativi indirizzi IP e stato Ready.
  5. Verificare che anche i pod siano stati avviati correttamente:
    kubectl get pods -A
    L'output della console dovrebbe elencare tutti i pod nello spazio di nomi del sistema Kube come In esecuzione.
  6. Aggiungere il repository di installazione StackGres utilizzando l'installazione dei pacchetti:
    helm repo add stackgres-charts https://stackgres.io/downloads/stackgres-k8s/stackgres/helm/
    L'output della console deve indicare che l'aggiunta del repository è riuscita.
  7. Eseguire l'installazione:
    helm install --create-namespace --namespace stackgres stackgres-operator stackgres-charts/stackgres-operator
    L'esecuzione dell'installazione richiederà circa cinque minuti.
La console visualizzerà un messaggio che indicherà che STATUS è distribuito, seguito da una lista di comandi utili, incluso il comando con l'URI per l'interfaccia utente dell'operatore StackGres e i comandi get secret per la generazione del nome utente e della password dell'amministratore. Copiare tutto questo output in un file di testo per riferimento futuro.

Configurare il servizio

Configurare il servizio StackGres utilizzando Oracle Cloud Infrastructure Cloud Shell, quindi eseguire il login all'interfaccia utente StackGres.

  1. In Cloud Shell modificare il file di configurazione del servizio modificando il campo Type da ClusterIP a LoadBalancer:
    kubectl edit services stackgres-restapi -n stackgres
    La console carica il file di configurazione nell'editor di testo predefinito, ad esempio vi. In spec: individuare il campo type: e modificare il valore in LoadBalancer. In vi, premere il tasto Esc, quindi digitare :wq per salvare il file.
  2. Recupera il nome di riferimento del servizio:
    kubectl get pods -n stackgres –w
    copiare il nome del pod stackgres-restapi. Ad esempio, stackgres-restapi-684df1e9b-gx455.
  3. Esporre il servizio per accedere alla console Web:
    kubectl expose pod your_stackgres-restapi-pod -n stackgres --type LoadBalancer --port 9443 --name admin-console
    L'output della console deve essere service/admin-console esposto.
  4. Ottenere l'IP e la porta di accesso per il servizio:
    kubectl get services -n stackgres –w
    L'output della console includerà una riga per la console di amministrazione. Copiare i valori per l'IP esterno e la porta. È possibile accedere alla console utilizzando l'URL https://<external-ip>:<port>/admin/index.html
  5. Generare un nome utente e una password per la console utilizzando i comandi segreti forniti durante l'installazione:

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "username = %s\n" (.data.k8sUsername | base64decode) }}'

    kubectl get secret -n stackgres stackgres-restapi --template '{{ printf "password = %s\n" (.data.clearPassword | base64decode) }}'

    Copiare il nome utente e la password.
  6. Eseguire il login alla console StackGres. Passare alla console utilizzando l'URL creato al passo 4 ed eseguire il login utilizzando il nome utente e la password generati al passo 5.
  7. Nel menu a discesa Select a namespace selezionare lo spazio di nomi creato durante l'installazione. Ad esempio, stackgres.
È possibile gestire l'istanza StackGres dalla console StackGres.

Creare un database

Creare e accedere a un database nel cluster StackGres utilizzando la console StackGres.

  1. Nella console StackGres selezionare Cluster StackGres. Quindi fare clic sul collegamento crearne uno nuovo? nella tabella.
  2. Nella procedura guidata Crea cluster immettere i valori per le istanze di database PostgreSQL, quindi fare clic su Crea cluster. Ad esempio, per creare tre istanze per un ambiente di produzione ad alta disponibilità:
    Quando i cluster vengono creati, vengono visualizzati nella console con stato Attivo.
  3. Fare clic su Visualizza informazioni di connessione per visualizzare alcuni comandi utili, inclusi i comandi kubectl per la connessione al client Postgres psql in Cloud Shell. Ad esempio:
    kubectl -n stackgres exec -ti prod-0 -c postgres-util – psql
La distribuzione PostgreSQL è ora attiva e in esecuzione su OCI.