更改MongoDB选项¶
您可能需要对应用程序进行配置更改。MongoDB允许使用配置文件配置数据库,就像许多其他数据库管理系统一样。您可以通过以下方式之一将选项传递给集群中的MongoDB实例:
- 编辑
部署/ cr.yaml文件, - 使用ConfigMap,
- 使用秘密对象。
您可以单独传递配置设置mongod豆荚,蒙戈豆荚,配置服务器豆荚。
编辑部署/ cr.yaml文件¶
可以将MongoDB配置选项添加到replsets.configuration,sharding.mongos.configuration,sharding-configsvrreplset-configuration钥匙部署/ cr.yaml.这里有一个例子:
规范:...replset:-名字:rs0大小:3.配置:|operationProfiling:模式:slowOpsystemLog:详细:1...
看到官方手册获取完整的选项列表,以及具体的雷竞技下载官网服务器因为MongoDB文档页面.
使用ConfigMap¶
你可以使用ConfigMap并重新启动集群以重置配置选项。ConfigMap允许Kubernetes在容器化应用程序中传递或更新配置数据。
你应该给ConfigMap一个特定的名称,由你的集群名称和一个特定的后缀组成:
my-cluster-name-rs0-mongod对于Replica Set (mongod) Pods,my-cluster-name-cfg-mongod对于配置服务器Pods,my-cluster-name-mongos为了芒果荚,
请注意
查询集群名称,可以使用以下命令:
$kubectl得到psmdb
例如,让我们定义一个mongod.conf配置文件,并把几个MongoDB选项,我们在前面的例子中使用:
operationProfiling:模式:slowOpsystemLog:冗长:1
方法创建ConfigMapmongod.conf与Kubectl创建configmap命令。它的语法如下:
$kubectl创建configmap< configmap-name ><资源类型=资源名称>
下面的示例定义了my-cluster-name-rs0-mongodConfigMap名称和mongod.conf文件作为数据源:
$kubectl创建configmapmy-cluster-name-rs0-mongod——从文件=mongod.conf=mongod.conf
查看已创建的ConfigMap,使用如下命令:
$kubectl描述configmapsmy-cluster-name-rs0-mongod
请注意
不要忘记重新启动Percona Server fo雷竞技下载官网r MongoDB,以确保集群已经更新了配置(关于如何连接的详细信息请参见在Kuberne雷竞技下载官网tes上为MongoDB安装Percona Server页面)。
使用秘密对象¶
操作符也可以存储配置选项Kubernetes秘密.如果您需要对某些敏感数据进行额外的保护,这可能很有用。
您应该创建一个具有特定名称的Secret对象,该名称由您的集群名称和特定后缀组成:
my-cluster-name-rs0-mongod复制舱,my-cluster-name-cfg-mongod对于配置服务器Pods,my-cluster-name-mongos为了芒果荚,
请注意
查询集群名称,可以使用以下命令:
$kubectl得到psmdb
配置选项应该放在一个特定的键中:
data.mongod关键复制集(mongod)和配置服务器Pods,data.mongosmongos Pods的钥匙。
实际选项应该用Base64.
例如,让我们定义一个mongod.conf配置文件,并把几个MongoDB选项,我们在前面的例子中使用:
operationProfiling:模式:slowOpsystemLog:冗长:1
你可以通过命令行从你的选项中获得一个Base64编码的字符串,如下所示:
$猫mongod.conf|base64——包装=0
$猫mongod.conf|base64
请注意
类似地,你可以从Base64编码的字符串中读取选项列表:
$回声“ICAgICAgb3BlcmF0aW9uUHJvZmlsaW5nOgogICAgICAgIG1vZGU6IHNsb3dPc \AogICAgICBzeXN0ZW1Mb2c6CiAgICAgICAgdmVyYm9zaXR5OiAxCg = = "|base64——解码
最后,使用yaml文件创建Secret对象。例如,您可以创建一个部署/ my-mongod-secret.yaml文件内容如下:
apiVersion:v1种类:秘密元数据:名字:my-cluster-name-rs0-mongod数据:mongod.conf:“ICAgICAgb3BlcmF0aW9uUHJvZmlsaW5nOgogICAgICAgIG1vZGU6IHNsb3dPc \AogICAgICBzeXN0ZW1Mb2c6CiAgICAgICAgdmVyYm9zaXR5OiAxCg = = "
准备好后,使用以下命令应用它:
$kubectl创建- f部署/ my-mongod-secret.yaml
请注意
不要忘记重新启动Percona Server fo雷竞技下载官网r MongoDB,以确保集群已经更新了配置(关于如何连接的详细信息请参见在Kuberne雷竞技下载官网tes上为MongoDB安装Percona Server页面)。