文章目录

  • 1 Helm部署Traefik-ingress
  • 2 部署Nginx-ingress
  • 3 Nginx和Traefik横向对比

1 Helm部署Traefik-ingress

1、配置环境变量,设置用户名密码

[root@master01 ~]# export USER=rsq
[root@master01 ~]# export DOMAIN=traefik-ingress.rsq.com# 若没有htpasswd可以yum安装httpd,附带这个命令组件
[root@master01 ~]# htpasswd -c auth $USER
New password: 123456
Re-type new password: 123456
Adding password for user user[root@master01 ~]# PASSWORD=$(cat auth| awk -F: '{print $2}')

2、部署Traefik-ingress

# 1. 获取traefik的chart
# 由于stable版本的chart是谷歌源,可能会出现pull失败,可以考虑阿里源的aliyun/stable
[root@master01 ~]# cd /helm
[root@master01 helm]# helm search repo traefik
NAME            CHART VERSION   APP VERSION DESCRIPTION
aliyun/traefik  1.24.1          1.5.3       A Traefik based Kubernetes ingress controller w...
stable/traefik  1.87.1          1.7.23      A Traefik based Kubernetes ingress controller w...
[root@master01 helm]# helm pull stable/traefik --untar# 2. 修改values文件
[root@master01 helm]# vim traefik/values.yaml
# (1) 由于前端没有slb,故要修改serviceType类型为NodePort
serviceType: NodePort
# (2) 修改持久存储,我这里用的glusterFS,若没有持久存储可以关闭此选项 enabled: false
persistence:enabled: true
storageClass: "gluster-04"# 3. 部署traefik
[root@master01 helm]# helm install stable/traefik --name --namespace kube-system --set rbac.enabled=true,acme.enabled=true,dashboard.enabled=true,acme.staging=false,acme.email=admin@$DOMAIN,dashboard.domain=$DOMAIN,ssl.enabled=true,acme.challengeType=http-01,dashboard.auth.basic.$USER=$PASSWORD
NAME: traefik
LAST DEPLOYED: Wed Jul 15 09:36:10 2020
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get Traefik's load balancer IP/hostname:NOTE: It may take a few minutes for this to become available.You can watch the status by running:$ kubectl get svc traefik --namespace kube-system -wOnce 'EXTERNAL-IP' is no longer '<pending>':$ kubectl describe svc traefik --namespace kube-system | grep Ingress | awk '{print $3}'2. Configure DNS records corresponding to Kubernetes ingress resources to point to the load balancer IP/hostname found in step 1# 4. 过一会查看pod状态是否正常
[root@master01 helm]# kubectl -n kube-system get pod -l app=traefik
NAME                       READY   STATUS    RESTARTS   AGE
traefik-5c9755b89b-mx5vf   1/1     Running   0          55m
[root@master01 helm]# kubectl -n kube-system get ingress
NAME                CLASS    HOSTS                     ADDRESS       PORTS   AGE
traefik-dashboard   <none>   traefik-ingress.rsq.com   192.168.9.9   80      55m
[root@master01 helm]# kubectl -n kube-system get svc traefik
NAME      TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
traefik   NodePort   10.104.232.80   <none>        443:31868/TCP,80:31510/TCP   55m

2、测试访问traefik-ingress dashboard
这里在登录的时候需要在客户端添加hosts解析,解析tarefik-ingress.rsq.com到任何一个k8s节点ip,访问账号密码是之前设置的rsq/123456


还有健康检查界面

2 部署Nginx-ingress

这里我用的资源清单的安装方式,可参考github的deploy方式

github部署链接

由于资源清单过长,附上资源清单下载地址

nginx-ingress-controller.yaml

# deploy nginx-ingress-controller.yaml
# 会有两个Job Pods处于Completed
[root@master01 elfk]# kubectl apply -f nginx-ingress-controller.yaml
[root@master01 ~]# kubectl get pods -n ingress-nginx
NAME                                        READY   STATUS      RESTARTS   AGE
ingress-nginx-admission-create-cbpx9        0/1     Completed   0          28d
ingress-nginx-admission-patch-tn4r8         0/1     Completed   0          28d
ingress-nginx-controller-75f84dfcd7-crc8m   1/1     Running     0          23d# 查看svc
[root@master01 ~]# kubectl get svc -n ingress-nginx
NAME                                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             NodePort    10.111.147.241   <none>        80:30080/TCP,443:30443/TCP   28d
ingress-nginx-controller-admission   ClusterIP   10.102.123.229   <none>        443/TCP                      28d

3 Nginx和Traefik横向对比

Nginx Ingress Traefix ingress
协议 http/https、http2、grpc、tcp/udp http/https、http2、grpc、tcp、tcp+tls
路由匹配 host、path host、path、headers、query、path prefix、method
命名空间支持 - 共用或指定命名空间
部署策略 - 金丝雀部署、蓝绿部署、灰度部署
upstream探测 重试、超时、心跳探测 重试、超时、心跳探测、熔断
负载均衡算法 RR、会话保持、最小连接、最短时间、一致性hash WRR、动态RR、会话保持
优点 简单易用,易接入 Golang编写,部署容易,支持众多的后端,内置WebUI
缺点 没有解决nginx reload,插件多,但是扩展性能查差 没什么缺点,新版本支持UDP

