概述书接上回:《Rancher系列文章-K3S集群升级》,我们提到:通过一键脚本升级K3S集群有报错。接下来开始进行Traefik报错的分析和修复,问题是:所有Traefik的IngressRoute访问报错404问题描述报错如下:time="2022-05-05T09:51:21Z"level=errormsg="Failedtocreatemiddlewarekeys:middlewarekube-system/hsts-headerisnotintheIngressRoutenamespacecert-manager"namespace=cert-managerproviderName=
作者:scwang18,主要负责技术架构,在容器云方向颇有研究。前言KubeSphere是青云开源的基于Kubernetes的云原生分布式操作系统,提供了比较炫酷的Kubernetes集群管理界面,我们团队用KubeSphere来作为开发平台。本文记录了一次KubeSphere环境下的网络故障的解决过程。现象开发同学反馈自己搭建的Harbor仓库总是出问题,偶尔会报net/http:TLShandshaketimeout,通过curl的方式访问harbor.xxxx.cn,也会随机频繁挂起。但是ping的反馈一切正常。原因分析接到错误报障后,经过了多轮分析,才最终定位到原因,应该是安装Kube
作者:scwang18,主要负责技术架构,在容器云方向颇有研究。前言KubeSphere是青云开源的基于Kubernetes的云原生分布式操作系统,提供了比较炫酷的Kubernetes集群管理界面,我们团队用KubeSphere来作为开发平台。本文记录了一次KubeSphere环境下的网络故障的解决过程。现象开发同学反馈自己搭建的Harbor仓库总是出问题,偶尔会报net/http:TLShandshaketimeout,通过curl的方式访问harbor.xxxx.cn,也会随机频繁挂起。但是ping的反馈一切正常。原因分析接到错误报障后,经过了多轮分析,才最终定位到原因,应该是安装Kube
现今有越来越多的企业开始采纳云原生理念进行应用架构转型。而K8s和微服务是云原生的两大支柱,随着云原生浪潮而被广泛应用。 对多数应用而言,提供对外服务的使命并不会改变,相比于原来的单体应用,微服务架构下的应用的服务出口更多,管理更繁琐,微服务网关也应运而生;而K8s也提供了多种方式来暴露应用的服务,各种Ingress实现百花齐放。面对众多技术方案,我们如何做出合理的选择,规避潜在风险,本文将给出一些选型建议,供大家参考。 云原生网关基本概述 K8s中服务对外访问的方式 对于部署在云服务器上的应用,通常使用负载均衡软件或服务(如SLB)来提供高可用的服务。K8s提供了基于Service的服务发现
现今有越来越多的企业开始采纳云原生理念进行应用架构转型。而K8s和微服务是云原生的两大支柱,随着云原生浪潮而被广泛应用。 对多数应用而言,提供对外服务的使命并不会改变,相比于原来的单体应用,微服务架构下的应用的服务出口更多,管理更繁琐,微服务网关也应运而生;而K8s也提供了多种方式来暴露应用的服务,各种Ingress实现百花齐放。面对众多技术方案,我们如何做出合理的选择,规避潜在风险,本文将给出一些选型建议,供大家参考。 云原生网关基本概述 K8s中服务对外访问的方式 对于部署在云服务器上的应用,通常使用负载均衡软件或服务(如SLB)来提供高可用的服务。K8s提供了基于Service的服务发现
前言Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、AmazonECS...)集成,并自动和动态地配置自己。系列文章:《基于Traefik的激进TLS安全配置实践》今天我们基于TraefikonK8S来详细说明如何通过BasicAuthMiddleWare实现认证功能使用BasicAuth的原因很简单,比如我们想要将一个无认证的页面放到公网,但是出于安全考虑又希望只有账号密码的用户才能访问.比如:放开Promet
前言Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、AmazonECS...)集成,并自动和动态地配置自己。系列文章:《基于Traefik的激进TLS安全配置实践》今天我们基于TraefikonK8S来详细说明如何通过BasicAuthMiddleWare实现认证功能使用BasicAuth的原因很简单,比如我们想要将一个无认证的页面放到公网,但是出于安全考虑又希望只有账号密码的用户才能访问.比如:放开Promet
1.为什么需要Ingress我们使用传统的NodePort类型的Service的确能将集群内的服务暴露给集群外部客户端去访问,但是使用这种类型的Service存在以下问题。一个端口只能使用一个服务,所有通过NodePort暴露的端口都需要提前规划;如果集群上的Service的数量太多的话,暴露的NodePort端口不具有连续性。后期维护成本太大,且不宜于管理;无论是Iptables或者是Ipvs模型的Service都配置在Linux内核中的Netfilter之上进行四层调度。是一种比较通用的调度器。支持调度HTTP、Mysql等应用层服务,不过,也正是工作于传输层从而使得它无法做到类似卸载HT
1.为什么需要Ingress我们使用传统的NodePort类型的Service的确能将集群内的服务暴露给集群外部客户端去访问,但是使用这种类型的Service存在以下问题。一个端口只能使用一个服务,所有通过NodePort暴露的端口都需要提前规划;如果集群上的Service的数量太多的话,暴露的NodePort端口不具有连续性。后期维护成本太大,且不宜于管理;无论是Iptables或者是Ipvs模型的Service都配置在Linux内核中的Netfilter之上进行四层调度。是一种比较通用的调度器。支持调度HTTP、Mysql等应用层服务,不过,也正是工作于传输层从而使得它无法做到类似卸载HT
前言Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、AmazonECS...)集成,并自动和动态地配置自己。系列文章:《Traefik系列文章》实践中,一个很常见的需求,用户输入的url是ewhisper.cn/alert-manager,如果什么都不做会返回404,需要自动加斜杠变成ewhisper.cn/alert-manager/,如何基于TraefikonK8S实现?答案是:用redirectRegexM