使用helm安装traefik
Traefik简介
Traefik是一个开源的kuberetes ingrsss,它可以让你的服务发布成为一种有趣而轻松的体验。它代表您的系统接收请求,并找出哪些组件负责处理它们。
Traefik的与众不同之处在于,除了它的众多功能之外,它还可以自动为您的服务发现正确的配置。当 Traefik 检查您的基础设施时,奇迹就会发生,它会在其中找到相关信息并发现哪个服务服务于哪个请求。
Traefik 原生兼容所有主要的集群技术,例如 Kubernetes、Docker、Docker Swarm、AWS、Mesos、Marathon,不胜枚举;并且可以同时处理多个。(它甚至适用于在裸机上运行的遗留软件。)
使用 Traefik,无需维护和同步单独的配置文件:一切都自动实时发生(无需重启,无需连接中断)。使用 Traefik,您可以花时间为系统开发和部署新功能,而不是配置和维护其工作状态。
安装helm
wget https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz
tar vzxf helm-v3.9.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm安装
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
# 创建traefik-v2名称空间
kubectl create ns traefik
# 安装traefik
helm install --namespace=traefik traefik traefik/traefik
# 查看helm列表
helm list -n traefik
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
traefik traefik 1 2022-12-20 11:16:01.025060111 +0800 CST deployed traefik-20.8.0 v2.9.6
部署测试应用
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: whoami
namespace: traefik
spec:
replicas: 3
selector:
matchLabels:
app: whoami
template:
metadata:
labels:
app: whoami
spec:
containers:
- name: whoami
image: traefik/whoami:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: whoami
namespace: traefik
spec:
type: ClusterIP
ports:
- protocol: TCP
port: 80
selector:
app: whoami
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: whoami
namespace: traefik
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
spec:
rules:
- host: treafik.demo
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: whoami
port:
number: 80
EOF
curl -H “Host: treafik.demo” http://
: