批量更新所有kubernetes部署API版本
我在大多数部署中使用的是批量更新所有kubernetes部署API版本,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我在大多数部署中使用的是apiversion:apps/v1beta2,但是Kubernetes群集版本1.14建议使用apiversion:apps/v1。此外,v1beta2将从Kubernetes 1.16中弃用 是否有更好的选项来减少手动工作并将所有版本为apps/v1beta2的部署更新为v1 或者我可以使用补丁所有部署。在应用任何更改之前,请确保它们包括任何必要的更改,以适应1.16版本。 其中一些变化是: 不再提供扩展/v1beta1、应用/v1beta1和应用/v1beta2AP
apiversion:apps/v1beta2
,但是Kubernetes群集版本1.14
建议使用apiversion:apps/v1
。此外,v1beta2将从Kubernetes 1.16
中弃用
是否有更好的选项来减少手动工作并将所有版本为apps/v1beta2
的部署更新为v1
或者我可以使用
补丁
所有部署。在应用任何更改之前,请确保它们包括任何必要的更改,以适应1.16
版本。
其中一些变化是:
不再提供扩展/v1beta1、应用/v1beta1和应用/v1beta2API版本中的部署
- 迁移到使用从v1.9开始提供的应用程序/v1API版本。可以通过新版本检索/更新现有的持久化数据
- 显著变化:
已删除spec.rollbackTo
现在是必需的,并且在创建后是不可变的;使用现有模板标签作为无缝升级的选择器spec.selector
现在默认为spec.progressDeadlineSeconds
seconds(扩展/v1beta1中的默认值没有截止日期)600
现在默认为spec.revisionHistoryLimit
(10
中的默认值是apps/v1beta1
,2
中的默认值是保留所有)extensions/v1beta1
和maxsupge
现在默认值为maxUnavailable
(25%
中的默认值为extensions/v1beta1
)1
kubectl补丁
有一份关于它的官方文件:
不幸的是,kubectl补丁
确实更改了示例中的YAML
定义,但它无法更改apiVersion
kubectl convert
kubectl
中内置了一个名为kubectl convert
的工具,它可以转换现有的YAML
以适应1.16
版本请记住,它很快就会被弃用。看一看关于它的文章:
shell脚本 您还可以使用您选择的语言编写脚本,该语言将发生变化:
apiVersion:apps/v1beta2
apiVersion:apps/v1beta1
apiVersion:apps/v1
您还可以看看:
如果你对此有任何疑问,请告诉我 在应用任何更改之前,请确保这些更改包括任何必要的更改,以适应
1.16
版本。
其中一些变化是:
不再提供扩展/v1beta1、应用/v1beta1和应用/v1beta2API版本中的部署
- 迁移到使用从v1.9开始提供的应用程序/v1API版本。可以通过新版本检索/更新现有的持久化数据
- 显著变化:
已删除spec.rollbackTo
现在是必需的,并且在创建后是不可变的;使用现有模板标签作为无缝升级的选择器spec.selector
现在默认为spec.progressDeadlineSeconds
seconds(扩展/v1beta1中的默认值没有截止日期)600
现在默认为spec.revisionHistoryLimit
(10
中的默认值是apps/v1beta1
,2
中的默认值是保留所有)extensions/v1beta1
和maxsupge
现在默认值为maxUnavailable
(25%
中的默认值为extensions/v1beta1
)1
kubectl补丁
有一份关于它的官方文件:
不幸的是,kubectl补丁
确实更改了示例中的YAML
定义,但它无法更改apiVersion
kubectl convert
kubectl
中内置了一个名为kubectl convert
的工具,它可以转换现有的YAML
以适应1.16
版本请记住,它很快就会被弃用。看一看关于它的文章:
shell脚本 您还可以使用您选择的语言编写脚本,该语言将发生变化:
apiVersion:apps/v1beta2
apiVersion:apps/v1beta1
apiVersion:apps/v1
您还可以看看:
如果你对此有任何疑问,请告诉我 您可以尝试使用move2kube()工具来实现上述功能 要实现上述目标,请执行以下操作: 创建定义集群类型的yaml文件,如下所示(调用为clusterconfig.yaml): 然后运行:
move2kube translate -s <folder containing your clusterconfig.yaml file and kubernetes yaml files>
move2kube translate-s
交互式工具将要求提供所需信息并进行翻译。您可以尝试使用move2kube()工具来实现上述功能 要实现上述目标,请执行以下操作: 创建定义集群类型的yaml文件,如下所示(调用为clusterconfig.yaml): 然后运行:
move2kube translate -s <folder containing your clusterconfig.yaml file and kubernetes yaml files>
move2kube translate-s
交互式工具将要求提供所需信息并进行翻译