NGINX、HAProxy和Traefik负载均衡能力对比

Traefik-ingress和Nginx-ingress对比相关推荐

  1. k8s 使用Nginx Ingress实现灰度发布和蓝绿发布

    **导语:**云原生最佳实践系列,涵盖了灰度发布.弹性伸缩.集群迁移.网络通信.应用容器化改造等等场景,针对各行业面临的应用现状,提出最佳解决方案,并提供详细操作指导,希望对您有所帮助. Ingres ...

  2. aws eks 配置nginx tls 和 nginx ingress controller

    参考资料 nginx快速入门 NGINX Ingress Controller 版本区别 社区版 Nginx ingress controller NGINX版 Nginx Ingress Contr ...

  3. Kubernetes Nginx Ingress 安装与使用

    2019独角兽企业重金招聘Python工程师标准>>> Kubernetes Nginx Ingress 安装与使用 博客分类: Kubernetes 目录 (Table of Co ...

  4. Kubernetes Nginx Ingress教程

    最近发现好多人问Ingress,同时一直也没去用Nginx的Ingress,索性捣鼓一把,发现跟原来确实有了点变化,在这里写篇文章记录一下 一.Ingress介绍 Kubernetes暴露服务的方式目 ...

  5. Kubernetes使用Nginx Ingress暴露Dashboard

    Kubernetes使用Nginx Ingress暴露Dashboard [TOC] 1. 环境说明 可用的kubernetes集群 可用的nginx ingress controller 可用的da ...

  6. 初试 Kubernetes 暴漏服务类型之 Nginx Ingress

    目录 Ingress 介绍 环境.软件准备 部署 Default Backend 部署 Ingress Controller 部署 Ingress Name based virtual hosting ...

  7. Kubernetes暴漏服务类型之Nginx Ingress

    Kubernetes暴漏服务类型之Nginx Ingress 一.Ingress 介绍 LoadBlancer Service NodePort Service 1.NodePort类型的服务 Ing ...

  8. K8S(Rancher)Ingress 规则 - Nginx 反向代理重定向

    1.Rancher 配置截图: 2.yaml 配置(只包含关键部分) apiVersion: extensions/v1beta1 kind: Ingress metadata:annotations ...

  9. k8s nginx ingress原理解读

    阅读本文需要以下知识为前提 了解k8s基本架构,k8s基本资源清单 用自己的k8s实验环境 首先了解ingress解决了什么问题 k8s内部项目暴露外部访问,只用一个固定端口,暴露多个服务.相对于:L ...

  10. Nginx Ingress Controller 部署

    概述 本次实践的主要目的就是将入口统一,不再通过 LoadBalancer 等方式将端口暴露出来,而是使用 Ingress 提供的反向代理负载均衡功能作为我们的唯一入口.通过以下步骤操作仔细体会. 注 ...

最新文章

  1. Mysql 递归获取多重数组数据
  2. 2017.10.8 软件工程----总体设计
  3. 4.3. postForObject
  4. [Tips]Torch功能点记录
  5. php字符串从a到z排序,js怎么实现中文按照A-Z排序
  6. Cortex-A 的内核寄存器组
  7. 关于 HTTP 的一切(HTTP/1.1,HTTP/2,HTTP/3,HTTPS, CORS, 缓存 ,无状态)
  8. 【HTML/CSS】单位小结
  9. Golang实践录:使用gin框架实现转发功能:上传文件并转
  10. 电气工程cad实用教程电子版_电气工程cad实用教程
  11. UDA/语义分割/ICCV2021:Dual Path Learning for Domain Adaptation of Semantic Segmentation语义分割领域自适应的双路径学习
  12. 谷歌FLASH无法添加保存网站
  13. 转载: Fisher精确检验概述
  14. 摄像头 - 双摄像头工作原理详解:RBG +RGB, RGB + Mono
  15. Unity3D for Android 纹理压缩支持
  16. 科创人·知乎CTO李大海:技术服务内容、商业化依赖内容,曾被「呵呵」难到挠头
  17. java生成订单编号
  18. 力扣-股票的资本损益
  19. 计算机应用杂志-投稿经历
  20. nO a3i会用上鸿蒙系统么,华为nova3i 真的超级好用哦

热门文章

  1. AcFun 的视频架构演化实践阅读心得
  2. 手游运营者必学:运营的核心、宗旨和目标
  3. 比较了几种编程语言后,我终于get到了少儿编程的真谛
  4. 【剑指Offer】二进制1的个数(减1后的数和原数相与,能将最低位的1置0)
  5. rabbitMQ集群异常
  6. win7系统如何设置远程桌面连接【系统天地】
  7. 一、分布式关系型数据库 DRDS介绍
  8. 28 字符串排列(还差点,list包含、Arrays、Collections的sort)全排列
  9. SSL证书一年需要多少钱
  10. mfc7420调整复印浓度_理光AFICIO复印机如何调节复印浓度