
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像作为Kubernetes环境中MongoDB副本集的辅助工具,旨在实现副本集的自动初始化、动态扩缩容及状态维护,提升MongoDB集群在K8s中的高可用性与可运维性。
以下是镜像支持的环境变量配置:
| 环境变量 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|
| KUBE_NAMESPACE | 否 | 查找Pod的命名空间,不设置则搜索所有命名空间 | |
| MONGO_SIDECAR_POD_LABELS | 是 | Pod标签的键值对列表(逗号分隔),用于识别MongoDB Pod | |
| MONGO_SIDECAR_SLEEP_SECONDS | 否 | 5 | 工作周期的间隔时间(秒) |
| MONGO_SIDECAR_UNHEALTHY_SECONDS | 否 | 15 | 副本集成员未恢复健康时自动移除的等待时间(秒) |
| MONGO_PORT | 否 | 27017 | MongoDB服务端口 |
| CONFIG_SVR | 否 | false | 初始化副本集时是否启用configsvr模式 |
| KUBERNETES_MONGO_SERVICE_NAME | 否 | MongoDB无头服务名称,用于生成StatefulSet稳定网络ID | |
| KUBERNETES_CLUSTER_DOMAIN | 否 | cluster.local | K8s集群域名,用于生成稳定网络ID |
| MONGODB_USERNAME | 否 | MongoDB认证用户名 | |
| MONGODB_PASSWORD | 否 | MongoDB认证密码 | |
| MONGODB_DATABASE | 否 | local | 认证数据库 |
| MONGO_SSL_ENABLED | 否 | false | 是否启用MongoDB SSL |
| MONGO_SSL_ALLOW_INVALID_CERTIFICATES | 否 | true | 是否允许自签名证书 |
| MONGO_SSL_ALLOW_INVALID_HOSTNAMES | 否 | true | 是否允许证书主机名不匹配 |
yamlapiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-prod spec: serviceName: mongodb replicas: 3 selector: matchLabels: role: mongo environment: prod template: metadata: labels: role: mongo environment: prod spec: containers: - name: mongo image: mongo command: ["mongod", "--replSet", "heroku", "--smallfiles", "--noprealloc"] volumeMounts: - name: mongo-persistent-storage mountPath: /data/db - name: mongo-sidecar image: austbot/mongo-k8s-sidecar env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo,environment=prod" - name: KUBERNETES_MONGO_SERVICE_NAME value: "mongodb" volumeClaimTemplates: - metadata: name: mongo-persistent-storage spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi --- apiVersion: v1 kind: Service metadata: name: mongodb spec: clusterIP: None selector: role: mongo environment: prod ports: - port: 27017 targetPort: 27017
生成SSL证书Secret
bash# 使用Makefile生成证书(需进入examples目录) export MONGO_SECRET_NAME=mongo-ssl export KUBECTL_NAMESPACE=default cd examples && make generate-certificate # 手动创建Secret kubectl create secret generic mongo --from-file=./keys/mongodb.pem
带有SSL的容器配置
yamlcontainers: - name: mongo image: mongo command: - mongod - "--replSet" - "heroku" - "--smallfiles" - "--noprealloc" - "--sslMode" - "requireSSL" - "--sslPEMKeyFile" - "/data/ssl/mongodb.pem" - "--sslAllowConnectionsWithoutCertificates" - "--sslAllowInvalidCertificates" - "--sslAllowInvalidHostnames" volumeMounts: - name: mongo-persistent-storage mountPath: /data/db - name: mongo-ssl mountPath: /data/ssl - name: mongo-sidecar image: austbot/mongo-k8s-sidecar env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo,environment=prod" - name: MONGO_SSL_ENABLED value: "true" volumes: - name: mongo-ssl secret: secretName: mongo
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务