kubernetes 如何使用最新的kubectl-convert更新磁盘上的文件

uqjltbpv  于 2023-04-11  发布在  Kubernetes
关注(0)|答案(1)|浏览(140)

我想更新我的微服务项目中的一堆ingress.yaml文件,以使用新的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
lyr7nygr

lyr7nygr1#

我更喜欢使用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个ingress.yaml文件进行本地测试。
我假设你从extensions/v1beta1移动到networking.k8s.io/v1
与一般做法一样,确保在运行此(或任何此类)命令之前备份文件,以防出现任何意外问题。
希望这能帮上忙。

相关问题