首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Metallb L2 L2Advertisement/IPAdressPools赋值行为怪异

Metallb L2 L2Advertisement/IPAdressPools赋值行为怪异
EN

Stack Overflow用户
提问于 2022-08-23 15:11:28
回答 1查看 257关注 0票数 0

我使用Metallb0.13.4 L2,下面有IP广告和池。Nginx抓住正确的IP地址,金属扬声器正确地宣布它。所以IP地址是正确分配的。

代码语言:javascript
复制
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: external-advertisement
  namespace: metallb-system
spec:
  ipAddressPools:
  - external-pool
  nodeSelectors:
  - matchLabels:
      kubernetes.io/os: linux
      kubernetes.io/arch: amd64
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: internal-advertisement
  namespace: metallb-system
spec:
  ipAddressPools:
  - internal-pool
  nodeSelectors:
  - matchLabels:
      kubernetes.io/os: linux
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: external-pool
  namespace: metallb-system
spec:
  addresses:
    - x.x.x.204/32
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: internal-pool
  namespace: metallb-system
spec:
  addresses:
    - x.x.x.203/32

尼克斯吐露

代码语言:javascript
复制
....
  controller:
    annotations:
      metallb.universe.tf/address-pool: external-pool
....
---
....
  controller:
    annotations:
      metallb.universe.tf/address-pool: internal-pool
....

以及从nginx控制器事件

代码语言:javascript
复制
Events:
  Type    Reason        Age                    From             Message
  ----    ------        ----                   ----             -------
  Normal  nodeAssigned  4m6s (x1173 over 19h)  metallb-speaker  announcing from node [redacted] with protocol "layer2"

看到(x1173 over 19h)这么奇怪了吗?当我查看Ingresses时,它们的IP地址不断变化,但它们被分配给内部或外部的nginx类。

代码语言:javascript
复制
$ kl get ingressclass
NAME             CONTROLLER             PARAMETERS   AGE
nginx            k8s.io/ingress-nginx   <none>       5d6h
nginx-internal   k8s.io/ingress-nginx   <none>       5d6h

虽然侵入IP在x.203和x.204??之间不断变化,但它们总是响应指定的IP地址!这看起来确实很奇怪。

注意:我不确定metallb项目的帮助,这就是为什么我要在这里创建这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-01 13:03:00

问题是controller上的注释,它们应该在controller.service;这是工作配置;

代码语言:javascript
复制
controller:
  service:
    externalTrafficPolicy: Local
    type: LoadBalancer
    loadBalancerIP: x.x.x.203
    annotations:
      metallb.universe.tf/address-pool: "internal-pool"

此外,服务必须是LoadBalancer类型,并指定IP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73461158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档