traefik使用kubernetes

121 篇文章 2 订阅

traefik使用kubernetes

在kubernetes集群中直接启动deployment之后就能使用traefik管理你的ingress rule 
但是需要添加代理头信息及需要把access log映射到外部存储设备上需要如下配置 
不知道如何添加头信息请看官方文档或者请联系我

标准traefik deployment

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: traefik-ingress-lb
  namespace: kube-system
  labels:
    k8s-app: traefik-ingress-lb
spec:
  template:
    metadata:
      labels:
        k8s-app: traefik-ingress-lb
        name: traefik-ingress-lb
    spec:
      terminationGracePeriodSeconds: 60
      hostNetwork: true
      restartPolicy: Always
      serviceAccountName: ingress
      containers:
      - image: traefik
        imagePullPolicy: IfNotPresent
        name: traefik-ingress-lb
        securityContext:
          privileged: true
        volumeMounts:
          - mountPath: /config
            name: config
        ports:
        - name: http
          containerPort: 80
          hostPort: 80
        - name: admin
          containerPort: 8580
          hostPort: 8580
        args:
        - --web
        - --web.address=:8580
        - --kubernetes
        - --kubernetes.endpoint=http://x.x.x.x:8080
        - --configFile=/config/traefik.toml
      volumes:
        - name: config
          configMap:
             name: traefik-config
      nodeSelector:
        edug: traefik 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • args中的–configFile参数如果使用traefik.toml就必须按照目录来配置
  • args中的–kubernetes.endpoint如果你想使用https去与api server交互时就不需要配置这个参数
  • volumes-configMap 使用configmap管理你的traefik.toml文件内容

traefik暴露日志至外接设备

volumes:
    - name: config
      configMap:
         name: traefik-config

---

volumeMounts:
   - mountPath: /data/
     name: traefik-log
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

- 定义volume point ,使用volumes挂载到容器即可,记得宿主机得先创建好你在traefik.toml中的目录

traefik.toml内容

logLevel = "INFO"
defaultEntryPoints = ["http"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  compress = true
[kubernetes]
[traefikLog]
filePath = "/data/traefik.log"
format = "json"
[accessLog]
filePath = "/data/access.log"
format = "json"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

总结

  • 出现问题不要方,可以使用kubectl logs|describe等命令查看日志
  • 出现问题时根据一步一步来解决,不要着急,把问题分解再找问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值