如何通过身份验证在 kubernetes 中运行 mongo

shi*_*va8 2 mongodb docker kubernetes

我是 kubernetes 的新手。在 docker 中,我可以使用官方的 mongo 镜像并运行 docker run --name some-mongo -d mongo --auth

然后连接到它并创建一个默认的 db 用户。如何在 kube 控制器规范中传递 --auth?

复制控制器

# db-controller.yml
apiVersion: v1
kind: ReplicationController
metadata:
  labels:
    name: mongo
  name: mongo-controller
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: mongo
    spec:
      containers:
      - image: mongo
        name: mongo
        ports:
        - name: mongo
          containerPort: 27017
          hostPort: 27017
        volumeMounts:
            - name: mongo-persistent-storage
              mountPath: /data/db
      volumes:
        - name: mongo-persistent-storage
          gcePersistentDisk:
            pdName: mongo-disk
            fsType: ext4
Run Code Online (Sandbox Code Playgroud)

lwo*_*olf 5

您可以将 pod 配置为运行特定命令和任何参数,在您的情况下,它应该是这样的:

containers:
  - image: mongo
    name: mongo
    command: ["mongo", "--auth"]
Run Code Online (Sandbox Code Playgroud)

或者

containers:
  - image: mongo
    name: mongo
    args: ["--auth"]
Run Code Online (Sandbox Code Playgroud)

更多细节可以在这里找到