【发布时间】:2018-05-14 09:08:16
【问题描述】:
在 kubernetes 中,我有一个容器 X。我想运行一个 cronjob,它在容器 X 中执行一个命令。
我有以下想法:
- 使用 busybox 容器运行 cronjob,
-
在busybox容器中执行一个脚本,它将:
- 确定必须执行的 pod 名称,
-
运行 curl,类似:
curl https://35.187.120.184/api/v1/namespaces/my_namespace/pods/my_pod_name/exec?command=my_sh_command&container=my_container_name&stdin=true&stdout=true&tty=true这里的动态值是:
- 我的命名空间
- my_pod_name
- my_sh_command
- my_container_name
我知道我可能应该使用令牌来访问 kubernetes API,但我不知道如何在 curl 中获取/使用该令牌。
是否可以使用curl 和 kubernetes API 来做到这一点?如果是,怎么做?
我想做这件奇怪的事情是有原因的。我有一个已编译的应用程序,可以识别 CLI 命令。我想运行一个特定的 CLI 命令,而无需通过 Web 服务器路由公开 CLI,随后将通过 k8s 服务访问该命令。
【问题讨论】:
标签: api curl cron kubernetes