Using an external etcd as the DCS instead of the native Kubernetes API, when the callback is performed to change the labels pointing to the master, it fails if you have configured a different cluster domain for the Kubernetes cluster, because KUBE_API_URL always points to cluster.local as the domain:
|
KUBE_API_URL = 'https://kubernetes.default.svc.cluster.local/api/v1/namespaces' |
Example log:
2024-07-10 16:22:18,822 WARNING: Exception when executing PATCH on https://kubernetes.default.svc.cluster.local/api/v1/namespaces/app-postgres/endpoints/primary-postgres-cluster: HTTPSConnectionPool(host='kubernetes.default.svc.cluster.local', port=443): Max retries exceeded with url: /api/v1/namespaces/app-postgres/endpoints/primary-postgres-cluster (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f9a632b2470>: Failed to establish a new connection: [Errno -2] Name or service not known'))
It should be possible to change the kubernetes cluster domain.
Using an external etcd as the DCS instead of the native Kubernetes API, when the callback is performed to change the labels pointing to the master, it fails if you have configured a different cluster domain for the Kubernetes cluster, because KUBE_API_URL always points to
cluster.localas the domain:spilo/postgres-appliance/scripts/callback_role.py
Line 17 in 5ddf59d
Example log:
It should be possible to change the kubernetes cluster domain.