当使用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
学习
因为过于清楚,用日语详细地写评论成了不幸之事。
决定改用英语来写评论。