草庐IT

traefik-ingress

全部标签

【Kubernetes】第八篇 - Ingress 路由转发的介绍与使用

一,前言上一篇,通过Service服务,解决了pod的IP漂移问题;K8s的Pod和Service通过NodePort将服务暴露到外部,随着服务增加端口就变得不好管理;所以,通常情况下会设计一个Ingress进行路由转发方便统一管理;本篇,介绍Ingress的使用;二,Ingress简介1,Ingressingress:意思是入口、进入;Ingress是kubernetes组件,能够帮助服务实现负载均衡:根据路径前缀匹配、权重、cookie、header值访问不同的服务;2,ingress-nginxingress-nginx是基于nginx的一个ingress实现,能够通过正则匹配路径实现流

ingress配置后不显示地址故障排查

调用ingress服务时,无法通过域名进行访问,且查看ingress时没有显示IP地址kubectlgetingress-nnginx-demokubectldescribeingress-nnginx-demo 查看service能否正常,能否访问到后端podkubectlgetsvc-nnginx-demo 通过cul命令测试service服务是能正常访问,那么问题大概率出现在ingress上面curl-l10.96.160.182 查看ingress是否正常kubectlgetpod-ningress-nginx 可以看到ingree的pod明显处于pending状态,查看pod报错信息

Kubernetes 笔记(10)— Ingress、Ingress Controller、IngressClass 的产生缘由、YAML 描述及使用

上节我们学习了Service对象,它是Kubernetes内置的负载均衡机制,使用静态IP地址代理动态变化的Pod,支持域名访问和服务发现,是微服务架构必需的基础设施。Service很有用,但也只能说是“基础设施”,它对网络流量的管理方案还是太简单,离复杂的现代应用架构需求还有很大的差距,所以Kubernetes就在Service之上又提出了一个新的概念:Ingress。1.为什么要有Ingress我们知道了Service的功能和运行机制,它本质上就是一个由kube-proxy控制的四层负载均衡,在TCP/IP协议栈上转发流量。但在四层上的负载均衡功能还是太有限了,只能够依据IP地址和端口号做

Traefik v3.0 Docker 全面使用指南:基础篇

本篇文章聊聊如何通过Docker容器使用Traefik,进行稳定的Traefik服务的部署。写在前面距离Traefikv2.0.0的发布,不知不觉快四年了,在过去的四年里,我写过非常多和Traefik相关的实践内容,感兴趣的同学可以翻阅这里。上个月官方Traefik3.0.0第三个beta版本的发布,3.0新版本的代码被第二次正式合并进主干分支,距离我们能够正式使用到3.0版本,也越来越近了。相较一个季度前的版本,目前Traefik版本变化应该已经接近稳定,为了后面更简单的切换到新版本,或许是时候开始尝试服务迁移了。正好,尝试详细的写一篇使用Docker来使用Traefik的内容,帮助还没有入

kubernetes的ingress实现同时支持http和https

生产环境中对外的服务一般需要配置https服务,使用ingress也可以很方面的添加https的证书。默认情况下,如果为该Ingress启用了TLS,控制器会使用308永久重定向响应将HTTP客户端重定向到HTTPS端口443。(Ingress里配置了https证书的话,默认就一定会走https)。即默认情况下,如果在ingress规则中配置了tls,所有http的流量都会重定向到https。在一些特殊场景下,有请求地址是http访问就走http,请求地址是https访问就走https。1.ingress的http规则---apiVersion:networking.k8s.io/v1beta

ingress 路径配置中类型exact|prefix|ImplementationSpecific的区别以及配置

Ingress中path的类型有trois种:exact:精确匹配路径。如path:/foo,只匹配请求路径与之完全相同的/foo。prefix:前缀匹配路径。如path:/foo,匹配请求路径以/foo开始的所有路径,如/foo、/foo/bar等。ImplementationSpecific:特定Ingresscontroller的匹配方式。如NginxIngresscontroller忽略路径类型,作为前缀匹配路径处理。这三种类型的使用情况如下:exact路径当需要请求路径与Ingress路径完全匹配时使用,例如:apiVersion:extensions/v1beta1kind:Ing

使用 traefik 时 Redis 连接被拒绝

我很难尝试使用traefik为我的所有应用程序配置一个redis容器。这是我的配置:1-为Traefik和Redis编写的Docker:版本:'2'services:proxy:container_name:traefikimage:traefik:1.3.6-alpinecommand:--dockerports:-80:80volumes:-/var/run/docker.sock:/var/run/docker.sock-./traefik.toml:/traefik.tomlnetworks:-proxylabels:-traefik.frontend.rule=Host:mo

使用 traefik 时 Redis 连接被拒绝

我很难尝试使用traefik为我的所有应用程序配置一个redis容器。这是我的配置:1-为Traefik和Redis编写的Docker:版本:'2'services:proxy:container_name:traefikimage:traefik:1.3.6-alpinecommand:--dockerports:-80:80volumes:-/var/run/docker.sock:/var/run/docker.sock-./traefik.toml:/traefik.tomlnetworks:-proxylabels:-traefik.frontend.rule=Host:mo

k8s 负载均衡工具Ingress

Kubernetes是一种流行的容器编排平台,它提供了一种简单而强大的方式来管理容器化应用程序。KubernetesIngress是一种用于管理HTTP和HTTPS流量的API对象。它允许您将多个服务公开到Internet上,并提供负载均衡、TLS终止和基于主机名的路由等功能。本文将介绍KubernetesIngress的概念、使用方法和最佳实践。一、Ingress的概念Ingress是一个KubernetesAPI对象,它定义了如何将外部流量路由到Kubernetes集群内的服务。Ingress对象包含一组规则,每个规则定义了一个主机名和一个或多个路径,以及与之关联的后端服务。当请求到达In

ingress 400 Bad Request The plain HTTP request was sent to HTTPS port

 问题现象        访问时返回400BadRequest,并提示TheplainHTTPrequestwassenttoHTTPSport。问题原因        IngressController到后端Pod请求使用了默认的HTTP请求,但后端是HTTPS服务。。解决方案        添加注释,让其使用https请求nginx.ingress.kubernetes.io/backend-protocol:"HTTPS"官方配置:Annotations-NGINXIngressController此问题在nginx配置中也出现过,解决方法proxy_passhttps://xxx;