热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KubernetesapiVersion:networking.k8s.io/v1问题与“入口”

需要您在执行KubernetesYAML文件时就某个问题提供指导。我的kubectl版本如下:ClientVersion:version.Inf

需要您在执行 Kubernetes YAML 文件时就某个问题提供指导。我的kubectl版本如下:

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.14", GitCommit:"89182bdd065fbcaffefec691908a739d161efc03", GitTreeState:"clean", BuildDate:"2020-12-18T12:02:35Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

这是从 Kubernetes 站点https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows下载的最新版本

YAML 有 apiVersion:networking.k8s.io/v1 kind: Ingress 和运行 YAML 的错误是

no matches for kind "Ingress" in version "networking.k8s.io/v1"

Kubernetes 问题https://github.com/kubernetes/kubernetes/issues/90077提到

networking.k8s.io/v1beta1 == 1.14 to 1.18
networking.k8s.io/v1 = 1.19+

所以我想它应该可以正常工作吗?

我已将 API 版本更改为

apiVersion: extensions/v1beta1 or
apiVersion: networking.k8s.io/v1beta1

但在 YAML 的另一部分失败

backend:
service:
name: {{ template "fullname" $ }}-srv
port:
number: 80

有错误

验证数据时出错:ValidationError(Ingress.spec.rules[0].http.paths[0].backend):io.k8s.api.extensions.v1beta1.IngressBackend 中的未知字段“服务”

我被告知相同的 YAML 可以在具有相同 kubectl 版本的 macOS 上运行(尽管我无权验证)。但是对我可能出错的地方有什么想法吗?

谢谢,普拉巴尔

回答


因为networking.k8s.io/v1beta1它应该是

backend:
serviceName: {{ template "fullname" $ }}-srv
servicePort: 80

文档获取方式:

kubectl explain --api-version=networking.k8s.io/v1beta1 ingress.spec.rules.http.paths.backend






推荐阅读
author-avatar
最苦的等待2502915147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有