k8s安装traefik1.7.30 404

6 篇文章 0 订阅
4 篇文章 0 订阅
本文描述了作者在从Kubernetes 1.17到1.19版本升级过程中,遇到的Traefik 1.7.30与IngressClass不兼容问题,涉及创建默认ingressclass、配置调整和版本匹配的解决过程。
摘要由CSDN通过智能技术生成

k8s1.17安装traefik1.7.6没有问题,k8s1.19安装traefik1.7.30出现问题:
1、通过ingress访问域名访问服务报错404,经过排查发现服务没有问题,查看k8s文档发现,ingress需要指定ingressclass(确定ingress contraller,不指定也行,创建一个默认的)

[root@k8s-master aws]# kubectl --kubeconfig  config get ing -n prod
NAME                            CLASS        HOSTS    
aws-ingress-example             traefik-lb   phpmyadmin.*.*.org                             80      8h

在这里就发现ingress多了一个字段class,于是查看文档
创建一个默认的ingressclass
PS:不创建默认的也行,在ingress中通过IngressClassName声明,默认ingressclass新建而不指定的ingress就会使用默认ingressclass

[root@k8s-master aws]# cat ingressClassName.yaml 
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: traefik-lb
  annotations:
    ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: traefik.io/ingress-controller
#  parameters:
#    apiGroup: k8s.example.com
#    kind: IngressParameters
#    name: traefik-lb

2、然后还是404
a、配置问题
b、启动参数问题
c、版本兼容问题

[root@k8s-master aws]# kubectl --kubeconfig  config get svc -n kube-system traefik-ingress-service 
NAME                      TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)                                     AGE
traefik-ingress-service   NodePort   10.100.14.28   <none>        80:30480/TCP,443:30443/TCP,8080:31752/TCP   7d18h

查看traefik的日志,只有启动的几行日志,没有有用信息,猜测:

主要怀疑第一第二原因,查看traefik.toml配置和官网对比,没有发现什么问题
直接访问traefik管理端口8080:31752,也是404,基本就是确定就是启动参数问题,对比官方文档发现启动参数不一致

总结:因为版本变化,启动参数不一致影响问题
个人感悟:还是短炼啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值