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.
Você configura e controla um cluster de banco de dados do AlloyDB Omni baseado no Kubernetes pareando arquivos de manifesto declarativos com o utilitário kubectl, assim como qualquer outra implantação baseada no 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 implantações.
Compatibilidade do operador do AlloyDB Omni 1.1.0 (e versões mais recentes)
O operador do AlloyDB Omni versão 1.1.0 não é compatível com as versões 15.5.3 e 15.5.4 do AlloyDB Omni. Se você usar uma dessas versões do AlloyDB Omni, poderá receber 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
Ao gerenciar cargas de trabalho em um cluster genérico do Kubernetes, é possível usar o Helm ou o OLM. O Helm é um gerenciador de pacotes universal que usa gráficos do Helm para instalar qualquer carga de trabalho, incluindo operadores, em todas as variantes do Kubernetes. Em contraste, o OLM, a escolha padrão e preferencial nas plataformas OpenShift, gerencia os ciclos de vida do operador com pacotes OLM especializados.
Com base no ambiente e nas ferramentas, escolha um dos seguintes métodos de implantação:
| Mídia | Locais de download e guias de instalação | Implantação em |
|---|---|---|
| Operador do AlloyDB Omni com gráfico do Helm | Instalar o AlloyDB Omni no Kubernetes | Ambiente de contêiner do Kubernetes próprio, por exemplo, no local, em nuvens públicas, no GKE, no Amazon EKS e
no Azure AKS. Dica:se a ferramenta de CD (entrega contínua) estiver integrada ao Helm, use essa opção. |
| Operador do AlloyDB Omni com pacote OLM | OperatorHub.io | Ambiente de contêiner do Kubernetes próprio, por exemplo, no local, em nuvens públicas, no Google Kubernetes Engine, no Amazon EKS e no Azure
AKS. Para usar um pacote OLM, instale o OLM no cluster do Kubernetes antes de instalar o operador. Leia mais sobre o OLM em olm.operatorframework.io (link em inglês). Dica:se a ferramenta de CD (entrega contínua) já usa o OLM, escolha essa opção. |
| Operador do OpenShift com pacote OLM | Console da Web do OpenShift Container Platform | Ambiente do OpenShift O OpenShift, uma variante do Kubernetes, usa o OLM como método padrão e integrado para empacotar e implantar operadores. |
Verificar o acesso
Verifique se você tem acesso ao seguinte:
- Um cluster do Kubernetes que executa o seguinte software:
- Kubernetes versão 1.21 ou mais recente.
- O serviço
cert-manager.
- O
kubectlutilitário. - O gerenciador de pacotes
helmou o Operator Lifecycle Manager.
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 HELM_PATH=$(curl https://storage.googleapis.com/alloydb-omni-operator/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}" - Faça o download do operador do AlloyDB Omni:
curl -X GET -o "./alloydbomni-operator-${OPERATOR_VERSION}.tgz" "https://storage.googleapis.com/storage/v1/b/alloydb-omni-operator/o/$(echo ${HELM_PATH} | sed 's/\//%2F/g')?alt=media" - Instale o operador do AlloyDB Omni:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --atomic \ --timeout 5mA 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.tgze está localizado em seu 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 Install 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. Esse é um requisito. 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
NAMESPACEpelo 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 Operators > 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 Install.
Figura 2: o painel do operador do AlloyDB Omni Depois de instalar o operador do AlloyDB Omni, crie manualmente os recursos do cert-manager no cluster. Esse é um requisito. 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
NAMESPACEpelo 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 do 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, réplicas e todos os dados.
Para criar um cluster de banco de dados do AlloyDB Omni, siga estas etapas:
Crie um namespace dedicado para o cluster de banco de dados. Isso melhora o isolamento e a segurança.
kubectl create namespace DB_CLUSTER_NAMESPACESubstitua
DB_CLUSTER_NAMESPACEpelo namespace em que você quer criar o cluster de banco de dados, por exemplo,my-db-cluster-namespace.Crie um arquivo de manifesto chamado
db-cluster.yamlcom o conteúdo a seguir. Esse manifesto define o Secret da senha do banco de dados e o recurso DBCluster.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: "15.12.0" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZESubstitua:
DB_CLUSTER_NAME: o nome do cluster de banco de dados, por exemplo,my-db-cluster.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ê definiucpucomo2anteriormente neste manifesto, recomendamos definirmemorycomo16Gi.DISK_SIZE: o tamanho do disco por instância de banco de dados, por exemplo,10Gi.
Aplique o manifesto ao cluster do Kubernetes:
kubectl apply -f db-cluster.yaml
Depois de aplicar esse manifesto, o cluster do Kubernetes vai conter um cluster de banco de dados do AlloyDB Omni com a configuração de memória, CPU e armazenamento especificada. Para estabelecer uma conexão de teste com o novo
cluster de banco de dados, consulte Conectar usando o psql.
Para mais informações sobre manifestos do Kubernetes e como aplicá-los, consulte Gerenciar recursos.
A seguir
- Executar e conectar ao AlloyDB Omni
- Gerenciar o AlloyDB Omni
- Gerenciar a alta disponibilidade no Kubernetes