canonical / canonical/canonical-openstack-docs
internal-api loadbalancers: more details
- 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
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