当前位置:首页 > CloudNative云原生 > 正文内容

实战K3s 集群内置Traefik(反向代理& Ingress Controller)

时移世界11个月前 (04-29)CloudNative云原生1409

Traefik:轻量级且强大的现代HTTP反向代理与负载均衡器

在当下这个云计算和微服务盛行的时代,一个高效且易用的HTTP反向代理与负载均衡器成为了每一个技术团队不可或缺的工具。今天,我们就来聊聊这样一个备受瞩目的开源项目——Traefik。

一、Traefik是什么?

Traefik是一个用Go语言编写的现代HTTP反向代理和负载均衡器,特别适用于微服务架构。它支持多种后端服务(如Docker、Kubernetes、Marathon、Consul、Etcd等),能够自动发现并配置后端服务,无需手动配置。

二、Traefik的特点

  1. 自动化配置:Traefik能够自动检测后端服务的变化,并实时更新配置,无需重启或手动干预。

  2. 易于集成:Traefik提供了丰富的中间件支持,可以轻松集成各种认证、限流、日志等功能。

  3. 高性能:基于Go语言的编写,Traefik拥有出色的性能和稳定性,能够轻松应对高并发场景。

  4. 灵活的路由规则:支持基于路径、主机名、HTTP头等多种方式进行路由配置,满足复杂的业务需求。

  5. 丰富的插件生态:Traefik拥有庞大的社区和丰富的插件生态,用户可以根据自己的需求定制和扩展功能。

三、Traefik的应用场景

  1. 微服务架构:在微服务架构中,Traefik可以作为服务网关,实现服务的注册、发现、负载均衡和路由等功能。

  2. Kubernetes集群:在Kubernetes集群中,Traefik可以作为Ingress Controller,实现外部流量到集群内部服务的转发。

  3. 静态网站托管:除了作为反向代理外,Traefik还可以直接托管静态网站,提供高效的HTTP服务。

四、如何开始使用Traefik?

使用Traefik非常简单,你可以通过官方文档或社区教程快速上手。一般来说,你需要先安装Traefik,然后配置后端服务,最后设置路由规则即可。此外,你还可以根据需求选择合适的中间件和插件进行扩展。

五、总结

Traefik以其轻量级、易用性和强大的功能受到了广大技术团队的青睐。无论你是正在搭建微服务架构,还是管理Kubernetes集群,亦或是需要托管静态网站,Traefik都能为你提供高效且灵活的解决方案。快来试试看吧!

image.png

  • # nginx实践用例:
    1、创建Namespace、Deployment、Service、Ingress

# cat 1_nginx-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: inte
  labels:
    name: label-test

 kubectl apply -f 1_nginx-namespace.yaml

# cat 2_nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: inte
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 8

kubectl apply -f 2_nginx-deployment.yaml

# cat 3_nginx-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  namespace: inte
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

kubectl apply -f 3_nginx-service.yaml


# cat 4_nginx-ingress.yaml
apiVersion: networking.k8s.io/v1  
kind: Ingress  
metadata:  
  name: inte-traefik-ingress  
  namespace: inte  
spec:  
  ingressClassName: traefik # 使用这个字段来指定Ingress类  
  rules:  
  - host: inte-traefik.youchang.net 
    http:  
      paths:  
      - path: /  
        pathType: Prefix  
        backend:  
          service:  
            name: nginx-svc  
            port:  
              number: 80
  tls:
  - hosts:
    - inte-traefik.youchang.net
    secretName: wildcard-youchang-net-tls

kubectl apply -f 4_nginx-ingress.yaml


2、配置tls证书:

# sh ssl/inte-wildcard-youchang-net-tls.sh

# tree -L 2 ssl
ssl
├── cert.pem
├── inte-wildcard-youchang.net-tls.sh
└── privkey.pem
# cat ssl/inte-wildcard-youchang-net-tls.sh
kubectl create secret tls wildcard-youchang-net-tls \
    --namespace inte \
    --key privkey.pem \
    --cert cert.pem


3、绑定hosts测试:

# 绑定hosts:

47.94.155.130   inte-traefik.youchang.net

# 测试地址:
https://inte-traefik.youchang.net

# kubectl exec -it nginx-deployment-f6dc544c7-gj2fs /bin/sh -n inte
# kubectl exec -it nginx-deployment-f6dc544c7-mlldb /bin/sh -n inte
# 进入nginx容器,编辑index.html: 
# vi /usr/share/nginx/html/index.html
添加:
...... by: fanyouchang! ……

image.png

扫描二维码推送至手机访问。

版权声明:本文由时移安全运维发布,如需转载请注明出处。

本文链接:https://security.youchang.net/?id=8

分享给朋友:

“实战K3s 集群内置Traefik(反向代理& Ingress Controller)” 的相关文章

K8s/K3s集群 通过Helm Chart部署Harbor仓库: 镜像管理简单靠谱

K8s/K3s集群 通过Helm Chart部署Harbor仓库: 镜像管理简单靠谱

Harbor主流部署方式:1、安装docker、docker-compose,下载offline install包进行安装;2、通过Helm Chart部署Harbor到k3s或k8s集群;--- <注:纯云原生,偏好选这种^^>Harbor 简介Harbor是由VMware公...

K8s/K3s云原生:实战Prometheus监控与Grafana可视化

K8s/K3s云原生:实战Prometheus监控与Grafana可视化

一、概述Prometheus,起源于SoundCloud的匠心之作,作为开源监控告警系统的璀璨明星,实则承载着Google BorgMon监控智慧的传承。2016年,它荣耀加冕,成为继k3s之后,第二个受到CNCF庇护的杰出项目。随着k3s在轻量级容器编排领域的王者地位日益稳固,Prometheus...

K3s探秘:Install and Configure OpenSearch

K3s探秘:Install and Configure OpenSearch

叮咚~ 周末如期而至,新岗位每周实战笔记亦如约而现,笔耕不辍,记录点滴。背景知识:OpenSearch最初是由Amazon公司开源的。它最初是作为Amazon Elasticsearch Service的一个分支存在,旨在提供与Elasticsearch兼容但又有独特优势的开源搜索和分析解决方案。后...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。