web-dev-qa-db-ja.com

「サーバーからのエラー(NotFound):サーバーは要求されたリソースを見つけることができませんでした」から見つからなかったリソースを特定します

kubectl create -f notRelevantToThisQuestion.yml

私が得る応答は次のとおりです。

サーバーからのエラー(NotFound):サーバーは要求されたリソースを見つけることができませんでした

要求されたリソースのうち、見つからなかったものを判断する方法はありますか?

kubectl get ns 戻り値

名前ステータス年齢
デフォルトのアクティブ243d
kube-public Active 243d
kube-system Active 243d

これはcronジョブではありません。
クライアントバージョン1.9
サーバーバージョン1.6

これは非常に似ています https://devops.stackexchange.com/questions/2956/how-do-i-get-kubernetes-to-work-when-i-get-an-error-the-server -could-not-find-t?rq = 1 しかし、私のk8sクラスターは正しくデプロイされています(すべてがほぼ1年間機能しており、現在新しいポッドを追加しています)。

6
Glen Pierce

これを解決するには、クライアントをダウングレードするか、サーバーをアップグレードします。私の場合、サーバー(新しいminikube)をアップグレードしましたが、クライアント(kubectl)をアップグレードするのを忘れてしまい、それらのバージョンになってしまいます。

$ kubectl version --short
Client Version: v1.9.0
Server Version: v1.14.1

クライアントバージョンをアップグレードすると(この場合は1.14.2)、すべてが再び機能し始めました。

クライアントのインストール方法(アップグレードの場合)の手順はこちら https://kubernetes.io/docs/tasks/tools/install-kubectl

4
sobi3ch

JenkinsおよびKubernetesでCDを実行しようとすると、同じエラーが発生します。パイプラインでkubectl create -f app-deployment.yml -v=8を実行しますこの画像は、エラーに関する詳細情報を示しています。

enter image description here

から http://words.yuvi.in/post/kubectl-rbac/

ランニング kubectl create -f notRelevantToThisQuestion.yml -v=8は、すべてのHTTPトラフィック(要求と応答!)を読みやすい方法で出力します。このようにして、http応答から使用できないリソースを特定できます。

0
Glen Pierce

バージョンの問題の原因:

ドキュメント から

クライアントは、マスターからマイナーバージョンを1つだけ歪める必要がありますが、最大で1つのマイナーバージョンまでマスターをリードできます。たとえば、v1.3マスターはv1.1、v1.2、およびv1.3ノードで動作し、v1.2、v1.3、およびv1.4クライアントで動作する必要があります。

0
Nick Rak