ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version

这篇具有很好参考价值的文章主要介绍了ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

根据一些参考文档,学习部署 ingress-http服务,出现了一些error信息,网上难找直接的处理方式,最后才发现是资源清单使用问题,还是得看官方文档说明。

创建ingress-http.yaml

使用的基本yaml配置如下——

# 文件名称: ingress-http.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-http
  namespace: dev
spec:
  rules:
  - host: nginx.itheima.com
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx-service
          servicePort: 80
  - host: tomcat.itheima.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-service
          servicePort: 8080

部署ingress服务

# 部署服务
kubectl create -f ingress-http.yaml

出现error信息

错误一:
error: resource mapping not found for name: "ingress-http" namespace: "dev" from "ingress-http.yaml": no matches for kind "Ingress" in version "extensions/v1beta1"
ensure CRDs are installed first

处理方式——

根据官方文档:Ingress对象资源清单说明

apiVersion: networking.k8s.io/v1

重新部署,仍然出现error信息

错误二:
* spec.rules[0].http.paths[0].pathType: Required value: pathType must be specified

paths下必须有pathType,否则创建就会失败,官方文档中也有说明

PS:附上官方文档的对应的截图

ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version,k8s,http,kind,网络协议


ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version,k8s,http,kind,网络协议文章来源地址https://www.toymoban.com/news/detail-737285.html

正确的yaml配置

apiVersion: networking.k8s.io/v1    # 注意最新的官方给定
kind: Ingress
metadata:
  name: ingress-http
  namespace: dev
spec:
  rules:
  - host: nginx.itheima.com
    http:
      paths:
      - path: /
        pathType: Prefix   #  required
        backend:
          serviceName: nginx-service
          servicePort: 80
  - host: tomcat.itheima.com
    http:
      paths:
      - path: /
        pathType: Prefix   #  required
        backend:
          serviceName: tomcat-service
          servicePort: 8080
# 最终部署情况查看——
$ kubectl get ing -n dev
NAME           CLASS    HOSTS                                  ADDRESS   PORTS   AGE
ingress-http   <none>   nginx.itheima.com,tomcat.itheima.com             80      12m

$ kubectl describe ing ingress-http -n dev
Name:             ingress-http
Labels:           <none>
Namespace:        dev
Address:
Ingress Class:    <none>
Default backend:  <default>
Rules:
  Host                Path  Backends
  ----                ----  --------
  nginx.itheima.com
                      /   nginx-service:80 (10.244.1.91:80,10.244.1.92:80,10.244.1.93:80)
  tomcat.itheima.com
                      /   tomcat-service:8080 (10.244.2.100:8080,10.244.2.101:8080,10.244.2.102:8080)
Annotations:          <none>
Events:               <none>

到了这里,关于ingress-http部署error: resource mapping not found for name...no matches for kind “Ingress“ in version的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包