加入收藏 | 设为首页 | 会员中心 | 我要投稿 宣城站长网 (https://www.0563zz.cn/)- 数据湖、行业智能、边缘计算、开发、备份!
当前位置: 首页 > 云计算 > 正文

Kubernetns LB措施:无需云厂商的动态DNS和负载均衡

发布时间:2021-06-06 17:29:35 所属栏目:云计算 来源:互联网
导读:我们经常谈论托管Kubernetes或在云中运行的Kubernetes,但我们也在非云的环境(例如VMware或裸机服务器)上运行Kubernetes。 您可能还会听到很多有关云供应商集成的经典案例:您可以获取无密码凭据来访问托管服务,无需手动干预即可配置云负载均衡器,自动创建
我们经常谈论托管Kubernetes或在云中运行的Kubernetes,但我们也在非云的环境(例如VMware或裸机服务器)上运行Kubernetes。
您可能还会听到很多有关云供应商集成的经典案例:您可以获取无密码凭据来访问托管服务,无需手动干预即可配置云负载均衡器,自动创建DNS条目等。
在本地运行时,通常无法使用这些集成功能,除非您使用的是受支持的云平台(如 OpenStack)。那么当在裸机或VM上运行时,如何获得Cloud Native环境的自动化优势?
所以让我们一步一步去看我们所想实现的功能。
本文中使用的所有清单均可在github项目中(https://github.com/clusterfrak-dynamics/gitops-template)获取。
GitOps
与往常一样,我们使用GitOps和FluxCD将我们的资源部署到集群中,无论它们是在云上还是在本地。你可以参考跟多我们关于Flux的文章。
首先,您可以使用我们的GitOps模板,并根据需要对其进行自定义。kubectl如果更合适,您也可以直接部署清单 。
以下让我们深入研究我们的组件。
负载均衡
在云上运行kubernetns时,通常可以立即使用Load Balancer。在裸机或VM上运行时,负载均衡器保持pending不可用状态。
因此,首先,我们希望我们的服务类型LoadBalancer不处于pending不可用状态,并且能够在需要时提供动态负载平衡器,而无需手动配置haproxy或其他类似的服务。
metallb可以提供两种模式的虚拟负载均衡器的实现:
BGP协议
ARP
后者更简单,因为它可以在几乎任何二层网络上工作,而无需进一步配置。
在ARP模式下,metallb的配置非常简单。您只需要给它提供一些可以使用的IP就可以了。
配置清单可在此处或官方文件中找到。要配置所需的IP地址,可以使用ConfigMap完成。
metallb-config.yaml:
apiVersion: v1 
kind: ConfigMap 
metadata: 
  namespace: metallb-system 
  name: config 
data: 
  config: | 
    address-pools: 
    - name: default 
      protocol: layer2 
      addresses: 
      - 10.10.39.200-10.10.39.220 
您还需要生成一个密钥来加密Metallb组件通信,您可以使用以下脚本来生成Kubernetes secret yaml:
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" -o yaml --dry-run=client > metallb-secret.yaml 
部署完所有内容后,您应该在metallb-system namespace内看到相应的pods :
NAME                          READY   STATUS    RESTARTS   AGE 
controller-57f648cb96-tvr9q   1/1     Running   0          2d1h 
speaker-7rd8p                 1/1     Running   0          2d1h 
speaker-7t7rg                 1/1     Running   0          2d1h 
speaker-8qm2t                 1/1     Running   0          2d1h 
speaker-bks4s                 1/1     Running   0          2d1h 
speaker-cz6bc                 1/1     Running   0          2d1h 
speaker-h8b54                 1/1     Running   0          2d1h 
speaker-j6bss                 1/1     Running   0          2d1h 
speaker-phvv7                 1/1     Running   0          2d1h 
speaker-wdwjc                 1/1     Running   0          2d1h 
speaker-xj25p                 1/1     Running   0          2d1h 

(编辑:宣城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读