作者: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的服务发现
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
目录一、概述1)LoadBlancerService2)NodePortService3)Ingress二、Ingress-nginx介绍1)Ingress-nginx组成2)Ingress-nginx工作流程3)工作原理三、安装Ingress-nginx1)官方介绍2)直接部署ingress-nginx四、创建nginx应用五、使用hostNetwork的方式部署ingress-nginx1)创建目录2)copy一份deploy.yaml3)优化ingress-nginx六、基于HTTPS的Ingress-nginx1)创建CA证书2)secret简介3)创建secret1、通过命令行创建s
目录一、概述1)LoadBlancerService2)NodePortService3)Ingress二、Ingress-nginx介绍1)Ingress-nginx组成2)Ingress-nginx工作流程3)工作原理三、安装Ingress-nginx1)官方介绍2)直接部署ingress-nginx四、创建nginx应用五、使用hostNetwork的方式部署ingress-nginx1)创建目录2)copy一份deploy.yaml3)优化ingress-nginx六、基于HTTPS的Ingress-nginx1)创建CA证书2)secret简介3)创建secret1、通过命令行创建s
Ingress的功能其实很容易理解:所谓Ingress,就是Service的“Service”,代理不同后端Service而设置的负载均衡服务。一、安装ingress1.查找ingress安装文件从github上查看ingress对应k8s版本的deploy文件,链接地址是:https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal2.点击Raw按钮可得到该文件的url链接https://raw.githubusercontent.com/kubernetes/ingress-ng
Ingress的功能其实很容易理解:所谓Ingress,就是Service的“Service”,代理不同后端Service而设置的负载均衡服务。一、安装ingress1.查找ingress安装文件从github上查看ingress对应k8s版本的deploy文件,链接地址是:https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal2.点击Raw按钮可得到该文件的url链接https://raw.githubusercontent.com/kubernetes/ingress-ng
未安装ArgoCD参考GitOps实践之kubernetes部署Argocd1.查看ArgocdService可以看到是ClusterIP,因此不能从外部直接访问Argocd的WEB-UI#kubectlgetsvc-nargocdNAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGEargocd-applicationset-controllerClusterIP10.96.52.1097000/TCP,8080/TCP25dargocd-dex-serverClusterIP10.96.57.2175556/TCP,5557/TCP,5558/TCP25dargoc