是否可以在pod中调用kubernetes Cron作业。就像我必须从pod中运行的应用程序中运行此作业。
我必须在吊舱内使用kubectl来执行作业吗?
感谢您的帮助
答案 0 :(得分:2)
使用默认服务帐户访问API服务器。当你 创建一个pod,如果您未指定服务帐户,则为 在相同的位置自动分配默认服务帐户 命名空间。如果获取已创建的Pod的原始json或yaml (例如,kubectl get pods / -o yaml),您可以看到 spec.serviceAccountName字段已自动设置。
您可以使用自动挂载从Pod内部访问API 服务帐户凭据,如访问群集中所述。 服务帐户的API权限取决于授权 插件和使用中的政策。
在1.6+版中,您可以选择退出自动挂载的API凭证 通过设置automountServiceAccountToken:false在服务帐户上 服务帐户
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
因此,第一个任务是向pod的默认服务帐户授予进行创建所需的权限,或者创建一个自定义服务帐户并在pod内使用
使用该服务帐户以编程方式访问API服务器以创建所需的作业
这可能只是一个简单的curl POST,它是从带有json的Pod内部通过pod来创建作业的
How do I access the Kubernetes api from within a pod container?
您还可以使用特定于应用程序的SDK,例如,如果您有python应用程序,则可以导入kubernetes并运行作业。