事象
Kubernetesクラスターに対し、YAMLファイルを適用すると以下のエラーで失敗する。
$ kubectl apply -f busybox.yaml error: error parsing busybox.yaml: error conberting YAML to JSON: yaml: line 22; found a tab caharacter that violates indentation
環境情報
- Kubernetes 1.23
原因/対応策
表示上は列が揃っているが
-image: busybox imagePullPolicy: Never
制御文字含めて確認すると(viでset list
を行うと確認可能)異なる制御文字にて行が管理されている。
-image: busybox$ ^IimagePullPolicy: Never$
具体的には上記の場合、上の行はスペースで下の行はインデントを利用している。
インデントを削除しスペースで詰めれば
# kubectl apply -f busybox.yaml deployment.apps/busybox-dep created
正常に起動できた。
以下、補足です。
補足
YAMLファイルに追記する際、列合わせにタブキーを使うと冒頭に記載したエラーとなります。よって同エラーが出て場合は、制御文字の確認を行うことをお勧めします。
尚、viで編集する場合はset list
状態で制御キーを見える化することができ、不要になればset nolist
で解除できます。
以上、ご参考になれば幸いです。