Notas de produção
Nesta página
Você pode acessar o projeto Atlas Kubernetes Operator no GitHub:
Conta do Atlas
Antes de implementar o Atlas Kubernetes Operator, você deve criar uma conta do Atlas. Para saber mais, consulte Registrar uma nova conta Atlas.
Chaves de API
Você precisa das seguintes informações da chave de API pública, chave de API privada e ID da organização para configurar o acesso do Atlas Kubernetes Operator ao Atlas.
Para que o Atlas Kubernetes Operator possa criar um novo projeto Atlas, crie uma chave de API (Interface de Programação de Aplicação) em uma organização. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.
Importante
Você deve atribuir a chave API ao role da organização Organization Project Creator ou superior.
Para trabalhar em um projeto existente do Atlas, crie uma chave de API (Interface de Programação de Aplicação) para um projeto. Se a sua organização exigir uma lista de acesso de IP para a API de administração do Atlas, você também deverá configurar a lista de acesso à API.
Importante
Você deve atribuir à chave de API ao role de projeto Project Owner .
Para saber mais, consulte Configurar acesso ao Atlas.
Namespaces
Você pode implementar o Atlas Kubernetes Operator para observar todos os namespaces no cluster Kubernetes, ou apenas seu namespace.
Grupos de segurança Amazon Web Services
Você deve configurar o emparelhamento de VPC para seu projeto antes de adicionar um grupo de segurançado Amazon Web Services a uma lista de acesso. Não é possível definir grupos de segurança do Amazon Web Services como entradas de lista de acesso temporário.
Parâmetros de configuração obsoletos
Os seguintes parâmetros são preteridos na API do Atlas e o Atlas Kubernetes Operator não oferece suporte a eles:
replicationSpec
replicationFactor
Criação de cluster
A criação de um novo cluster pode levar até 10 minutos.
Cadeias de conexão
Você não pode usar um URL de conexão diretamente. Os Atlas clusters exigem autenticação. Você deve criar pelo menos um AtlasDatabaseUser
Recurso Personalizado antes que o aplicativo no seu cluster do Kubernetes possa se conectar ao cluster do Atlas. O Atlas Kubernetes Operator cria um segredo especial para cada combinação de cluster e usuário de banco de dados no projeto. O aplicativo em seu cluster do Kubernetes pode usar esse segredo para se conectar ao Atlas cluster. O parâmetro spec.scopes
no recurso personalizado AtlasDatabaseUser
restringe os clusters que criam o usuário do banco de dados.
Informações de conexão
Para se conectar à API de Administração do Atlas, o Atlas Kubernetes Operator lê o ID da organização e as chaves de API de um dos seguintes locais:
spec.connectionSecretRef.name
(se especificado no Recurso PersonalizadoAtlasProject
).Por padrão, o Atlas Kubernetes Operator mantém segredos de conexão no mesmo namespace como o
AtlasProject
Recurso Personalizado. Para armazenar segredos em outro namespace, especifique o parâmetrospec.connectionSecretRef.namespace
.global
Segredo do Atlas Kubernetes Operator<operator-deployment-name>-api-key
(sespec.connectionSecretRef.name
não for especificado).
Para criar ou atualizar recursos no Atlas, o Atlas Kubernetes Operator utiliza as informações de conexão para fazer chamadas de API para o Atlas.
Observação
Às vezes, o Atlas Kubernetes Operator faz múltiplas chamadas de API no Atlas durante a reconciliação de um recurso personalizado. Por exemplo, AtlasProject
tem uma configuração de lista de acesso IP para chamar a API correspondente.
Se ocorrer algum erro durante a reconciliação, status.conditions
será atualizado para refletir o erro.
Exemplo
- lastTransitionTime: "2021-03-15T14:26:44Z" message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList: 400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5 must be in valid IP address or CIDR notation.' reason: ProjectIPAccessListNotCreatedInAtlas status: "False" type: IPAccessListReady
Sinalizadores de sistema suportados
Quando você implementa o . Atlas Kubernetes Operator usando kubectl
, você pode adicionar os seguintes sinalizadores para personalizar sua configuração:
bandeira | Descrição | Valor padrão |
---|---|---|
atlas-domain | Nome de domínio da URL do Atlas, que termina em uma barra. | https://cloud.mongodb.com/ |
metrics-bind-address | Endereço ao qual o endpoint da métrica se liga. | :8080 |
health-probe-bind-address | Endereço ao qual o endpoint da análise se liga. | :8081 |
global-api-secret-name | Nome do segredo que contém suas chaves de API do Atlas. O Atlas Kubernetes Operator utiliza este parâmetro se a configuração do AtlasProject não contiver uma referência de chave API. | <deployment_name>-api-key , onde <deployment-name> é o nome da sua implantação do Atlas Kubernetes Operator . |
leader-elect | Sinalizador que indica se a eleição de líder deve ser habilitada para o gerenciador de controlador. A eleição do líder garante que apenas um gerente de controlador esteja ativo de cada vez. | false |
log-level | Nível de importância ou instância das entradas de registro. Você pode especificar um dos seguintes níveis:
| info |
log-encoder | Formato para registros de log. Você pode especificar um dos seguintes formatos:
| json |
Exemplo
O comando a seguir define um sistema do Atlas Kubernetes Operator 1.8.2 com o endpoint de métricas na porta :8084
, usando um nível de registro de error
:
kubectl apply --metrics-bind-address :8084 \ --log-level error \ -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/1.8.2/deploy/all-in-one.yaml