
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目是一个概念验证(PoC)工具,用于在Kubernetes环境中设置MongoDB副本集,能够处理任意类型的集群规模调整,并能适应MongoDB和Kubernetes可能遇到的各种运行场景。
| 环境变量 | 必填 | 默认值 | 描述 |
|---|---|---|---|
| KUBE_NAMESPACE | 否 | 空 | 查找Pod的命名空间,不设置则搜索所有命名空间 |
| MONGO_SIDECAR_POD_LABELS | 是 | 空 | Pod模板标签的键值对列表(逗号分隔) |
| MONGO_SIDECAR_SLEEP_SECONDS | 否 | 5 | 工作周期之间的休眠时间(秒) |
| MONGO_SIDECAR_UNHEALTHY_SECONDS | 否 | 15 | 副本集成员未恢复健康时自动移除的等待时间(秒) |
| MONGO_PORT | 否 | 27017 | MongoDB服务端口 |
| CONFIG_SVR | 否 | false | 初始化副本集时是否配置为配置服务器 |
| KUBERNETES_MONGO_SERVICE_NAME | 否 | 空 | MongoDB无头服务名称,用于生成稳定网络ID |
| KUBERNETES_CLUSTER_DOMAIN | 否 | cluster.local | 自定义集群域名(如kube.local) |
| MONGODB_USERNAME | 否 | 空 | MongoDB认证用户名 |
| MONGODB_PASSWORD | 否 | 空 | MongoDB认证密码 |
| MONGODB_DATABASE | 否 | local | MongoDB认证数据库 |
| MONGO_SSL_ENABLED | 否 | false | 是否启用SSL连接 |
| MONGO_SSL_ALLOW_INVALID_CERTIFICATES | 否 | true | 是否允许自签名证书 |
| MONGO_SSL_ALLOW_INVALID_HOSTNAMES | 否 | true | 是否允许证书FQDN与主机名不匹配 |
默认配置(Pod IP)
[ { _id: 1, name: '10.48.0.70:27017', stateStr: 'PRIMARY', ...}, { _id: 2, name: '10.48.0.72:27017', stateStr: 'SECONDARY', ...}, { _id: 3, name: '10.48.0.73:27017', stateStr: 'SECONDARY', ...} ]
StatefulSet稳定网络ID(需设置KUBERNETES_MONGO_SERVICE_NAME)
[ { _id: 1, name: 'mongo-prod-0.mongodb.db-namespace.svc.cluster.local:27017', stateStr: 'PRIMARY', ...}, { _id: 2, name: 'mongo-prod-1.mongodb.db-namespace.svc.cluster.local:27017', stateStr: 'SECONDARY', ...}, { _id: 3, name: 'mongo-prod-2.mongodb.db-namespace.svc.cluster.local:27017', stateStr: 'SECONDARY', ...} ]
MongoDB容器命令
yaml- name: my-mongo image: mongo command: - mongod - "--replSet" - heroku - "--bind_ip" - 0.0.0.0 - "--smallfiles" - "--noprealloc" - "--sslMode" - "requireSSL" - "--sslPEMKeyFile" - "/data/ssl/mongodb.pem" - "--sslAllowConnectionsWithoutCertificates" - "--sslAllowInvalidCertificates" - "--sslAllowInvalidHostnames"
卷与卷挂载
yamlvolumeMounts: - name: mongo-persistent-storage mountPath: /data/db - name: mongo-ssl mountPath: /data/ssl - name: mongo-sidecar image: cvallance/mongo-k8s-sidecar:latest env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo,environment=prod" - name: MONGO_SSL_ENABLED value: 'true' volumes: - name: mongo-ssl secret: secretName: mongo
使用Makefile
bashexport MONGO_SECRET_NAME=mongo-ssl export KUBECTL_NAMESPACE=default cd examples && make generate-certificate
手动创建
bashkube create secret generic mongo --from-file=./keys
(keys目录需包含名为mongodb.pem的SSL证书文件)
TODO:克隆、挂载和监控的说明
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务