GAミント至上主義

Web Monomaniacal Developer.

Kubernetesの「converting YAML to JSON」エラーメッセージは信じるな

結論

npm install -g yaml-lint
yamllint filename.yaml

使う

Kubernetesを使ってるとyamlからは逃れられない。本当はJSONでやりたいけどだいたいのサンプルはyamlなので使わざるを得ない。

自分で書いていて長くなってくるとどうしても構文エラーを起こしてしまい、下記のようなエラーが起こりがち。

$ kc apply -k ./
error: rawResources failed to read Resources: YAML file [airflow.yaml] encounters a format error.
error converting YAML to JSON: yaml: line 23: did not find expected '-' indicator

これは別の行で括りの---が----になってたエラーで全然23行じゃなかった。

VSCodeyamlの拡張を入れたけどわかりにくい。
YAML - Visual Studio Marketplace


同じく困っている人がいるだろうとぐぐったらいい情報を見つけた。

stackoverflow.com

npmにいいパッケージがあるらしい
https://stackoverflow.com/questions/54479397/error-converting-yaml-to-json-did-not-find-expected-key-kubernetes/58459026#58459026?newreg=af9e52782c9c45dbb6a0728a3c299827

$ npm install -g yaml-lint
$ yamllint airflow.yaml                                                                                   
✖ YAML Lint failed for /Users/y-yamazaki/docker-airflow/gke/airflow.yaml
✖ bad indentation of a mapping entry at line 103, column 9:
            image: gcr.io/senior-job-data/gi ... 

まさにここってところを分かりやすく指摘してくれた。

今度からはerror converting YAML to JSONのメッセージは無視することにした。


Kubernetes完全ガイド (impress top gear)

Kubernetes完全ガイド (impress top gear)

  • 作者:青山 真也
  • 発売日: 2018/09/21
  • メディア: 単行本(ソフトカバー)