ZBLOG

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

k3s中使用的Traefik可以被代理,只需要在Traefik配置中添加proxyProtocol设置即可。具体步骤如下:

  1. 修改k3s server配置文件 /etc/rancher/k3s/k3s.yaml 中的kubeconfig内容为:
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <ca.crt>
    server: https://<k3s_url>:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    username: admin
    password: <k3s_token>
  1. 进入k3s集群内Traefik所在的命名空间(一般为kube-system),修改Traefik deployment的yaml文件,并添加如下配置:
- name: TRAEFIK_PROXY_PROTOCOL
  value: "true"
  1. 重新部署Traefik,并检查是否已经添加了代理协议:
$ kubectl apply -f traefik-deployment.yaml -n kube-system
$ kubectl describe pod traefik-xxxxx -n kube-system

如果输出中没有相关的错误信息,则表示配置成功。

  1. 最后,在代理服务器上配置转发规则即可。例如,使用nginx进行转发:
server {
    listen 80;
    server_name example.com;

    location / {
        # 转发到Traefik所在的节点IP和端口
        proxy_pass http://<k3s_node_ip>:<traefik_port>;
        proxy_protocol on; # 开启代理协议
    }
}

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?