Pré-requisitos e considerações
Antes de instalar o Operador Kubernetes, certifique-se de planejar sua instalação:
Escolha uma topologia de implantação.
Leia as considerações.
Conclua os pré- requisitos.
Observação
Este tutorial pressupõe algum conhecimento do Kubernetes e links para documentação relevante do Kubernetes. Se você não estiver familiarizado com o Kubernetes, analise essa documentação primeiro.
Instalar com Kubernetes
O procedimento de instalação varia de acordo com a forma como você deseja configurar seu ambiente:
Observação
Use o mesmo namespace em todo o
Por padrão, o operador do Kubernetes implanta todos os recursos em seu cluster Kubernetes no namespace mongodb. Você pode implantar recursos do Kubernetes operador em um namespace diferente editando todos os valores de metadata.namespace em mongodb-kubernetes.yaml. Você também deve atualizar o valor de subjects[0].namespace em cada RoleBinding e ClusterRoleBinding no mesmo arquivo. Se você omitir esse valor, as vinculações procurarão o ServiceAccount no namespace mongodb padrão e não conseguirão encontrá-lo:
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncatedOpcional: personalize o Kubernetes Operator YAML antes de instalá-lo.
Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Kubernetes Operator e configurações de instalação do oc.
Observação
Para habilitar a visualização pública de contêineres estáticos, que melhoram e simplificam a segurança, consulte Contêineres estáticos (visualização pública). Não recomendamos usar esse recurso em produção enquanto ele estiver em visualização pública. Para saber mais, consulte Visualizar recursos.
Use os Charts Helm do MongoDB para Kubernetes.
Observação
Descontinuação do repositório de gráficos Helm
A instalação do Operador Kubernetes a partir do repositório MongoDB Helm Charts for Kubernetes está obsoleta e será removida na versão MCK 2.0. Para instalar o gráfico Helm a partir do registro compatível com OCI, consulte a seção "Usando o Helm (registro compatível com OCI)" aba.
Adicione os Charts do MongoDB Helm para Kubernetes.
Você pode adicionar o Gráfico Helm do Operador Kubernetes localmente executando:
helm repo add mongodb https://mongodb.github.io/helm-chartsPersonalize seu Gráfico Helm antes de implementá-lo.
Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Implemente o Operador Kubernetes.
Execute o seguinte comando helm para distribuir o Operador Kubernetes para o namespace padrão no seu cluster Kubernetes:
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetesVocê pode passar os sinalizadores --namespace e --create-namespace para distribuir o operador Kubernetes em um namespace não padrão, da seguinte forma:
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \--namespace mongodb \--create-namespaceInstalar uma compilação diária específica com o Helm
O MongoDB reconstrói imagens do Kubernetes Operator todos os dias para integrar as atualizações mais recentes de segurança e sistema operacional.
Por padrão, o helm instala a compilação mais recente para a versão do Operador Kubernetes que você especifica.
Para instalar uma compilação anterior, especifique o ID de compilação como um parâmetro com --set build=<build-id>. Os ID de compilação estão sempre no formato -b<YYYYMMDD>T000000Z, onde <YYYYMMDD> é a data em que a compilação que você deseja usar foi criada.
Exemplo
Este exemplo mostra como instalar o Operador Kubernetes com a imagem mais recente:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetesEste exemplo mostra como instalar o Kubernetes Operator com a imagem criada à meia-noite de 5 de fevereiro de 2021:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set build=-b20210205T000000ZObservação
O MongoDB recomenda usar a compilação padrão (mais recente).
O MongoDB também publica o gráfico Helm do Kubernetes operador em um registro de contêiner compatível com OCI em quay.io/mongodb/helm-charts. Ao instalar a partir deste registro, você faz referência ao gráfico diretamente em vez de adicionar o repositório de gráficos Helm.
Personalize seu gráfico Helm antes de implantá-lo.
Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Implemente o Operador Kubernetes.
Execute o seguinte comando helm para distribuir o Operador Kubernetes para o namespace padrão no seu cluster Kubernetes:
helm upgrade --install mongodb-kubernetes-operator \ oci://quay.io/mongodb/helm-charts/mongodb-kubernetesPara implantar o Kubernetes operador em um namespace que não seja o padrão, passe as flags --namespace e --create-namespace:
helm upgrade --install mongodb-kubernetes-operator \ oci://quay.io/mongodb/helm-charts/mongodb-kubernetes \ --namespace mongodb \ --create-namespaceInstalar com OpenShift
Antes de começar, certifique-se de que o sinalizador MANAGED_SECURITY_CONTEXT esteja definido como true ao implantar o operador Kubernetes no OpenShift. Este valor é predefinido no arquivo valores-openshift.yaml.
O procedimento de instalação varia de acordo com a forma como você deseja configurar seu ambiente:
Observação
Use o mesmo namespace em todo o
Por padrão, o operador do Kubernetes implanta todos os recursos em seu cluster Kubernetes no namespace mongodb. Você pode implantar recursos do Kubernetes operador em um namespace diferente editando todos os valores de metadata.namespace em mongodb-kubernetes-openshift.yaml. Você também deve atualizar o valor de subjects[0].namespace em cada RoleBinding e ClusterRoleBinding no mesmo arquivo. Se você omitir esse valor, as vinculações procurarão o ServiceAccount no namespace mongodb padrão e não conseguirão encontrá-lo:
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncatedClone o repositório do Operador MongoDB Controladores para Kubernetes e confira a tag para a versão atual.
Invoque os seguintes comandos git:
git clone https://github.com/mongodb/mongodb-kubernetes.gitcd mongodb-kubernetesgit checkout 1.6.1Navegue até o diretório no qual você clonou os Controladores MongoDB para repositório do operador Kubernetes.
Por exemplo, se você clonou o repositório em seu diretório inicial, execute:
cd ~/mongodb-kubernetesInstale o CustomResourceDefinitions para sistemas do MongoDB .
Invocar o seguinte comando oc:
oc apply -f crds.yamlOpcional: personalize o Kubernetes Operator YAML antes de instalá-lo.
Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Kubernetes Operator e configurações de instalação do oc.
Observação
Para habilitar a visualização pública de contêineres estáticos, que melhoram e simplificam a segurança, consulte Contêineres estáticos (visualização pública). Não recomendamos usar esse recurso em produção enquanto ele estiver em visualização pública. Para saber mais, consulte Visualizar recursos.
Adicione seu <openshift-pull-secret> às ServiceAccount definições do no Operador Kubernetes YAML antes de instalá-lo.
apiVersion: v1kind: ServiceAccountmetadata: name: enterprise-operator
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-appdb
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-database-pods
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>Para saber mais, consulte a configuração registry.imagePullSecrets nas configurações de instalação do Helm.
Instale o operador Kubernetes usando o seguinte comando oc:
Invocar o seguinte comando oc:
oc apply -f mongodb-kubernetes-openshift.yamlUse os Charts Helm do MongoDB para Kubernetes.
Observação
Descontinuação do repositório de gráficos Helm
A instalação do Operador Kubernetes a partir do repositório MongoDB Helm Charts for Kubernetes está obsoleta e será removida na versão MCK 2.0. Instale o gráfico Helm a partir do registro compatível com OCI em quay.io/mongodb/helm-charts.
Você pode instalar o Operador Kubernetes com Helm 3.
Adicione o repositório MongoDB Helm Charts for Kubernetes ao Helm.
helm repo add mongodb https://mongodb.github.io/helm-chartsInstale o Operador Kubernetes utilizando o helm.
Instale os Charts Helm do MongoDB para Kubernetes:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/mongodb-kubernetes/values-openshift.yamlUse as configurações do values-openshift.yaml. Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações da instalação do Operator Helm.
Observação
Para habilitar a visualização pública de contêineres estáticos, que melhoram e simplificam a segurança, consulte Contêineres estáticos (visualização pública). Não recomendamos usar esse recurso em produção enquanto ele estiver em visualização pública. Para saber mais, consulte Visualizar recursos.
Instalar uma compilação diária específica com o Helm
O MongoDB reconstrói imagens do Kubernetes Operator todos os dias para integrar as atualizações mais recentes de segurança e sistema operacional.
Por padrão, o helm instala a compilação mais recente para a versão do Operador Kubernetes que você especifica.
Para instalar uma compilação anterior, especifique o ID de compilação como um parâmetro com --set build=<build-id>. Os ID de compilação estão sempre no formato -b<YYYYMMDD>T000000Z, onde <YYYYMMDD> é a data em que a compilação que você deseja usar foi criada.
Exemplo
Este exemplo mostra como instalar o Operador Kubernetes com a imagem mais recente:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetesEste exemplo mostra como instalar o Kubernetes Operator com a imagem criada à meia-noite de 5 de fevereiro de 2021:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set build=-b20210205T000000ZObservação
O MongoDB recomenda usar a compilação padrão (mais recente).
Verificar a instalação
Para verificar se o Kubernetes Operator foi instalado corretamente, execute o seguinte comando e verifique o resultado:
kubectl describe deployments mongodb-kubernetes-operator -n <metadata.namespace>oc describe deployments mongodb-kubernetes-operator -n <metadata.namespace>Por padrão, existem sistemas no namespace mongodb . Se a seguinte mensagem de erro aparecer, certifique-se de usar o namespace correto:
Error from server (NotFound): deployments.apps "mongodb-kubernetes-operator" not foundPara solucionar problemas do seu operador Kubernetes, consulte Verificar registros do operador Kubernetes e outros tópicos de solução de problemas.
Importante
Se você precisar remover o Kubernetes Operator ou o namespace, primeiro deverá remover os recursos do MongoDB.
Próximos passos
Após instalar os Controladores MongoDB para o Operador Kubernetes, você pode: