ZBLOG

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

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

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

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

  1. 最后,在代理服务器上配置转发规则即可。例如,使用nginx进行转发:
  1. server {
  2. listen 80;
  3. server_name example.com;
  4. location / {
  5. # 转发到Traefik所在的节点IP和端口
  6. proxy_pass http://<k3s_node_ip>:<traefik_port>;
  7. proxy_protocol on; # 开启代理协议
  8. }
  9. }

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?