我想更新一堆入口。在我的微服务项目中使用新的kubernetes API版本。目前入口仍在使用apiVersion: extensions/v1beta1
我混淆了插件(kubectl convert
)和整个新的二进制文件(kubectl-convert
)…2023年我应该使用哪个工具?
我想有一个单行命令来更新当前目录内递归的所有ingress.yaml
文件。
也许这个新工具有一些bug ?我在使用bash脚本时遇到了这个错误,我认为它可以工作:
find . -name "ingress.yaml" | while read file; do kubectl-convert -f "$file" > "$file"; done
error: no objects passed to convert
我更喜欢使用kubectl convert
插件,下面的cmd应该为你做的技巧:
find . -name "ingress.yaml" | while read file; do kubectl convert -f "$file" --output-version networking.k8s.io/v1 > "$file".bak && mv "$file".bak "$file"; done
在一个包含3个入口的集合上进行本地测试。在不同子文件夹内嵌套的Yaml文件。
我假设你从extensions/v1beta1
移动到networking.k8s.io/v1
。
按照惯例,确保在运行这个(或任何类似的)命令之前备份您的文件,以防出现任何意外问题。
希望对你有帮助。