【问题标题】:Restart=Never causes the MongoDB pod to terminateRestart=从不导致 MongoDB pod 终止
【发布时间】:2020-07-24 01:46:13
【问题描述】:

我正在尝试按照此处的说明进行操作:https://github.com/bitnami/charts/tree/master/bitnami/mongodb

1)helm install mongorelease --set mongodbRootPassword=secretpassword,mongodbUsername=my-user,mongodbPassword=my-password,mongodbDatabase=my-database bitnami/mongodb

上面写着:

要连接到您的数据库,请运行以下命令:

kubectl run --namespace default mongorelease-mongodb-client --rm --tty -i --restart='Never' --image docker.io/bitnami/mongodb:4.2.5-debian-10-r44 - -command -- mongo admin --host mongorelease-mongodb --authenticationDatabase admin -u root -p $MONGODB_ROOT_PASSWORD

我运行上面的命令(用我的密码替换 $MONGODB_ROOT_PASSWORD),我看到了这个错误:

error: invalid restart policy: 'Never'
See 'kubectl run -h' for help and examples

我删除了 Never 周围的单引号,然后看到:

MongoDB shell version v4.2.5
connecting to: mongodb://mongorelease-mongodb:27017/admin?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
2020-04-11T10:04:52.187+0000 E  QUERY    [js] Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:341:17
@(connect):2:6
2020-04-11T10:04:52.189+0000 F  -        [main] exception: connect failed
2020-04-11T10:04:52.189+0000 E  -        [main] exiting with code 1
pod "mongorelease-mongodb-client" deleted
pod default/mongorelease-mongodb-client terminated (Error)

然后我从命令中删除 --restart=Never 并再次运行它。然后它按预期工作,我可以与 MongoDB 交互,但是我收到了这个警告:

kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.

我应该使用什么命令?

【问题讨论】:

    标签: mongodb docker kubernetes


    【解决方案1】:

    --restart=Never 创建一个 pod。因此,您可以改为使用 --generator=run-pod/v1 运行此命令来创建 pod。这样可以避免使用--restart=Never,并且不会出现弃用警告。

    kubectl run --rm --grace-period=1 --force=true --generator=run-pod/v1 --namespace default mongorelease-mongodb-client --tty -i --image docker.io/bitnami/mongodb:4.2.5-debian-10-r44 --command -- mongo admin --host mongorelease-mongodb --authenticationDatabase admin -u root -p $MONGODB_ROOT_PASSWORD
    

    【讨论】:

    • 来自服务器的错误(已经存在):pod“mongorelease-mongodb-client”已经存在
    • 您能否删除从您之前的命令创建的现有部署。我已经用 --rm 更新了我的命令,这将在您退出容器后删除 pod。所以多次运行这个命令不会出错
    • 刚刚试过。我第一次运行它 - 它只是挂起。第二次运行时,我得到了错误。
    • 挂机时可以回车吗?从 answer 尝试更新的命令
    • 刚试了几次回车 - 没有什么不同。它只是挂起。
    猜你喜欢
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 2017-07-09
    • 1970-01-01
    相关资源
    最近更新 更多