本文主要是介绍k8s学习笔记——关于traefik 2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于ingress使用traefik作为控制器
traefik官网推荐使用ingressroute 是有traefik开发的组件,但是traefik也是支持ingress的。
我查了好多资料,发现要使用ingress必须要设置好两个东西
1、ingressclass
这个组件若使用helm按照traefik,安装时系统就给创建好了。
kubectl get ingressclass
NAME CONTROLLER PARAMETERS AGE
traefik traefik.io/ingress-controller <none> 7h13m
如果上述命令没有查到结果,可以自行创建
//kubectl apply -f ingressclass.yaml# ingressclass.yamlapiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:name: traefik
spec:controller: traefik.io/ingress-controller
2、ingress
ingress和ingressroute一样需要和要代理的service在同一个namespace下
另外还需要设置
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: ingress-nginxnamespace: default# annotations:# kubernetes.io/ingress.class: "traefik"
spec:ingressClassName: traefikrules:- host: nginx-test.shell.comhttp:paths:- path: /pathType: Prefixbackend:service:name: nginxport:name: http
ingressClassName 这里的值为ingressclass的名,或者添加
annotations:
kubernetes.io/ingress.class: "traefik"
但两个不能同时设置。
设置成功可以看到如下
kubectl describe ing ingress-nginx
Name: ingress-nginx
Namespace: default
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:Host Path Backends---- ---- --------nginx-test.shell.com / nginx:http (22.244.181.129:80,22.244.231.46:80)
Annotations: <none>
Events: <none>
或者在dashboard中看到
也说明成功了。
这篇关于k8s学习笔记——关于traefik 2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!