Kubernetes 定时任务

Kubernetes CronJob

我正在尝试 运行 Kubernetes 网站上提供的 Cron Job example。它说先决条件是 Kubernetes 集群版本 >=1.5(我目前使用的是 1.6.6)并且 batch/v2alpha1 API 已打开。

文档提到我们需要在启动API服务器时传递“--运行time-config=batch/v2alpha1=true”参数 打开 batch/v2alpha1 API,但它没有提到具体如何做到这一点。 Turn on or off an API version for your cluster给出的link也没有提到详细的过程。

我很困惑我应该在哪里传递“--运行time-config=batch/v2alpha1=true”参数,我应该怎么做。 我看到有些地方提到我们可以下载kube-apiserver文件,但是我厌倦了运行它没有成功,我很困惑我应该通过什么样的参数。

如上所述,我使用的是 1.6.6 kubernetes 集群,我运行在 Google Cloud Platform 上安装它。

感谢您的澄清。

在主服务器上 api 配置存储在此位置 /etc/kubernetes/manifests/kube-apiserver.yaml。

  1. 备份此文件。
  2. command: 部分添加新参数。
  3. 重新启动节点,它将以新参数启动。

对于 GCP,您要查找的 api 版本仅从 1.8 开始默认启用。您会在此处找到关于该效果的注释:

如果您想坚持使用 api 的早期主要版本,但可以使用 beta api,则可以启动 alpha cluster。那些 alpha 集群在 30 天后被删除,所以它可能不是你想要的。

相反,如果您想升级到 1.8,请尝试以下步骤:

查看可用版本:

$ gcloud container get-server-config --zone=<YOUR ZONE>

获取您的集群名称:

$ gcloud container clusters list

然后升级您的集群:

$ gcloud container clusters upgrade <CLUSTER_NAME> --master --cluster-version=<CLUSTER_VERSION>
$ gcloud container clusters upgrade <CLUSTER_NAME> --cluster-version=<CLUSTER_VERSION>

希望对您有所帮助。