从“来自服务器的错误(NotFound):服务器找不到请求的资源”

时间:2018-07-04 19:57:55

标签: kubernetes kubectl minikube

我正在运行kubectl create -f notRelevantToThisQuestion.yml

我得到的答复是:

  

服务器错误(NotFound):服务器找不到请求的   资源

有什么方法可以确定未找到请求的资源吗?

kubectl get ns返回

  

NAME STATUS AGE
默认有效243d
  kube-public活动243d
kube-system活动243d

这不是计划工作。
客户端版本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集群已正确部署(一切工作了将近一年,现在我要添加一个新Pod)。

7 个答案:

答案 0 :(得分:0)

版本问题的原因:

来自documentation

  

客户端的偏斜版本不得超过   大师,但最多可以领导一个次要版本。对于   例如,v1.3主节点应与v1.1,v1.2和v1.3节点一起使用,   并应与v1.2,v1.3和v1.4客户端一起使用。

答案 1 :(得分:0)

来自http://words.yuvi.in/post/kubectl-rbac/

运行kubectl create -f notRelevantToThisQuestion.yml -v=8将以一种易于阅读的方式打印所有HTTP通信(请求和响应!)。这样,就可以从http响应中识别出哪些资源不可用。

答案 2 :(得分:0)

尝试使用 Jenkins Kubernetes 制作CD时,我遇到相同的错误。在管道中,我执行了#import "AppDelegate.h" #import "MainViewController.h" @implementation AppDelegate - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { return YES; } + (id)getAppDelegate { return self; } - (NSString*)getDocDir { return NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; } @end ,该图像显示了有关该错误的更多信息:

enter image description here

答案 3 :(得分:0)

要解决此问题,请降级客户端或升级服务器。就我而言,我已经升级了服务器(新的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 :(得分:0)

应用这些然后尝试

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

答案 5 :(得分:0)

此解决方案特别适用于 mac 用户。

第 1 步:- 更新 kubernetes

brew upgrade kubernetes-cli

第 2 步:- 覆盖它

brew link --overwrite kubernetes-cli

答案 6 :(得分:0)

对于Openshift,我使用的是旧的oc CLI 版本,更新到最新的oc CLI 解决了我的问题