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 no Kubernetes, uma extensão da API do 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. Não use a CLI para 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 implantações.
Referências de imagem de resumo SHA
Para evitar ataques à cadeia de suprimentos e atender aos requisitos de certificação do OpenShift, o operador do AlloyDB Omni usa resumos SHA-256 em vez de tags de versão para todas as referências de imagem de contêiner.
Upgrades automáticos: o operador do AlloyDB Omni usa um ImageCatalog interno para gerenciar esses resumos e garantir rollbacks confiáveis do plano de dados durante upgrades com falha.
Ativação: embora ativada por padrão para o pacote certificado do OpenShift, os usuários dos pacotes OLM ou Helm podem ativar manualmente as referências de resumo definindo a variável de ambiente
ENABLE_DIGEST_IMAGE_REFScomotrueusando a configuração de assinatura para OLM ou o valorenableDigestImageRefsno gráfico Helm.
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. O OLM, a opção padrão e preferencial em 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 Helm | Instalar o AlloyDB Omni no Kubernetes | Ambiente de contêiner do Kubernetes próprio, por exemplo, no local, em nuvens públicas, GKE, Amazon EKS e
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, Google Kubernetes Engine, Amazon EKS e Azure
AKS. Para usar um pacote OLM, instale o OLM no cluster do Kubernetes antes de instalar o operador. Para mais informações, consulte olm.operatorframework.io. 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 da plataforma de contêineres do OpenShift | Ambiente do OpenShift O OpenShift, uma variante do Kubernetes, usa o OLM como método padrão e integrado para empacotar e implantar operadores. |
Verifique 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, instalado usando o Helm.
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:
- Um mínimo de duas CPUs x86 ou AMD64.
- Pelo menos 8 GB de RAM.
- Versão do kernel do Linux 4.18 ou mais recente.
- 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:
- Instale o operador do AlloyDB Omni no registro do OCI:
helm install alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \ --version 1.7.0 \ --create-namespace \ --namespace alloydb-omni-system \ $(helm install --help | grep -q -- '--rollback-on-failure' && echo '--rollback-on-failure' || echo '--atomic') \ --timeout 5m
A 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
OLM
Para instalar o operador do AlloyDB Omni usando o Operator Lifecycle Manager, siga estas etapas:
Acesse a página Operador do AlloyDB Omni.
Clique em Instalar. Se ainda não tiver feito so already, siga as instruções para instalar apenas o operador OLM and OperatorHub.io catalog.
Crie o namespace
alloydb-omni-systemse ele ainda não existir.kubectl create ns alloydb-omni-system
Configure o
OperatorGroupdo OLM para garantir que o operador tenha escopo de cluster.kubectl apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: operator-sdk-og namespace: alloydb-omni-system spec: upgradeStrategy: Default EOF
Instale o operador usando um recurso de assinatura do OLM.
kubectl apply -f - <<EOF apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: my-alloydb-omni-operator namespace: alloydb-omni-system spec: channel: stable name: alloydb-omni-operator source: operatorhubio-catalog sourceNamespace: olm EOF
Instale o certificado padrão
ClusterIssuer. Esta etapa é opcional se você usar emissores de certificados personalizados.kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} EOF
OLM
Para instalar o operador do AlloyDB Omni no ambiente do Red Hat OpenShift usando o OLM, siga estas etapas:
- Faça login no console da Web do Red Hat OpenShift.
- Para usuários off-line ou desconectados, é necessário espelhar manualmente as
imagens necessárias no registro particular usando ferramentas que preservem resumos SHA
como
oc image mirror. É necessário configurar umImageDigestMirrorSetpara redirecionar extrações de imagem do repositório públicogcr.iopara o registro particular. Isso garante que o operador do AlloyDB Omni possa extrair as imagens necessárias usando os resumos SHA256 imutáveis. No console da Web do OpenShift, acesse Operadores > OperatorHub. O operador do AlloyDB Omni está listado nos catálogos Certificado e Comunidade.
No painel do operador do AlloyDB Omni, clique em Instalar.
Instale o certificado padrão
ClusterIssuer. Esta etapa é opcional se você usar emissores de certificados personalizados.kubectl apply -f - <<EOF apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: alloydbomni-selfsigned-cluster-issuer spec: selfSigned: {} EOF
Configurar o armazenamento conectado do GDC
Para instalar o operador do AlloyDB Omni no GDC conectado, é necessário seguir 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 armazenamento do Symcloud como a classe de armazenamento padrão, consulte Definir o armazenamento do Symcloud como a classe de armazenamento padrão.
Para mais informações sobre como alterar o padrão para todas as outras classes de armazenamento, consulte Alterar a 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, todas as 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: "17.7.0" # Optional: Specify the base OS type for the database image. # Valid values are "Debian" and "UBI9". # If not specified, the operator defaults to "Debian" for databaseVersion < 16.9.0 # and "UBI9" for databaseVersion 16.9.0 or later. # databaseImageOSType: "OS_TYPE" 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.OS_TYPE: opcional. O tipo de sistema operacional de base para a imagem do banco de dados. Os valores válidos sãoDebianeUBI9. Se você não especificar isso, o operador vai definir automaticamente comoDebiansedatabaseVersionfor menor que16.9.0e comoUBI9sedatabaseVersionfor16.9.0ou mais recente.ENCODED_PASSWORD: a senha de login do banco de dados para a função do 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
- Planejar o armazenamento e os tamanhos de PVC
- Executar e conectar ao AlloyDB Omni
- Gerenciar o AlloyDB Omni
- Gerenciar a alta disponibilidade no Kubernetes