Traefik mesh:更方便的服务网格

Traefik mesh没有通过sidecar的形式进行流量拦截或者修改,那是怎么实现的呢?

它其实是借助于CoreDNS,它通过修改CoreDNS的少量配置,让用于允许使用Mesh端点而不是标准的Kubernetes端点,Mesh端点和用于服务并行运行,用户可以选择是否使用它。

安装

  • 前提:
  • Kubernetes 1.11+
  • CoreDNS 1.3+
  • Helm v3

Traefik mesh的安装很简单,使用Helm即可实现快速的安装。

(1)添加Helm仓库


  1. helm repo add traefik-mesh https://helm.traefik.io/mesh 
  2. helm repo update 

(2)下载Chart包


  1. helm pull traefik-mesh/traefik-mesh 

(3)解压Chart包


  1. tar xf traefik-mesh-3.0.6.tgz 

Traefik mesh会部署4个服务,它们分别是:

  • controller:Mesh的控制器,负责代理节点的所有配置分析和配置
  • proxy:Mesh的代理,负责处理每个节点的流量代理
  • tracing:跟踪配置
  • metrics:监控配置

(4)安装traefik mesh


  1. helm install traefik-mesh . 

traefik mesh需要coredns的配合,主要改动部分如下:


  1. #### Begin Maesh Block 
  2. maesh:53 { 
  3.     errors 
  4.     rewrite continue { 
  5.         name regex ([a-zA-Z0-9-_]*).([a-zv0-9-_]*).maesh default-{1}-6d61657368-{2}.default.svc.cluster.local 
  6.         answer name default-([a-zA-Z0-9-_]*)-6d61657368-([a-zA-Z0-9-_]*).default.svc.cluster.local {1}.{2}.maesh 
  7.     } 
  8.     kubernetes cluster.local in-addr.arpa ip6.arpa { 
  9.         pods insecure 
  10.         upstream 
  11.         fallthrough in-addr.arpa ip6.arpa 
  12.     } 
  13.     forward . /etc/resolv.conf 
  14.     cache 30 
  15.     loop 
  16.     reload 
  17.     loadbalance 
  18. #### End Maesh Block 
  19.  
  20. #### Begin Traefik Mesh Block 
  21. traefik.mesh:53 { 
  22.     errors 
  23.     rewrite continue { 
  24.         name regex ([a-zA-Z0-9-_]*).([a-zv0-9-_]*).traefik.mesh default-{1}-6d61657368-{2}.default.svc.cluster.local 
  25.         answer name default-([a-zA-Z0-9-_]*)-6d61657368-([a-zA-Z0-9-_]*).default.svc.cluster.local {1}.{2}.traefik.mesh 
  26.     } 
  27.     kubernetes cluster.local in-addr.arpa ip6.arpa { 
  28.         pods insecure 
  29.         upstream 
  30.         fallthrough in-addr.arpa ip6.arpa 
  31.     } 
  32.     forward . /etc/resolv.conf 
  33.     cache 30 
  34.     loop 
  35.     reload 
  36.     loadbalance 
  37. #### End Traefik Mesh Block 

如果在部署过程中,coredns报以下错误:


  1. plugin/forward: this plugin can only be used once per Server Block 

请检查coredns的configMap配置,看DNS下是否有两个forward。

配置

Traefik mesh的配置分为静态配置和动态配置。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章