更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Linux上安装Traefik Ingress Controller

在Linux上安装Traefik Ingress Controller

更新时间:2023-03-13 09:59:52浏览次数:697+次

本文介绍在Linux系统上安装Traefik Ingress Controller(Traefik入口控制器)的方法。Traefik Ingress Controller是一种现代的、云原生的、动态的入口控制器,支持多个后端,可用于管理多个Kubernetes集群的流量,当前Traefik提供高级路由功能和负载平衡功能。

安装Traefik Ingress Controller的方法

在本文中,我们将使用Helm安装Traefik Ingress Controller。首先得要安装Helm,包括Kubernetes环境,如下所示:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

chmod 700 get_helm.sh

sudo ./get_helm.sh

检查您的helm版本,确认其已成功安装:

$ helm version

version.BuildInfo{Version:"v3.10.2", GitCommit:"50f003e5ee8704ec937a756c646870227d7c8b58", GitTreeState:"clean", GoVersion:"go1.18.8"}

通过运行以下命令,在工作站中添加Traefik Ingress helm存储库,地址在https://github.com/traefik/traefik-helm-chart:

helm repo add traefik https://helm.traefik.io/traefik

使用以下命令更新helm charts:

$ helm repo update

Hang tight while we grab the latest from your chart repositories...

...Successfully got an update from the "traefik" chart repository

...Successfully got an update from the "metrics-server" chart repository

...Successfully got an update from the "nfs-subdir-external-provisioner" chart repository

...Successfully got an update from the "kubevious" chart repository

...Successfully got an update from the "stable" chart repository

Update Complete. Happy Helming!

创建名为traefik的命名空间:

kubectl create ns traefik

注:需要部署Kubernetes集群。如果设置正在运行并且kubectl已配置,我们可以通过列出Kubernetes集群中的可用节点来测试它,可运行kubectl get nodes命令:

\

使用Traefik命名空间上的helm chart安装Traefik Ingress Controller:

helm install traefik traefik/traefik --namespace traefik

成功执行命令的示例输出信息如下:

NAME: traefik

LAST DEPLOYED: Sun Mar  12 17:33:01 2023

NAMESPACE: traefik

STATUS: deployed

REVISION: 1

TEST SUITE: None

NOTES:

Traefik Proxy v2.9.8 has been deployed successfully

on traefik namespace !

您可以使用值文件自定义安装。提供了一些示例,地址在https://github.com/traefik/traefik-helm-chart/blob/master/EXAMPLES.md。默认文件中包含所有可用参数的完整文档,地址在https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml。

例子:

helm upgrade --install traefik \

    --namespace traefik \

    --set dashboard.enabled=true \

    --set rbac.enabled=true \

    --set nodeSelector.node-type=master \

    --set="additionalArguments={--api.dashboard=true,--log.level=INFO,--providers.kubernetesingress.ingressclass=traefik-internal,--serversTransport.insecureSkipVerify=true}" \

    traefik/traefik \

    --version <version>

通过检查命名空间中的所有资源来验证安装:

$ kubectl get all -n traefik

输出信息如下截图所示:

\

从上面的截图输出中,我们有一个LoadBalancer服务,它具有一个挂起的外部IP地址。

使用命令查看Traefik CRDs:

$ kubectl get crd -n traefik | grep traefik

ingressroutes.traefik.containo.us

ingressroutetcps.traefik.containo.us

ingressrouteudps.traefik.containo.us

middlewares.traefik.containo.us

middlewaretcps.traefik.containo.us

serverstransports.traefik.containo.us

tlsoptions.traefik.containo.us

tlsstores.traefik.containo.us

traefikservices.traefik.containo.us

至此,安装Traefik Ingress Controller完毕。