安装 MongoDB Enterprise Kubernetes Operator
先决条件和注意事项
在安装 Kubernetes Operator 之前,请确保规划安装:
注意
本教程假定您具备一定的 Kubernetes 知识,并提供相关 Kubernetes 文档的链接。 如果您不熟悉 Kubernetes,请先查看该文档。
选择以下安装过程之一来安装 Kubernetes 操作符:
使用 Kubernetes 安装
安装过程因您想要配置环境的方式而异:
注意
自始至终使用相同的命名空间
以下示例假设您创建了一个 命名空间 使用 的默认 Kubernetes Operatormongodb
命名空间。如果在 创建 命名空间时为命名空间指定了不同的标签,请将metadata.namespace
的所有值更改为该命名空间。
要将以下部署的命名空间标签更改为production
,请编辑mongodb-enterprise.yaml
中metadata.namespace
的所有值:
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-enterprise-operator namespace: production # Example truncated ...
克隆 MongoDB Enterprise Kubernetes Operator 存储库 。
调用以下 git
命令:
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
导航到您在其中克隆 MongoDB Enterprise Kubernetes Operator 存储库 的目录 。
例如,如果您将存储库克隆到主目录中,请运行:
cd ~/mongodb-enterprise-kubernetes
安装 CustomResourceDefinitions 对于使用以下 kubectl 的 MongoDB 部署 命令:
调用以下 kubectl 命令:
kubectl apply -f crds.yaml
可选:在安装 Kubernetes Operator YAML 之前对其进行自定义。
要了解可选的 Kubernetes Operator 安装设置,请参阅Operator kubectl 和 oc 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
使用以下 kubectl 安装 Kubernetes Operator 命令:
调用以下 kubectl 命令:
kubectl apply -f mongodb-enterprise.yaml
使用 适用于 Kubernetes 的 MongoDB Helm Charts。
您可以使用 Helm 安装 Kubernetes Operator 3。
为 Kubernetes 添加 MongoDB Helm Charts 存储库到 Helm。
helm repo add mongodb https://mongodb.github.io/helm-charts
安装 Kubernetes Operator:
为 Kubernetes 安装 MongoDB Helm Charts 。以下命令会安装 CustomResourceDefinitions 以及当前命名空间中名为 的 Kubernetes Operator。default
默认情况下,Kubernetes Operator 使用default
命名空间。
helm install enterprise-operator mongodb/enterprise-operator
以下命令使用可选的--create-namespace
选项在mongodb
命名空间中安装 Kubernetes Operator。
helm install enterprise-operator mongodb/enterprise-operator \ --namespace mongodb \ --create-namespace
要了解可选的 Kubernetes 操作符 安装设置,请参阅操作符 Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
使用 适用于 Kubernetes 的 MongoDB Helm Charts。
您可以使用 Helm 安装 Kubernetes Operator 3。
要在未连接互联网的主机上安装 Kubernetes 操作符,请执行以下操作:
使用docker
请求连接到互联网的主机上的文件。
docker pull quay.io/mongodb/mongodb-enterprise-operator-ubi:1.27.0; \ docker pull quay.io/mongodb/mongodb-enterprise-database-ubi:1.27.0; \ docker pull quay.io/mongodb/mongodb-enterprise-ops-manager-ubi:<om-version>; \ docker pull quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi:1.27.0; \ docker pull quay.io/mongodb/mongodb-enterprise-init-appdb-ubi:1.27.0; \ docker pull quay.io/mongodb/mongodb-enterprise-init-database-ubi:1.27.0;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
将 Kubernetes Operator 映像导出为.tar
存档文件:
docker save quay.io/mongodb/mongodb-enterprise-operator-ubi:1.27.0 -o mongodb-enterprise-operator.tar; \ docker save quay.io/mongodb/mongodb-enterprise-database-ubi:1.27.0 -o mongodb-enterprise-database.tar; \ docker save quay.io/mongodb/mongodb-enterprise-ops-manager-ubi:<om-version> -o mongodb-enterprise-ops-manager.tar; \ docker save quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi:1.27.0 -o mongodb-enterprise-init-ops-manager.tar; \ docker save quay.io/mongodb/mongodb-enterprise-init-appdb-ubi:1.27.0 -o mongodb-enterprise-init-appdb.tar; docker save quay.io/mongodb/mongodb-enterprise-init-database-ubi:1.27.0 -o mongodb-enterprise-init-database.tar;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
将.tar
文件导入docker
。
docker load -i mongodb-enterprise-operator.tar; \ docker load -i mongodb-enterprise-database.tar; \ docker load -i mongodb-enterprise-ops-manager.tar; \ docker load -i mongodb-enterprise-appdb.tar; \ docker load -i mongodb-enterprise-init-ops-manager.tar; \ docker load -i mongodb-enterprise-init-appdb.tar; \ docker load -i mongodb-enterprise-init-database.tar;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
为 Kubernetes 添加 MongoDB Helm Charts 存储库到 Helm。
helm repo add mongodb https://mongodb.github.io/helm-charts
使用以下 命令安装具有修改后的拉取策略值的 Kubernetes Operator:helm
为 Kubernetes 安装 MongoDB Helm Charts 并将 的值设置为registry.pullPolicy
IfNotPresent
。要了解可选的 Kubernetes Operator 安装设置,请参阅 Operator Helm 安装设置。
helm install enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
使用 OpenShift 安装
开始之前,请确保在将 Kubernetes Operator 部署到 OpenShift 时将MANAGED_SECURITY_CONTEXT
标志设置为 。该值预定义在true
values-openshift.yaml 文件。
安装过程因您想要配置环境的方式而异:
注意
自始至终使用相同的命名空间
以下示例假设您创建了一个 命名空间 使用 的默认 Kubernetes Operatormongodb
命名空间。如果在 创建 命名空间时为命名空间指定了不同的标签,请将metadata.namespace
的所有值更改为该命名空间。
要将以下部署的命名空间标签更改为production
,请编辑mongodb-enterprise-openshift.yaml
中metadata.namespace
的所有值:
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: enterprise-operator namespace: production # Example truncated ...
克隆 MongoDB Enterprise Kubernetes Operator 存储库 。
调用以下 git
命令:
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
导航到您在其中克隆 MongoDB Enterprise Kubernetes Operator 存储库 的目录 。
例如,如果您将存储库克隆到主目录中,请运行:
cd ~/mongodb-enterprise-kubernetes
安装 CustomResourceDefinitions 用于 MongoDB 部署。
调用以下 oc 命令:
oc apply -f crds.yaml
可选:在安装 Kubernetes Operator YAML 之前对其进行自定义。
要了解可选的 Kubernetes Operator 安装设置,请参阅Operator kubectl 和 oc 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
在安装之前,将 <openshift-pull-secret>
添加到ServiceAccount
Kubernetes Operator YAML 中的 定义中。
# Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-appdb namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-database-pods namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret>
要了解更多信息,请参阅Helm 安装设置中的registry.imagePullSecrets
设置。
使用以下命令安装 Kubernetes Operator: 命令:
调用以下 oc 命令:
oc apply -f mongodb-enterprise-openshift.yaml
使用 适用于 Kubernetes 的 MongoDB Helm Charts。
您可以使用 Helm 安装 Kubernetes Operator 3。
为 Kubernetes 添加 MongoDB Helm Charts 存储库到 Helm。
helm repo add mongodb https://mongodb.github.io/helm-charts
使用 安装helm
Kubernetes Operator。
安装 适用于 Kubernetes 的 MongoDB Helm Charts:
helm install enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
使用 values-openshift.yaml 设置。要了解可选的 Kubernetes Operator 安装设置,请参阅 Operator Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
使用 适用于 Kubernetes 的 MongoDB Helm Charts。
您可以使用 Helm 安装 Kubernetes Operator 3。
要在未连接互联网的主机上安装 Kubernetes 操作符,请执行以下操作:
使用docker
请求连接到互联网的主机上的文件。
docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-operator:1.27.0; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-database:1.27.0; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-ops-manager:<om-version>; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-appdb:10.2.15.5958-1_4.2.11-ent; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-init-ops-manager:1.27.0; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-init-appdb:1.27.0; \ docker pull registry.connect.redhat.com/mongodb/mongodb-enterprise-init-database:1.27.0;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
将 Kubernetes Operator 映像导出为.tar
存档文件:
docker save quay.io/mongodb/mongodb-enterprise-operator-ubi:1.27.0 -o mongodb-enterprise-operator.tar; \ docker save quay.io/mongodb/mongodb-enterprise-database-ubi:1.27.0 -o mongodb-enterprise-database.tar; \ docker save quay.io/mongodb/mongodb-enterprise-ops-manager-ubi:<om-version> -o mongodb-enterprise-ops-manager.tar; \ docker save quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi:1.27.0 -o mongodb-enterprise-init-ops-manager.tar; \ docker save quay.io/mongodb/mongodb-enterprise-init-appdb-ubi:1.27.0 -o mongodb-enterprise-init-appdb.tar; docker save quay.io/mongodb/mongodb-enterprise-init-database-ubi:1.27.0 -o mongodb-enterprise-init-database.tar;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
将.tar
文件导入docker
。
docker load -i mongodb-enterprise-operator.tar; \ docker load -i mongodb-enterprise-database.tar; \ docker load -i mongodb-enterprise-ops-manager.tar; \ docker load -i mongodb-enterprise-appdb.tar; \ docker load -i mongodb-enterprise-init-ops-manager.tar; \ docker load -i mongodb-enterprise-init-appdb.tar; \ docker load -i mongodb-enterprise-init-database.tar;
注意
将<om-version>
替换为您要安装的 MongoDB Ops Manager 版本。
为 Kubernetes 添加 MongoDB Helm Charts 存储库到 Helm。
helm repo add mongodb https://mongodb.github.io/helm-charts
使用修改后的拉取策略值安装 Kubernetes Operator。
安装 适用于 Kubernetes 的 MongoDB Helm Charts:
helm install enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent' \ --set registry.imagePullSecrets='<openshift-pull-secret>' \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
使用 values-openshift.yaml 设置、registry.pullPolicy=IfNotPresent
和registry.imagePullSecrets=<openshift-pull-secret>
。要了解可选的 Kubernetes Operator 安装设置,请参阅 Operator Helm 安装设置。
注意
要启用静态容器的公共预览版以提高和简化安全性,请参阅静态容器(公共预览版) 。当此功能处于公共预览阶段时,我们不建议在生产中使用此功能。
验证安装
要验证 Kubernetes 操作符是否正确安装,请运行以下命令并验证输出:
kubectl describe deployments mongodb-enterprise-operator -n <metadata.namespace>
oc describe deployments mongodb-enterprise-operator -n <metadata.namespace>
默认情况下,部署存在于mongodb
命名空间中。 如果出现以下错误消息,请确保使用正确的命名空间:
Error from server (NotFound): deployments.apps "mongodb-enterprise-operator" not found
要对 Kubernetes 操作符进行故障排除,请参阅查看 Kubernetes 操作符的日志和其他故障排除主题。
重要
如果需要删除 Kubernetes 操作符 或命名空间,则必须首先删除 MongoDB 资源。
使用 Helm 安装特定的每日构建版本
MongoDB 每天都会重建 Kubernetes 操作符映像,以集成最新的安全和操作系统更新。
默认情况下, helm
安装您指定的 Kubernetes 操作符版本的最新版本。
要安装较早的版本,请使用--set build=<build-id>
将版本 ID 指定为参数。 版本 ID 的格式始终为-b<YYYYMMDD>T000000Z
,其中<YYYYMMDD>
是要使用的版本的创建日期。
例子
此示例展示了如何使用最新映像安装 Kubernetes 操作符:
helm install enterprise-operator mongodb/enterprise-operator
此示例展示了如何使用 2021 年 2 月 5 日午夜创建的映像安装 Kubernetes 操作符:
helm install enterprise-operator mongodb/enterprise-operator \ --set build=-b20210205T000000Z
注意
MongoDB 建议使用默认(最新)版本。
后续步骤
安装 MongoDB Enterprise Kubernetes Operator 后,您可以: