Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes v1.8.12 can';t list*extensions.Deployment_Kubernetes - Fatal编程技术网

Kubernetes v1.8.12 can';t list*extensions.Deployment

Kubernetes v1.8.12 can';t list*extensions.Deployment,kubernetes,Kubernetes,每个人 最近,我将我的k8s集群升级到v1.10.3,然后将其回滚到v1.9.8,然后再回滚到v1.8.12。在那之后,我发现了一些我不能理解的东西 我可以在默认命名空间中列出部署: NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE dunking-hedgehog-helmet 1 1 1 1 197d

每个人

最近,我将我的k8s集群升级到v1.10.3,然后将其回滚到v1.9.8,然后再回滚到v1.8.12。在那之后,我发现了一些我不能理解的东西

我可以在默认命名空间中列出部署:

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
dunking-hedgehog-helmet       1         1         1            1           197d
kube-system-tomcat-official   1         1         1            1           197d
mongodb                       1         1         1            1           152d
smelly-pig-mysql              1         1         1            1           204d
# kubectl get deploy -nkube-system
Error from server: no kind "Deployment" is registered for version "apps/v1"
但不能在我的kube系统命名空间中:

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
dunking-hedgehog-helmet       1         1         1            1           197d
kube-system-tomcat-official   1         1         1            1           197d
mongodb                       1         1         1            1           152d
smelly-pig-mysql              1         1         1            1           204d
# kubectl get deploy -nkube-system
Error from server: no kind "Deployment" is registered for version "apps/v1"
此外,apiserver启动日志:

E0530 10:47:09.511854       1 cacher.go:277] unexpected ListAndWatch error: storage/cacher.go:/daemonsets: Failed to list *extension
s.DaemonSet: no kind "DaemonSet" is registered for version "apps/v1"
E0530 10:47:09.534114       1 cacher.go:277] unexpected ListAndWatch error: storage/cacher.go:/daemonsets: Failed to list *extension
s.DaemonSet: no kind "DaemonSet" is registered for version "apps/v1"
E0530 10:47:09.577678       1 cacher.go:277] unexpected ListAndWatch error: storage/cacher.go:/replicasets: Failed to list *extensio
ns.ReplicaSet: no kind "ReplicaSet" is registered for version "apps/v1"
E0530 10:47:09.580008       1 cacher.go:277] unexpected ListAndWatch error: storage/cacher.go:/deployments: Failed to list *extensio
ns.Deployment: no kind "Deployment" is registered for version "apps/v1"
E0530 10:47:09.580234       1 cacher.go:277] unexpected ListAndWatch error: storage/cacher.go:/deployments: Failed to list *extensio
ns.Deployment: no kind "Deployment" is registered for version "apps/v1"

我们都知道API版本apps/v1是从v1.9.0开始添加的,那么为什么v1.8.12尝试为版本“apps/v1”注册部署呢?

在1.10中,apps API组中的对象开始以apps/v1格式(在1.9中引入)持久化在etcd中

从1.10.x回滚到1.9.x是安全的

如果要进一步回滚到1.8.x,必须首先往返所有apps/v1资源(守护程序集、部署、复制集、状态集),以确保它们以1.8可以读取的格式保存在etcd中


您收到的错误表明etcd中存在kubernetes 1.8 apiserver无法解码的apps/v1内容(因为apps/v1在1.8中不存在)。解决方案是升级到1.9.x,在再次降级到kube 1.8之前获取/放置所有现有应用程序/v1资源

在1.10中,apps API组中的对象开始以apps/v1格式(在1.9中引入)持久化在etcd中

从1.10.x回滚到1.9.x是安全的

如果要进一步回滚到1.8.x,必须首先往返所有apps/v1资源(守护程序集、部署、复制集、状态集),以确保它们以1.8可以读取的格式保存在etcd中


您收到的错误表明etcd中存在kubernetes 1.8 apiserver无法解码的apps/v1内容(因为apps/v1在1.8中不存在)。解决方案是升级到1.9.x,在再次降级到kube 1.8之前获取/放置所有现有应用程序/v1资源

多谢各位。那么,“往返应用程序/v1资源”是否意味着使用应用程序/v1beta2 api版本重新应用这些资源?顺便问一下,升级到v1.10后,是否需要使用apps/v1api版本重新应用extensions/v1beta1下的所有资源?或者干脆不接触旧资源,使用apps/v1 api版本应用新资源?往返含义“从API获取每个对象,然后按原样将其放回API。类似于
kubectl-get部署——所有名称空间-o yaml | kubectl-replace-f-
。1.10能够读取所有旧版本,因此您可以在升级后保持资源原样,下次写入时(无论何时),etcd存储的版本将更新为apps/v1非常感谢。那么,“往返应用程序/v1资源”是否意味着使用应用程序/v1beta2 api版本重新应用这些资源?顺便问一下,升级到v1.10后,是否需要使用apps/v1api版本重新应用extensions/v1beta1下的所有资源?或者干脆不接触旧资源,使用apps/v1 api版本应用新资源?往返含义“从API获取每个对象,然后按原样将其放回API。类似于
kubectl-get部署——所有名称空间-o yaml | kubectl-replace-f-
。1.10能够读取所有旧版本,因此您可以在升级后保持资源原样,下次写入资源时(无论何时),etcd存储的版本将更新为apps/v1