k8s学习笔记——关于traefik 2
关于ingress使用traefik作为控制器traefik官网推荐使用ingressroute 是有traefik开发的组件,但是traefik也是支持ingress的。我查了好多资料,发现要使用ingress必须要设置好两个东西1、ingressclass这个组件若使用helm按照traefik,安装时系统就给创建好了。kubectl get ingressclassNAMECONTROLLE
·
关于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.yaml
apiVersion: 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-nginx
namespace: default
# annotations:
# kubernetes.io/ingress.class: "traefik"
spec:
ingressClassName: traefik
rules:
- host: nginx-test.shell.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
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中看到
也说明成功了。
更多推荐
已为社区贡献29条内容
所有评论(0)