K8sはリソースyamlエラーのトラブルシューティングのアイデアを作成します

k8sがyamlを作成するときのエラーのトラブルシューティング方法

体験概要と
エラー内容は以下の通りです

[root@k8s-master ~/k8s_1.19_yaml]# kubectl create -f pod-xiangxipeizhi.yaml
error: error validating "pod-xiangxipeizhi.yaml": error validating data: [ValidationError(Pod.spec.containers[0].env): invalid type for io.k8s.api.core.v1.Container.env: got "map", expected "array", ValidationError(Pod.spec.containers[0]): unknown field "imagepullPolicy" in io.k8s.api.core.v1.Container, ValidationError(Pod.spec.containers[0].livenessProbe.httpGet): unknown field "prot" in io.k8s.api.core.v1.HTTPGetAction, ValidationError(Pod.spec.containers[0].livenessProbe.httpGet): missing required field "port" in io.k8s.api.core.v1.HTTPGetAction, ValidationError(Pod.spec.containers[0]): unknown field "nodeName" in io.k8s.api.core.v1.Container, ValidationError(Pod.spec.containers[0].readinessProbe.httpGet): unknown field "prot" in io.k8s.api.core.v1.HTTPGetAction, ValidationError(Pod.spec.containers[0].readinessProbe.httpGet): missing required field "port" in io.k8s.api.core.v1.HTTPGetAction]; if you choose to ignore these errors, turn validation off with --validate=false

アイデアの分析:

1.行ごとに確認します

2.主に中括弧内の特定のプロンプト情報を見て、特定のコード構成の問題を分析できます。

具体的な調査

1)最初のエラーポイント

エラーが報告された最初の中括弧の近くの情報を抽出できますPod.spec.containers[0].env中括弧の中にプロンプ​​トが表示されます。実際には、envの近くにエラーがあることも示されています。詳細については、問題があるかどうかを確認してください。 yamlファイル内のenv環境変数の構成。

error: error validating "pod-xiangxipeizhi.yaml": error validating data: 
[ValidationError(Pod.spec.containers[0].env):
invalid type for io.k8s.api.core.v1.Container.env: got "map", expected "array", 

2)2番目のエラーポイント

同様に、2番目の中括弧の近くの情報を抽出すると、中括弧内にプロンプ​​トが表示された特定の構成項目が表示され、近くのプロンプトにそのimagepullPolicyようなパラメーターがないと表示され、構成パラメーターが正しく記述されていないことがわかります。一目で

ValidationError(Pod.spec.containers[0]): unknown field "imagepullPolicy" in io.k8s.api.core.v1.Container, 

3)3番目のエラーポイント

同様に、3番目の中括弧の近くにある8つの間違った情報を取り出し、プロンプトに従って(Pod.spec.containers[0].livenessProbe.httpGet): unknown field "prot"重要な情報取得すると、構成項目が間違っていることが一目でわかります。

ValidationError(Pod.spec.containers[0].livenessProbe.httpGet): unknown field "prot" in io.k8s.api.core.v1.HTTPGetAction, 

4)4番目のエラーポイント

プロンプトに従い、同じプロンプトを無視し、これまでに見たことのない最後のエラーメッセージを見つけて、プロンプトメッセージを確認します。これはr(Pod.spec.containers[0]): unknown field "nodeName"、コンテナと同じレベルにすることはできないことを示しています。解決策を見つけることもできます。

ValidationError(Pod.spec.containers[0]): unknown field "nodeName" in io.k8s.api.core.v1.Container,

概要:出力コンテンツを詳細に確認してください。具体的には、中括弧と近くのテキストのプロンプトを確認してください。最後に、エラーがどのように発生したかを確認できます。

おすすめ

転載: blog.csdn.net/weixin_44953658/article/details/114463672
おすすめ