1.1 下载helm包

  1. wget http://192.168.100.223:8081/kubernetes_list/charts/traefik/traefik-7.0.0.tgz

1.2 导入traefik静态全局配置

  1. # static-config.yaml
  2. apiVersion: v1
  3. kind: ConfigMap
  4. metadata:
  5. name: traefik-v2-configs
  6. namespace: kube-system
  7. labels:
  8. name: traefik-v2-configs
  9. data:
  10. traefik.yaml: |
  11. providers:
  12. providersThrottleDuration: 10s
  13. serversTransport:
  14. maxIdleConnsPerHost: 100
  15. serversTransport:
  16. forwardingTimeouts:
  17. dialTimeout: 60s
  18. responseHeaderTimeout: 40s
  19. idleConnTimeout: 3600s
  20. entryPoints:
  21. web:
  22. transport:
  23. respondingTimeouts:
  24. writeTimeout: 42
  25. readTimeout: 42
  26. idleTimeout: 42
  27. lifeCycle:
  28. requestAcceptGraceTimeout: 42
  29. graceTimeOut: 42
  30. http:
  31. middlewares:
  32. limit:
  33. buffering:
  34. maxRequestBodyBytes: 10485760
  35. memRequestBodyBytes: 2097152
  36. maxResponseBodyBytes: 10485760
  37. memResponseBodyBytes: 2097152
  38. retryExpression: "IsNetworkError() && Attempts() < 2"
  39. test-compress:
  40. compress: {}
  41. testHeader:
  42. headers:
  43. accessControlAllowMethods:
  44. - "GET"
  45. - "POST"
  46. - "OPTIONS"
  47. - "PUT"
  48. accessControlAllowOriginList:
  49. - "*"
  50. accessControlMaxAge: 1000
  51. addVaryHeader: true
  52. accessControlAllowHeaders:
  53. - "*"
  54. accessControlAllowCredentials: true
  55. test-inflightreq:
  56. inFlightReq:
  57. amount: 100
  58. test-ratelimit:
  59. rateLimit:
  60. average: 100
  61. burst: 200
  62. period: 1m
  63. test-retry:
  64. retry:
  65. attempts: 4
  66. initialInterval: 100ms
  67. test-stripprefixregex:
  68. stripPrefixRegex:
  69. regex:
  70. - '^/[\w\-\_]+/'

1.3 使用helm安装

  • ports.web.hostPort:服务访问端口类似于80
  • ports.websecure.hostPort: https访问端口 类似于443
  • ports.traefik.hostPort: traefik管理页面
  1. helm upgrade --history-max 10 --atomic --install traefik-v2 traefik-7.0.0.tgz -n kube-system \
  2. --set image.name='registry.persagy.com/base/traefik' \
  3. --set image.tag='v2.4' \
  4. --set nameOverride=software-traefik \
  5. --set deployment.replicas=1 \
  6. --set ports.traefik.nodePort=32000 \
  7. --set ports.web.nodePort=32001 \
  8. --set ports.websecure.nodePort=32443 \
  9. --set additionalArguments="{--accesslog=true}" \
  10. --set service.type=nodePort
  11. ### 废弃留存
  12. helm upgrade --history-max 10 --atomic --install traefik-v2 traefik-7.0.0.tgz -n kube-system \
  13. --set image.name='registry.persagy.com/base/traefik' \
  14. --set image.tag='v2.4' \
  15. --set nameOverride=software-traefik \
  16. --set deployment.replicas=1 \
  17. --set ports.traefik.hostPort=32000 \
  18. --set ports.web.hostPort=32001 \
  19. --set ports.websecure.hostPort=32443 \
  20. --set additionalArguments="{--accesslog=true}" \
  21. --set service.type=ClusterIP