我正在跑步
kubectl create -f notRelevantToThisQuestion.yml
我得到的回应是:
服务器错误(NotFound):服务器找不到请求的内容 资源
有什么方法可以确定请求了哪些资源但未找到?
kubectl get ns
回归
姓名状态年龄
默认活跃243d
kube-public 活跃 243d
kube-system 活跃 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 集群已正确部署(一切正常运行了近一年,我现在正在添加一个新的 pod)。
要解决此问题,请降级客户端或升级服务器。就我而言,我已经升级了服务器(新的 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
版本问题原因:
来自文档
客户端的偏差不应超过一个次要版本 master,但最多可以引导 master 一个次要版本。为了 例如,v1.3 主节点应与 v1.1、v1.2 和 v1.3 节点一起使用, 并且应该与 v1.2、v1.3 和 v1.4 客户端一起使用。
来自 http://words.yuvi.in/post/kubectl-rbac/
运行
kubectl create -f notRelevantToThisQuestion.yml -v=8
将以易于阅读的方式打印所有 HTTP 流量(请求和响应!)。这样,我们就可以从 http 响应中识别出哪些资源不可用。
应用这些然后尝试
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
此解决方案特别适合 Mac 用户。
第 1 步:- 更新 kubernetes
brew upgrade kubernetes-cli
第 2 步:- 覆盖它
brew link --overwrite kubernetes-cli
对于 Openshift,我使用旧的 oc CLI 版本,在 更新到最新的 oc CLI 解决了我的问题
就我而言,我没有从 docker 桌面启用 kubernetes。
我启用了它,它有效。