当使用kubectl 1.21应用时,会发生恐慌

いつもの通りアプリケーションを apply しようとしたら見たことのないエラーが発生した

$ kubectl apply -k ./

出现了这样的错误

panic: runtime error: index out of range [9] with length 9 [recovered]
        panic: runtime error: index out of range [9] with length 9

goroutine 1 [running]:
k8s.io/kubernetes/vendor/gopkg.in/yaml%2ev3.handleErr(0xc0004e6d08)
/build/kubectl/parts/kubectl/go/src/github.com/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/gopkg.in/yaml.v3/yaml.go:276 +0x8d
panic(0x1d930a0, 0xc0034bd2c0)
/snap/go/7360/src/runtime/panic.go:965 +0x1b9
k8s.io/kubernetes/vendor/gopkg.in/yaml%2ev3.write(0xc0025ee380, 0xc003549e30, 0x9, 0x10, 0xc0004e4a80, 0xc0004e4a01)
/build/kubectl/parts/kubectl/go/src/github.com/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/gopkg.in/yaml.v3/emitterc.go:90 +0x245
k8s.io/kubernetes/vendor/gopkg.in/yaml%2ev3.yaml_emitter_write_comment(0xc0025ee380, 0xc003549e30, 0x9, 0x10, 0x18)

中略~

/kubernetes/vendor/github.com/spf13/cobra/command.go:958 +0x375
k8s.io/kubernetes/vendor/github.com/spf13/cobra.(*Command).Execute(...)
/build/kubectl/parts/kubectl/go/src/github.com/kubernetes/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/spf13/cobra/command.go:895
main.main()
_output/local/go/src/k8s.io/kubernetes/cmd/kubectl/kubectl.go:49 +0x21d

恐慌?

我很恐慌。

首先需要确认版本。

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0",...

嗯嗯。
根据我的记忆,之前确认过和记的日期应该是”1月19日”……

■ Kubernetes 安装 kubectl 文件的文档
https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/

$ mkdir ~/kubectl-1.19
$ cd ~/kubectl-1.19
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.0/bin/linux/amd64/kubectl

请尝试指定已安装的kubectl的位置进行测试
以确认版本。

$ ~/kubectl-1.19/kubectl  version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", ...

进入目录

$ ~/kubectl-1.19/kubectl apply -k ./

没有错误。成功提交申请。

经过调查,从kubectl 1.21.0开始,内置的kustomize版本已更新为”4.0.5″。

据说原因是,在manifest文件的yaml注释部分中包含了“多字节(日语)注释”,这会导致恐慌。

幸運的是,在多個名稱空間中散佈著大量相同的註釋,所以我們可以利用VSCode的全文檢索將其全部轉換為英文,然後再次應用。

我已經成功地申請到了。

NAME                                       READY   STATUS      RESTARTS   AGE
zozo-monitor-cronjob-1618821900-zqckf      0/1     Completed   0          2m39s
zozo-monitor-cronjob-1618821960-d46t6      0/1     Completed   0          106s
zozo-monitor-cronjob-1618822020-gfw5h      0/1     Completed   0          42s
zozo-monitor-deployment-8547566c5c-hb8x9   2/2     Running     0          3m52s

学习

因为过于清楚,用日语详细地写评论成了不幸之事。
决定改用英语来写评论。

广告
将在 10 秒后关闭
bannerAds