kakao / network-node-manager

network-node-manager is a kubernetes controller that controls the network configuration of a node to resolve network issues of kubernetes.
Apache License 2.0
108 stars 20 forks source link

allow-shared-ip and externalTrafficPolicy: Local on arm dosn`t share ip ipv4 and ipv6 #4

Closed Trackhe closed 3 years ago

Trackhe commented 3 years ago

I have 4 Services for an deployment. ipv4tcp ipv4udp ipv6tcp ipv6udp all use type: Loadbalancer they sharing there ip with metallb.universe.tf/allow-shared-ip but if i change on one of them (ipv4tcp externalTrafficPolicy: Local loses there his ip.) if i change the other service ipv4udp to Local changes nothing. the same for ipv6

my deployment

kind: Service
apiVersion: v1
metadata:
  name: piholev4tcp
  namespace: default
  labels:
    k8s-app: pihole
  annotations:
    metallb.universe.tf/allow-shared-ip: piholev4
spec:
  ports:
    - name: tcp-53-53-rfi69
      protocol: TCP
      port: 53
      targetPort: 53
    - name: tcp-53-53-zfi69
      protocol: TCP
      port: 80
      targetPort: 80
    - name: tcp-443-443-92ld5
      protocol: TCP
      port: 443
      targetPort: 443
  selector:
    k8s-app: pihole
  type: LoadBalancer
  loadBalancerIP: 192.168.178.ip
  externalTrafficPolicy: Cluster
  ipFamily: IPv4
Trackhe commented 3 years ago

push

Trackhe commented 3 years ago

I test it with v0.2 also not working for ipv4 and ipv6 because it ignores the

annotations: metallb.universe.tf/allow-shared-ip: piholev6

Failed to create endpoint for service default/piholev6tcp: endpoints "piholev6tcp" already exists Failed to allocate IP for "default/piholev6tcp": can't change sharing key for "default/piholev6tcp", address also in use by default/piholev6udp

Trackhe commented 3 years ago

srry im stupid if i deploy the 2 services at the exact same time it works.