O procedimento a seguir descreve como atualizar o Operador Kubernetes para sua versão mais recente. Este processo de atualização é paralelo ao processo de instalação do Kubernetes Operator.
Atualize os Controladores MongoDB para o Operador Kubernetes em Execução no Kubernetes
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 truncatedPersonalize o YAML do Kubernetes Operator antes de atualizá-lo.
Se necessário, localize o arquivo YAML de implantação de exemplo apropriado para a versão escolhida do Operador Kubernetes no repositório do GitHub. Em seguida, para evitar alteração interruptiva, personalize o exemplo de arquivo YAML para corresponder aos detalhes de configuração do seu operador Kubernetes atualmente implantado.
Atualize para a nova versão do Operador Kubernetes.
Implante seu operador Kubernetes personalizado executando o seguinte:
kubectl apply -f <customized-operator-yaml-file>.yamlSe você não precisar modificar o YAML de implantação fornecido, poderá aplicá-lo diretamente da seguinte maneira:
Multi-Cluster
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.15.0/public/mongodb-kubernetes-multi-cluster.yamlCluster único
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.15.0/public/mongodb-kubernetes.yamlUse os Charts Helm do MongoDB para Kubernetes.
Atualize para a versão mais recente do MongoDB Helm Charts for Kubernetes.
Execute o seguinte comando para verificar a versão do seu modelo atual do Helm:
helm search repo mongodb/mongodb-kubernetesSe a versão instalada atualmente não for a versão mais recente, execute o seguinte comando para atualizar seu repositório do Helm:
helm repo update mongodbSe você não tiver o repositório Helm instalado localmente, pode instalá-lo executando:
helm repo add mongodb https://mongodb.github.io/helm-chartsPersonalize seu Gráfico Helm antes de atualizá-lo.
Para evitar alterações significativas, você deve selecionar as mesmas configurações que as da implantação existente. Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Atualize 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 --namespace-create 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-namespaceAtualize os Controladores MongoDB para o Operador Kubernetes em Execução no OpenShift
As etapas a seguir dependem de como seu ambiente está configurado:
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 truncatedPersonalize o Kubernetes Operator YAML antes de atualizá-lo.
Para evitar alterações significativas, você deve selecionar as mesmas configurações que as da implantação existente. Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Você deve adicionar seu <openshift-pull-secret> às definições do ServiceAccount :
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>Atualize o CustomResourceDefinitions para sistemas do MongoDB .
Execute o seguinte comando oc:
Execute o seguinte oc comando para implantar a versão escolhida dos CRDs no cluster Kubernetes:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.15.0/public/crds.yamlAtualize para a nova versão do Operador Kubernetes.
Executar o seguinte oc comando para implantar a versão escolhida do operador Kubernetes no cluster Kubernetes:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.15.0/public/mongodb-kubernetes-openshift.yamlAtualize para a versão mais recente do MongoDB Helm Charts for Kubernetes.
Execute o seguinte comando para verificar a versão do seu modelo atual do Helm:
helm search repo mongodb/mongodb-kubernetesSe a versão instalada atualmente não for a versão mais recente, execute o seguinte comando para atualizar seu repositório do Helm:
helm repo update mongodbSe você não tiver o repositório Helm instalado localmente, pode instalá-lo executando:
helm repo add mongodb https://mongodb.github.io/helm-chartsPersonalize seu Gráfico Helm antes de atualizá-lo.
Para evitar alterações significativas, você deve selecionar as mesmas configurações que as da implantação existente. Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Atualize 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 --namespace-create 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-namespacePara 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.
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
Depois de atualizar os Controladores MongoDB para Kubernetes Operator, você pode: