当前位置: 首页 > news >正文

网站做瑶海区网站建设公司

网站做,瑶海区网站建设公司,wordpress修改php.ini,美叶设计网站https://github.com/metallb/metallb 参考 #xff1a; https://mp.weixin.qq.com/s/MBOWfcTjFMmgJFWw-FIk0Q 自建的Kubernetes集群#xff0c;默认情况下是不支持负载均衡的。当需要提供服务的外部访问时#xff0c;可使用 Ingress、NodePort等方式。他们都存在一些问题 …https://github.com/metallb/metallb 参考 https://mp.weixin.qq.com/s/MBOWfcTjFMmgJFWw-FIk0Q 自建的Kubernetes集群默认情况下是不支持负载均衡的。当需要提供服务的外部访问时可使用 Ingress、NodePort等方式。他们都存在一些问题 如Ingress不支持TCP协议而NodePort则是使用随机端口 MetalLB 提供基于网络设备的负载均衡功能来解决这些问题 部署要求 MetalLB部署需要以下环境才能运行 运行Kubernetes 1.13.0或更高版本的群集尚不具有网络负载平衡功能 一些用于MetalLB分配的IPv4地址 如果使用BGP模式需要准备一台或多台支持BGP的路由器 如果使用layer 2模式时集群节点间必须允许7946端口的访问 用户代理之间的通信 集群的网络类型需要支持MetalLB详见下表 网络类型兼容性AntreaYesCalicoMostlyCanalYesCiliumYesFlannelYesKube-ovnYesKube-routerMostlyWeave NetMostly 工作原理 Metallb包含两个组件Controller和SpeakerController为Deployment部署方式而Speaker则采用Daemonset方式部署到集群内部各个Node节点。 具体的工作原理如下图所示Controller负责监听Service变化当Service配置为LoadBalancer模式时从IP池分配给到相应的IP地址并对该IP的生命周期进行管理。Speaker则会依据选择的协议进行相应的广播或应答实现IP地址的通信响应。当业务流量通过TCP/UDP协议到达指定的Node时由Node上面运行的Kube-Proxy组件对流量进行处理并分发到对应服务的Pod上面。 MetalLB支持两种模式一种是Layer2模式一种是BGP模式 Layer2模式 在2层模式下Metallb会在Node节点中选出一台作为Leader与服务IP相关的所有流量都会流向该节点。在该节点上 kube-proxy将接收到的流量传播到对应服务的Pod。当leader节点出现故障时会由另一个节点接管。从这个角度来看2层模式更像是高可用而不是负载均衡因为同时只能在一个节点负责接收数据 在二层模式中会存在以下两种局限性单节点瓶颈和故障转移慢的情况 由于Layer 2 模式会使用单个选举出来的Leader来接收服务IP的所有流量这就意味着服务的入口带宽被限制为单个节点的带宽单节点的流量处理能力将成为整个集群的接收外部流量的瓶颈。 在故障转移方面目前的机制是MetalLB通过发送2层数据包来通知各个节点并重新选举Leader这通常能在几秒内完成。但如果是计划外的事故导致的此时在有故障的客户端刷新其缓存条目之前将无法访问服务IP BGP模式 BGP模式是真正的负载均衡该模式需要路由器支持BGP协议 群集中的每个节点会与网络路由器建议基于BGP的对等会话并使用该会话来通告负载均衡的IP。MetalLB发布的路由彼此等效这意味着路由器将使用所有的目标节点并在它们之间进行负载平衡。数据包到达节点后kube-proxy负责流量路由的最后一跳将数据包发送到对应服务的Pod。 负载平衡的方式取决于您特定的路由器型号和配置常见的有基于数据包哈希对每个连接进行均衡这意味着单个TCP或UDP会话的所有数据包都将定向到群集中的单个计算机。 BGP模式也存在着自身的局限性该模式通过对数据包头中的某些字段进行哈希处理并将该哈希值用作后端数组的索引将给定的数据包分配给特定的下一跳。但路由器中使用的哈希通常不稳定因此只要后端节点数量发生变化时现有连接就会被随机地重新哈希这意味着大多数现有连接将被转发到另一后端而该后端并不清楚原有的连接状态。为了减少这种麻烦建议使用更加稳定的BGP算法如ECMP散列算法。 安装 k8s版本我这里是k8s1.29.3 Metallb版本v0.13.4 启用kube-proxy的ARP模式 如果集群是使用IPVS模式下kube-proxy则从kubernetes v.1.14.2开始必须启用ARP模式。 修改kube-proxy配置文件 kubectl edit configmap -n kube-system kube-proxy ... #设置strictARP值为true apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs ipvs:strictARP: true重启kube-proxy kubectl -n kube-system rollout restart daemonset kube-proxy安装MetalLB相关组件 下载部署yaml文件 wget https://raw.githubusercontent.com/metallb/metallb/v0.13.4/config/manifests/metallb-native.yaml下载镜像 docker pull quay.io/metallb/controller:v0.13.4 docker pull quay.io/metallb/speaker:v0.13.4打tag为自己的镜像 registry.cn-beijing.aliyuncs.com/wuxingge123/metallb-controller:v0.13.4 registry.cn-beijing.aliyuncs.com/wuxingge123/metallb-speaker:v0.13.4配置模式 Layer2模式配置 创建IPAddressPool并指定用于分配的IP池。 vim IPAddressPool.yaml apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata:name: ip-poolnamespace: metallb-system spec:addresses:- 10.0.0.101-10.0.0.150创建广播声明此处未指定IP池则默认会使用所有IP池地址 vim L2Advertisement.yaml apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata:name: l2advernamespace: metallb-systemBGP模式配置 对于具有一个BGP路由器和一个IP地址范围的基本配置您需要4条信息 MetalLB应该连接的路由器IP地址 路由器的AS号 MetalLB应该使用的AS号 以CIDR前缀表示的IP地址范围。 示例现在分配给MetalLB的AS编号为64500和192.168.10.0/24的IP地址池并将其连接到AS编号为64501的地址为10.0.0.1的路由器则配置如下所示 创建BGPPeer apiVersion: metallb.io/v1beta2 kind: BGPPeer metadata:name: samplenamespace: metallb-system spec:myASN: 64500peerASN: 64501peerAddress: 10.0.0.1配置IP地址池 apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata:name: first-poolnamespace: metallb-system spec:addresses:- 192.168.10.0/24创建广播声明 apiVersion: metallb.io/v1beta1 kind: BGPAdvertisement metadata:name: bgpadvernamespace: metallb-system功能验证 本实例使用Layer2配置来测试 vim myapp.yaml apiVersion: v1 kind: Service metadata:name: myapp-svc spec:selector:app: myappports:- protocol: TCPport: 80targetPort: 80type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata:name: myapp-deploymentlabels:app: myapp spec:replicas: 2selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:containers:- name: nginximage: nginx:1.19.4ports:- containerPort: 80查看创建的SVC状态已获取到IP kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 none 443/TCP 66d myapp-svc LoadBalancer 10.110.204.123 10.0.0.101 80:32339/TCP 38m访问 http://10.0.0.101/
http://www.w-s-a.com/news/539551/

相关文章:

  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子
  • 赛罕区城乡建设局网站什么是新媒体运营
  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件
  • 网站呢建设公众号制作要求
  • 网站备案证明在自己电脑上做网站
  • 沈阳旅游团购网站建设怎么制作网站搜索窗口
  • 做化学合成的网站有哪些枣庄住房和城乡建设局网站
  • 天猫优惠券网站怎么做的网络连接
  • 保定网站建设多少钱公司网页网站建设+ppt模板下载
  • 用户上传商品网站用什么做建设跳转公积金网站
  • 买程序的网站上海市网站建设公司
  • 南通网站建设排名公司哪家好wordpress网站图片迁移
  • 河南省汝州文明建设门户网站博客网站建设源码
  • 单位建设网站的请示手机移动端网站案例