使用Yaml文件配置运行Kubectl

霍姆斯

有一个类似的问题在这里,但我想我想不同的事情。对于那些熟悉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 config,如下所示:

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

编辑:

Kubernetes也得到了init containers作为测试功能(截至目前) - http://kubernetes.io/docs/user-guide/production-pods/#handling-initialization


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

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

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

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

此外,容器中还可以使用pod定义中的用户定义环境变量,以及在Docker映像中静态指定的任何环境变量

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用存储在变量中的 yaml 运行 `kubectl apply`

在生产中使用 kubectl 而不是 yaml 文件?

从秘密配置中使用env var运行kubectl

Kubectl apply -f mongo-secret.yaml 没有在我的配置文件中创建秘密

如何使用.conf文件中的群集信息配置kubectl?

kubectl补丁yaml文件不是资源对象

使用 Intellij 运行配置安装 jar 文件

使用setuptools对yaml配置文件的可执行访问

使用bash递归合并yaml配置文件

使用 yaml 文件 Mule4 的 FTP 配置

使用kubectl应用部分kubernetes清单yaml

Kubectl如何连接到配置文件

如何在Cloud Composer中使用bash运算符从DAG运行`kubectl -f apply <file.yaml>`?

使用 Kubectl -f filename.yml 应用配置文件但收到此错误

YAML - 使用 Yaml 配置文件部署期间的验证错误

从.yaml文件运行python命令

在单个YAML文件中直接对多种类型的Kubernetes API使用client-go进行kubectl apply

如何使用kubectl编辑资源配置?

kubernetes kubectl run with image 是否创建部署 yaml 文件

使用不同的配置文件运行多个容器

使用运行配置从Eclipse中的文件重定向stdin

运行编译的Golang程序时如何使用配置文件

如何使用Gradle + Spring boot运行多个配置文件?

Eclipse Maven:使用spring配置文件运行测试

使用自定义配置文件运行Ignite docker

无法使用配置文件运行Tensorflow服务

python代码使用配置文件运行,如何调试?

在Yaml文件中定义的主机上运行任务,而不是使用Ansible在清单上运行

如何使用 Yaml 配置 Flyway?