Para instruções sobre como instalar o AlloyDB Omni em um ambiente Linux padrão, consulte Instalar o AlloyDB Omni.
Visão geral
Para implantar o AlloyDB Omni em um cluster do Kubernetes, instale o operador do AlloyDB Omni, uma extensão da API Kubernetes fornecida pelo Google.
Para configurar e controlar um cluster de banco de dados do AlloyDB Omni baseado no Kubernetes, pareie arquivos de manifesto declarativos com o utilitário kubectl
, assim como qualquer outra implantação baseada no Kubernetes. Você não usa a CLI do AlloyDB Omni, que é destinada a implantações em máquinas Linux individuais e não em clusters do Kubernetes.
Imagem de base
A partir da versão 1.5.0, as imagens do Kubernetes do operador do AlloyDB Omni são criadas com base na Universal Base Image (UBI) 9 da Red Hat. Essa transição melhora a segurança, a consistência e a conformidade das suas implantações.
Compatibilidade do operador do AlloyDB Omni 1.1.0 (e versões mais recentes)
A versão 1.1.0 do operador do AlloyDB Omni não é compatível com as versões 15.5.3 e 15.5.4 do AlloyDB Omni. Se você usa uma dessas versões do AlloyDB Omni, talvez receba um erro semelhante ao seguinte:
Error from server (Forbidden): error when creating "[...]/dbcluster.yaml": admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.3
Antes de começar
Antes de instalar o AlloyDB Omni em um cluster do Kubernetes com o operador do AlloyDB Omni, verifique se você atende aos requisitos a seguir.
Escolher uma opção de download ou instalação
Escolha uma das seguintes opções de download e instalação:
Mídia | Locais de download e guias de instalação | Implantação em |
---|---|---|
Operador do OpenShift com pacote do OLM | Console da Web do Openshift Container Platform | Ambiente do OpenShift |
Operador do Kubernetes com pacote OLM | Artifacthub.io | Traga seu próprio ambiente de contêiner do Kubernetes, por exemplo, local, nuvens públicas, Google Kubernetes Engine, Amazon EKS e Azure AKS. |
Operador do Kubernetes com gráfico do Helm | Instalar o AlloyDB Omni no Kubernetes (esta página) | Traga seu próprio ambiente de contêiner do Kubernetes, por exemplo, no local, em nuvens públicas, no GKE, no Amazon EKS e no Azure AKS. |
Verifique o acesso
Verifique se você tem acesso ao seguinte:
- Um cluster do Kubernetes executando o seguinte software:
- Kubernetes versão 1.21 ou mais recente.
- O serviço
cert-manager
.
- O utilitário
kubectl
. - O gerenciador de pacotes
helm
ou o Operator Lifecycle Manager. - A Google Cloud CLI. Depois de instalar a
CLI gcloud, autentique sua conta do Google Cloud executando
gcloud auth login
.
Atender aos requisitos de hardware e software
Cada nó no cluster do Kubernetes precisa ter o seguinte:
- Mínimo de duas CPUs x86 ou AMD64.
- Pelo menos 8 GB de RAM.
- Versão 4.18 ou mais recente do kernel do Linux.
- Grupo de controle (cgroup) v2 ativado.
Instalar o operador do AlloyDB Omni
É possível instalar o operador do AlloyDB Omni usando diferentes métodos, incluindo o Helm e o Operator Lifecycle Manager (OLM).
Helm
Para instalar o operador do AlloyDB Omni, siga estas etapas:
- Defina as seguintes variáveis de ambiente:
export GCS_BUCKET=alloydb-omni-operator export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}"
- Faça o download do operador do AlloyDB Omni:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
- Instale o operador do AlloyDB Omni:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
Uma instalação bem-sucedida mostra a seguinte saída:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
- Para limpar, exclua o arquivo de instalação do operador do AlloyDB Omni
baixado. O arquivo é chamado
alloydbomni-operator-VERSION_NUMBER.tgz
e está localizado no diretório de trabalho atual.
OLM
Para instalar o operador do AlloyDB Omni usando o Operator Lifecycle Manager, siga estas etapas:
Acesse https://operatorhub.io/operator/alloydb-omni-operator.
Clique no botão Instalar para mostrar as instruções.
Conclua todas as etapas de instalação.
Depois de instalar o operador do AlloyDB Omni, crie manualmente os recursos do cert-manager no cluster. Isso é obrigatório. Use os comandos a seguir:
kubectl create ns ${NAMESPACE:?} kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: fleet-selfsigned-issuer namespace: ${NAMESPACE:?} spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: fleet-serving-cert namespace: ${NAMESPACE:?} spec: dnsNames: - fleet-webhook-service.alloydb-omni-system.svc - fleet-webhook-service.alloydb-omni-system.svc.cluster.local issuerRef: kind: Issuer name: fleet-selfsigned-issuer secretName: fleet-webhook-server-cert --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: local-selfsigned-issuer namespace: ${NAMESPACE:?} spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: local-serving-cert namespace: ${NAMESPACE:?} spec: dnsNames: - local-webhook-service.alloydb-omni-system.svc - local-webhook-service.alloydb-omni-system.svc.cluster.local issuerRef: kind: Issuer name: local-selfsigned-issuer secretName: local-webhook-server-cert EOF
Substitua
NAMESPACE
pelo namespace em que você tem o operador, por exemplo,alloydb-omni-system
.
OLM
Para instalar o operador do AlloyDB Omni no ambiente do Red Hat OpenShift usando o OLM, faça login no console da Web do Red Hat OpenShift.
Selecione Operadores > OperatorHub.
Encontre o operador do AlloyDB Omni usando o campo de pesquisa.
Figura 1: o operador do AlloyDB Omni no OperatorHub No painel do operador do AlloyDB Omni, clique em Instalar.
Figura 2: painel do operador do AlloyDB Omni Depois de instalar o operador do AlloyDB Omni, crie manualmente os recursos do cert-manager no cluster. Isso é obrigatório. Use os comandos a seguir:
kubectl create ns ${NAMESPACE:?} kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: fleet-selfsigned-issuer namespace: ${NAMESPACE:?} spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: fleet-serving-cert namespace: ${NAMESPACE:?} spec: dnsNames: - fleet-webhook-service.alloydb-omni-system.svc - fleet-webhook-service.alloydb-omni-system.svc.cluster.local issuerRef: kind: Issuer name: fleet-selfsigned-issuer secretName: fleet-webhook-server-cert --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: local-selfsigned-issuer namespace: ${NAMESPACE:?} spec: selfSigned: {} --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: local-serving-cert namespace: ${NAMESPACE:?} spec: dnsNames: - local-webhook-service.alloydb-omni-system.svc - local-webhook-service.alloydb-omni-system.svc.cluster.local issuerRef: kind: Issuer name: local-selfsigned-issuer secretName: local-webhook-server-cert EOF
Substitua
NAMESPACE
pelo namespace em que você tem o operador, por exemplo,alloydb-omni-system
.
Configurar o armazenamento conectado do GDC
Para instalar o operador do AlloyDB Omni no GDC conectado, siga outras etapas para configurar o armazenamento, porque os clusters conectados ao GDC não definem uma classe de armazenamento padrão. É necessário definir uma classe de armazenamento padrão antes de criar um cluster de banco de dados do AlloyDB Omni.
Para saber como definir o Symcloud Storage como a classe de armazenamento padrão, consulte Definir o Symcloud Storage como a classe de armazenamento padrão.
Para mais informações sobre como mudar o padrão de todas as outras classes de armazenamento, consulte Alterar o StorageClass padrão.
Criar um cluster de banco de dados
Um cluster de banco de dados do AlloyDB Omni contém todos os recursos de armazenamento e computação necessários para executar um servidor do AlloyDB Omni, incluindo o servidor principal, as réplicas e todos os seus dados.
Depois de instalar o operador do AlloyDB Omni no cluster do Kubernetes, é possível criar um cluster de banco de dados do AlloyDB Omni no cluster do Kubernetes aplicando um manifesto semelhante a este:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DB_CLUSTER_NAME
namespace: DB_CLUSTER_NAMESPACE
type: Opaque
data:
DB_CLUSTER_NAME: "ENCODED_PASSWORD"
---
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
namespace: DB_CLUSTER_NAMESPACE
spec:
databaseVersion: "16.8.0"
primarySpec:
adminUser:
passwordRef:
name: db-pw-DB_CLUSTER_NAME
resources:
cpu: CPU_COUNT
memory: MEMORY_SIZE
disks:
- name: DataDisk
size: DISK_SIZE
Substitua:
DB_CLUSTER_NAME
: o nome do cluster de banco de dados, por exemplo,my-db-cluster
.DB_CLUSTER_NAMESPACE
(opcional): o namespace em que você quer criar o cluster de banco de dados, por exemplo,my-db-cluster-namespace
.ENCODED_PASSWORD
: a senha de login do banco de dados para a função de usuário padrãopostgres
, codificada como uma string base64. Por exemplo,Q2hhbmdlTWUxMjM=
paraChangeMe123
.CPU_COUNT
: o número de CPUs disponíveis para cada instância de banco de dados no cluster.MEMORY_SIZE
: a quantidade de memória por instância de banco de dados deste cluster de banco de dados. Recomendamos definir isso como 8 gigabytes por CPU. Por exemplo, se você definiucpu
como2
anteriormente neste manifesto, recomendamos definirmemory
como16Gi
.DISK_SIZE
: o tamanho do disco por instância de banco de dados, por exemplo,10Gi
.
Depois de aplicar esse manifesto, o cluster do Kubernetes vai conter um
cluster de banco de dados do AlloyDB Omni com a configuração especificada de memória, CPU
e armazenamento. Para estabelecer uma conexão de teste com o novo cluster de banco de dados, consulte Conectar usando o psql
pré-instalado.
Para mais informações sobre manifestos do Kubernetes e como aplicá-los, consulte Gerenciar recursos.
A seguir
- Executar e se conectar ao AlloyDB Omni
- Gerenciar o AlloyDB Omni
- Gerenciar alta disponibilidade no Kubernetes