gpt4 book ai didi

docker - 使用 yaml 文件配置运行 Kubectl

转载 作者:行者123 更新时间:2023-12-02 09:53:29 26 4
gpt4 key购买 nike

有一个类似的问题here ,但我想我想要不同的东西。对于那些熟悉 docker-compose 的人来说,有一个出色的命令可以在容器中运行一次命令,这对于在每次部署之前启动迁移非常有帮助:

docker-compose -f docker-compose.prod.yml run web npm run migrate

此外,因为这是一个单行命令,所以很适合自动化目的:例如使用 Makefile 或 ansible/chef/saltstack。

我发现的唯一东西是kubectl run,它与docker run更相似。但是 docker-compose run 允许我们使用配置文件,而 docker-run 则不允许:

 kubectl run rp2migrate --command -- npm run migrate

这可能会起作用,但我需要列出 20 个环境变量,并且真的不想在命令行中执行此操作。相反,我想传递一个标志来指定 yaml 配置,如下所示:

 kubectl run rp2migrate  -f k8s/rp2/rp2-deployment.yaml --command -- npm run migrate

最佳答案

编辑:

Kubernetes 还获得了 init 容器 作为测试版功能(截至目前)- http://kubernetes.io/docs/user-guide/production-pods/#handling-initialization

<小时/>

您可能应该利用 Kubernetes PostStart Hook 。如下所示:

lifecycle:
postStart:
exec:
command:
- "npm"
- "run"
- "migrate"

http://kubernetes.io/docs/user-guide/container-environment/

为您的 Pod 指定的环境变量也将可用:

Additionally, user-defined environment variables from the pod definition, are also available to the container, as are any environment variables specified statically in the Docker image

关于docker - 使用 yaml 文件配置运行 Kubectl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39559034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com