ZBLOG

k3s traefik 是不是不能被代理. 如何解决

k3s中的Traefik是可以被代理的,需要进行以下步骤:

  1. 确认Traefik的Service type为LoadBalancer或NodePort
$ kubectl get svc -n kube-system traefik
NAME      TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)                      AGE
traefik   LoadBalancer   10.43.72.35   <pending>     80:31000/TCP,443:32063/TCP   2d23h
  1. 在Traefik的Deployment或DaemonSet中添加--externalTrafficPolicy=Local参数
apiVersion: apps/v1
kind: Deployment
metadata:
  name: traefik
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik
  template:
    metadata:
      labels:
        app: traefik
    spec:
      containers:
      - args:
        - --api.insecure=true
        - --accesslog=true
        - --entrypoints.web.address=:80
        - --providers.kubernetescrd
        - --configfile=/config/traefik.toml
        image: traefik:v2.4
        name: traefik
        ports:
        - containerPort: 80
          protocol: TCP
        - containerPort: 8080
          protocol: TCP
        volumeMounts:
        - mountPath: /config
          name: config
        # 添加参数
        - "--externalTrafficPolicy=Local"
      volumes:
      - configMap:
          defaultMode: 420
          name: traefik-config
        name: config
  1. 配置代理服务器的负载均衡规则,将请求转发到Traefik的Service IP或NodePort上。

例如,使用Nginx作为代理服务器时,可以在Nginx的配置文件中添加以下配置:

upstream traefik {
    server 10.43.72.35:80; # Traefik的Service IP
}
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://traefik;
    }
}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2107

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?