canonical / canonical/canonical-openstack-docs

internal-api loadbalancers: more details

Open
#231 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
10
Forks
36
Avg merge
4d 13h
Merged PRs (30d)
5

Description

There is core.config.k8s-addons.loadbalancer (see [here](https://canonical-openstack.readthedocs-hosted.com/en/latest/explanation/deployment-manifest/))

In maas, there is the reserved ranges with tags `-internal-api` and `-public-api`

How do they related to each other?

In my manifest, I had
```
ingress-internal:
ip: 10.22.7.41
hostname: openstack-internal.pc8b.canonical.com

# MAAS 'public' network (10.22.8.0/24, VLAN 3429)
ingress-public:
ip: 10.22.8.41
hostname: openstack.pc8b.canonical.com

# MAAS 'public' network (10.22.8.0/24, VLAN 3429)
ingress-rgw:
ip: 10.22.8.42
hostname: openstack-rgw.pc8b.canonical.com
```

In maas, I have pc8b-internal-api reserved range 10.22.7.41-10.22.7.44 and the pc8b-public-api reserved range 10.22.8.41-10.22.8.44

But in the cluster I ended up with a conflict (the ovn-relay-lb was automatically assigned the lb which has later been assigned statically to internal traefik-lb
```
ubuntu@sunbeam-client:~$ kubectl get svc -A -o wide | grep -i pending
openstack traefik-lb LoadBalancer 10.152.183.76 80:31969/TCP,443:30476/TCP 4h15m app.kubernetes.io/name=traefik
ubuntu@sunbeam-client:~$ kubectl get svc -A -o wide | grep -i 10.22
openstack cinder-volume-mysql-router-service LoadBalancer 10.152.183.33 10.22.7.43 6446:30177/TCP,6447:30799/TCP 4h13m app.kubernetes.io/name=cinder-volume-mysql-router
openstack ovn-relay-lb LoadBalancer 10.152.183.178 10.22.7.41 6642:30656/TCP 4h16m app.kubernetes.io/name=ovn-relay
openstack rabbitmq-lb LoadBalancer 10.152.183.243 10.22.7.42 5672:30872/TCP,15672:31152/TCP 4h16m app.kubernetes.io/name=rabbitmq
openstack traefik-public-lb LoadBalancer 10.152.183.145 10.22.8.41 80:31340/TCP,443:30610/TCP 4h16m app.kubernetes.io/name=traefik-public
openstack traefik-rgw-lb LoadBalancer 10.152.183.137 10.22.8.42 80:30429/TCP,443:32337/TCP 4h16m app.kubernetes.io/name=traefik-rgw
```

How can I prevent the intenral services lb to take the static ip of the internal traefik?

Contributor guide

Open the contributing guide

Research direction

Start with the linked deployment-manifest documentation and the core.config.k8s-addons.loadbalancer setting, then compare the MAAS reserved ranges with the Kubernetes services shown in the issue. Clarify how internal and public API ranges are selected and how static assignments avoid automatic allocation conflicts; done means the relationship and prevention steps are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.