首页 > 其他分享 >k8s-安装负载均衡器

k8s-安装负载均衡器

时间:2023-03-04 11:34:53浏览次数:57  
标签:kubectl 负载 kube yaml strictARP proxy 均衡器 k8s

本文章是 k8s二进制高可用集群部署 的分支。详细步骤请参考目录。 

  k8s的LoadBalancer类型的Service依赖于外部的云提供的Load Balancer。

  当我们把k8s部署在裸机上面时,或者是测试环境时,需要简单的LoadBalancer来验证工作.

  目前开源市场有三款知名的负载均衡器,本文以MetalLB为例。

  MetalLB为本地运行的Kubernetes集群提供了LoadBalance功能,使用户像在公有云环境一样,使用K8S的LoadBalancer Service。

  参考地址:https://metallb.universe.tf/installation/

1.准备

  如果您在 IPVS 模式下使用 kube-proxy,从 Kubernetes v1.14.2 开始,您必须启用严格的 ARP 模式。

  请注意,如果您使用 kube-router 作为服务代理,则不需要它,因为它默认启用严格的 ARP。

  您可以通过在当前集群中编辑 kube-proxy 配置来实现此目的:

kubectl edit configmap -n kube-system kube-proxy

  并设置:

apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
  strictARP: true

  ---您还可以将此配置片段添加到您的 kubeadm-config 中,只需在主配置之后附加它即可。

  如果您正在尝试自动执行此更改,这些 shell 代码段可能会帮助您:

# see what changes would be made, returns nonzero returncode if different
kubectl get configmap kube-proxy -n kube-system -o yaml | \
sed -e "s/strictARP: false/strictARP: true/" | \
kubectl diff -f - -n kube-system

# actually apply the changes, returns nonzero returncode on errors only
kubectl get configmap kube-proxy -n kube-system -o yaml | \
sed -e "s/strictARP: false/strictARP: true/" | \
kubectl apply -f - -n kube-system

2.安装【建议将资源文件下载后应用】

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.9/config/manifests/metallb-native.yaml

3.配置

cat > /home/kubernetes/metailb-layer2-config.yaml  << "EOF"
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: first-pool
  namespace: metallb-system
spec:
  addresses:
  - 192.168.64.245-192.168.64.250

---

apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: example
  namespace: metallb-system
spec:
  ipAddressPools:
  - first-pool
EOF
kubectl apply -f /home/kubernetes/metailb-layer2-config.yaml

 

标签:kubectl,负载,kube,yaml,strictARP,proxy,均衡器,k8s
From: https://www.cnblogs.com/fanqisoft/p/17177949.html

相关文章

  • 微服务 - 搭建k8s(minikube)与简单wordPress实战
    Kubernetes的基本架构Kubernetes的基本架构,由Matser和Node子节点组成,使用kubectl进行通信,Master里的组件有哪些:Master里有4个组件,分别是apiserver、etcd、schedu......
  • 基于k8s构建企业jenkins CICD(二)
    1.Jenkins配置安装插件:kubernetes、git、pipeline、kubernetescontinuousdeploy配置Jenkins挂钩k8s环境点击“系统管理”=》“系统设置”。一直往下滑动,点击“新增一个云......
  • Rancher 使用介绍(可以通过界面管理 K8s 平台)
    参考链接https://blog.csdn.net/weixin_46902396/article/details/122433622https://www.hugedomains.com/domain_profile.cfm?d=kukasoft.comhttps://ranchermanager.d......
  • K8S中的PV和PVC
    前言容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态......
  • k8s1.26.1集群搭建
    安装containerd和kubeadm,kubelet,kubectl/etc/yum.repo.d/docker-ce.repo内容如下:[docker-ce-stable]name=DockerCEStable-$basearchbaseurl=https://download.do......
  • K8S中PV和PVC
    一、存储卷方式1、emptyDir存储卷当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod中的容器可以读......
  • K8S调度约束
    一、调度约束Kubernetes是通过List-Watch(监控)的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer......
  • K8S集群调度,约束
     1.集群调度简介#Scheduler是kubernetes中的调度器组件,主要的任务是把定义的pod分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都......
  • k8s集群调度
    1.集群调度简介#Scheduler是kubernetes中的调度器组件,主要的任务是把定义的pod分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能......
  • K8S 实用工具之一 - 如何合并多个 kubeconfig?
    开篇......