kubernetes-traefik的安装和部署

Traefik 是一个出色的 Kube.NETes 集群入口控制器,允许您拥有一个 L7 入口路由引擎来将入口流量路由到您的 Kubernetes 托管服务 。在本教程中,我们将研究 Traefik 的 安装和配置,以了解如何使用 MetalLB 作为负载均衡器;并使用 helm 安装 Traefik 。
 
Traefik Helm 安装的先决条件您可以使用 Node Port 来配置 Traefik 。但是,NodePort 管理起来很麻烦,而且即使在实验室环境中也不能很好地扩展 。
我们可以选择使用MetalLB;请查看我关于Kubernetes 安装 MetalLB 负载平衡器主题的帖子,了解如何轻松运行 MetalLB 并创建简单的配置来分配 Kubernetes 服务的 IP 地址 。使用该帖子,您将 MetalLB 配置为 Kubernetes 集群的负载均衡器,以便您可以为 Kubernetes 服务映射 IP 地址 。
除了运行 MetalLB 之外,我使用kubeadm初始化了标准的 3 节点 Kubernetes 集群,并且已经安装了helm 。
Traefik Helm 安装和配置在大多数情况下,我可在官方文档中找到的使用 Helm 部署 Traefik 的步骤进行操作:Traefik 安装文档 – Traefik 。
这些步骤让您添加 Helm 存储库、更新存储库,然后安装 helm chart 。
$ helm repo add traefik https://helm.traefik.io/traefik$ helm repo update$ helm show values traefik/traefik > /tmp/traefik-chart.yaml自定义配置

kubernetes-traefik的安装和部署

文章插图
 

kubernetes-traefik的安装和部署

文章插图
 

kubernetes-traefik的安装和部署

文章插图
【kubernetes-traefik的安装和部署】 
现在,我们可以使用以下语法通过 values 文件实际部署 Traefik chart:
$ helm install traefik traefik/traefik --values ./traefik-chart.yaml -n traefik --create-namespace您可以使用以下命令列出 helm 部署状态:
$ helm list -n traefik现在,如果您检查 Traefik 命名空间,使用get all,您将看到我们已正确获取 LoadBalancer IP 地址并公开了正确的端口 。
$ kubectl -n traefik get all
kubernetes-traefik的安装和部署

文章插图
 
配置traefik dashboard
  1. 将证书上传到服务器,并创建对应的secret
kubectl create secret tls example.com.default --key STAR_example_com.key --cert STAR_example_com_integrated.crt
  1. 配置Traefik中间件BasicAuth; 设置dashboard访问权限
#配置secret,密码必须是一个 MD5,SHA1 或者 BCrypt 的哈希值$ apt install Apache2-utils -y$ htpasswd -nb admin admin123admin:$apr1$RuTEI9dp$GrpMJ.cdHY1pG1N.dlaIu1#配置authsecre.yaml文件$ vim traefik-authsecret.yamlapiVersion: v1kind: Secretmetadata:name: traefik-authsecretnamespace: traefiktype: OpaquestringData:users: admin:$apr1$RuTEI9dp$GrpMJ.cdHY1pG1N.dlaIu1traefik-basic-auth.yaml 内容如下:
apiVersion: traefik.containo.us/v1alpha1kind: Middlewaremetadata:name: traefik-basic-authnamespace: traefikspec:basicAuth:secret: traefik-authsecret
  1. 配置Ingress Route
apiVersion: traefik.containo.us/v1alpha1kind: IngressRoutemetadata:name: traefik-dashboard-routenamespace: traefikspec:entryPoints:- websecuretls:secretName: aixbx.com.defaultroutes:- match: Host(`traefik.aixbx.com`)kind: Ruleservices:- name: traefikport: 9000middlewares:- name: traefik-basic-auth
  1. 应用配置
kubectl Apply -f traefik-authsecret.yamlkubectl apply -f traefik-basic-auth.yamlkubectl apply -f traefik-dashboard-ingress-route.yaml访问面板域名后加/dashboard/; 访问打开之后输入用户名和密码 。即可完成访问 。
kubernetes-traefik的安装和部署

文章插图
 
参考链接:
https://traefik.io/traefik/




    推荐阅读