k8s中创建ingress资源时报错

本文解决Kubernetes中使用Ingress时遇到的两个常见错误:资源映射未找到及Bad Request错误。通过调整资源版本和明确指定端口号,成功实现域名访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我想要做一个ingress域名访问时出现如下错误:

以下错误解决示范可以仅作参考,需要根据个人配置决定如何修改

1、错误一

[root@master ingress-controller]# kubectl apply -f ingress-http.yaml
error: resource mapping not found for name: "ingress-http" namespace: "lty" from "ingress-http.yaml": no matches for kind "Ingress" in version "extensions/v1beta1"
ensure CRDs are installed first

== “extensions/v1beta1”==
这里主要提示是版本的错误

我们可以通过命令查出在我们使用这个资源时,所对应的版本是多少

[root@master ingress-controller]# kubectl explain ingress
KIND:     Ingress
VERSION:  networking.k8s.io/v1   //将其添加到配置文件既可

2、错误2

接下来在此创建时又报错了:Error from server (BadRequest): error when creating "ingress-http.yaml": Ingress in version "v1" cannot be handled as a Ingress: json: cannot unmarshal number into Go struct field IngressServiceBackend.spec.rules.==http.paths.backend.service.port== of type v1.ServiceBackendPort

从关键字可以看出是port的问题
于是将其port:添加一个子目录number:80指定端口
配置文件大概如下:

spec:
  ingressClassName: nginx
  rules:
  - host: nginx.hhh.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx-service
            port:
              number: 80     //添加

接下来创建后完美解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值