部署metallb

部署metallb
官方部署metallb文档:
https://metallb.universe.tf/tutorial/layer2/
项目地址:
https://github.com/google/metallb:

部署metallb负载均衡器

$ wget https://raw.githubusercontent.com/google/metallb/v0.8.3/manifests/metallb.yaml

先拉取镜像
$ docker pull metallb/speaker:v0.8.2
$ docker pull metallb/controller:v0.8.2

$ kubectl apply -f metallb.yaml

查看运行的pod
metalLB包含两个部分: a cluster-wide controller, and a per-machine protocol speaker

[root@master yaml-resource]# kubectl get pod -n metallb-system  -o wide
NAME                          READY   STATUS    RESTARTS   AGE   IP             NODE     NOMINATED NODE   READINESS GATES
controller-65895b47d4-569qt   1/1     Running   0          28s   10.244.0.8     master   <none>           <none>
speaker-7hjpq                 1/1     Running   0          28s   192.168.1.93   master   <none>           <none>
speaker-wktjz                 1/1     Running   0          28s   192.168.1.92   node     <none>           <none>

查看其它信息
包含了 “controller” deployment,和 the “speaker” DaemonSet.

[root@master yaml-resource]# kubectl get daemonset -n metallb-system
NAME      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
speaker   2         2         2       2            2           beta.kubernetes.io/os=linux   2m45s
[root@master yaml-resource]# kubectl get deployment -n metallb-system
NAME         READY   UP-TO-DATE   AVAILABLE   AGE
controller   1/1     1            1           3m10s


目前还没有宣布任何内容,因为我们没有提供ConfigMap,也没有提供负载均衡地址的服务。
接下来我们要生成一个 Configmap 文件,为 Metallb 设置网址范围以及协议相关的选择和配置,这里以一个简单的二层配置为例。

创建config.yaml提供IP池
wget https://raw.githubusercontent.com/google/metallb/v0.8.3/manifests/example-layer2-config.yaml

修改ip地址池和集群节点网段相同

[centos@k8s-master ~]$ vim example-layer2-config.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.1.150-192.168.1.200

注意:这里的 IP 地址范围需要跟集群实际情况相对应。
执行yaml文件

$ kubectl apply -f example-layer2-config.yaml

-------------------------------------------------------------
创建后端应用和服务测试

$ wget https://raw.githubusercontent.com/google/metallb/master/manifests/tutorial-2.yaml
$ kubectl apply -f tutorial-2.yaml

查看yaml文件配置,包含了一个deployment和一个LoadBalancer类型的service,默认即可。
(修改了一下nginx的镜像,原写法nginx:l, 改为nginx:latest)
执行报错, 修改apps/v1beta2为apps/v1

------
查看service分配的EXTERNAL-IP

[root@master yaml-resource]# kubectl get service
NAME               TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                         AGE
grafana            LoadBalancer   10.98.25.153     192.168.1.151   3000:31595/TCP                  22h
kubernetes         ClusterIP      10.96.0.1        <none>          443/TCP                         2d3h
mysql              ClusterIP      10.106.209.38    <none>          3306/TCP                        18h
nginx              LoadBalancer   10.103.191.109   192.168.1.153   80:30776/TCP                    26h
prometheus         ClusterIP      10.101.40.175    <none>          9090/TCP                        22h
prometheus-proxy   LoadBalancer   10.105.193.116   192.168.1.150   8080:30345/TCP,7001:31165/TCP   22h
scdf-server        LoadBalancer   10.96.195.218    192.168.1.152   80:31348/TCP                    3h45m


在浏览器中测试nginx
http://192.168.1.153
正常返回

在192.168.1.93(master)无法ping通
192.168.1.153:30776 无法访问


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署Metallb时,需要先声明PersistentVolumeClaim (PVC)和PersistentVolume (PV)。这可以通过编写一个名为persistVolume.yaml的文件来完成。在该文件中,我们可以指定PVC的访问模式、存储大小和存储类,以及PV的容量、访问模式、存储回收策略和存储类。在PV的配置中,我们还可以指定Cinder卷的ID和文件系统类型。 一旦PV和PVC的声明完成,我们就可以通过kubectl命令来部署Metallb。可以使用"kubectl apply -f persistVolume.yaml"命令来应用persistVolume.yaml文件中的配置。这将创建PV和PVC,并使其在Kubernetes集群中可用。然后,我们可以继续部署Metallb,并使用PVC来挂载所需的资源。 需要注意的是,Metallb是一个用于Kubernetes集群的负载均衡器,它可以帮助我们将外部流量引导到集群中的服务。因此,在部署Metallb之前,需要确保Kubernetes集群已经正确配置和运行,并且已经安装了必要的组件和依赖项。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [k8s部署mysql](https://blog.csdn.net/qq_33036061/article/details/123501164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值