diff --git a/dask_kubernetes/operator/controller/controller.py b/dask_kubernetes/operator/controller/controller.py index c34aa0ce..47c46f62 100644 --- a/dask_kubernetes/operator/controller/controller.py +++ b/dask_kubernetes/operator/controller/controller.py @@ -387,7 +387,7 @@ async def daskcluster_create_components( await worker_group.create() logger.info(f"Worker group {data['metadata']['name']} created in {namespace}.") - patch.status["phase"] = "Pending" + patch.status["phase"] = "Running" @kopf.on.field("service", field="status", labels={"dask.org/component": "scheduler"}) @@ -401,7 +401,7 @@ async def handle_scheduler_service_status( assert namespace # If the Service is a LoadBalancer with no ingress endpoints mark the cluster as Pending if spec["type"] == "LoadBalancer" and not len( - status.get("load_balancer", {}).get("ingress", []) + status.get("loadBalancer", {}).get("ingress", []) ): phase = "Pending" # Otherwise mark it as Running diff --git a/dask_kubernetes/operator/networking.py b/dask_kubernetes/operator/networking.py index 1e991640..2978889b 100644 --- a/dask_kubernetes/operator/networking.py +++ b/dask_kubernetes/operator/networking.py @@ -50,8 +50,8 @@ async def get_external_address_for_scheduler_service( """Take a service object and return the scheduler address.""" if service.spec.type == "LoadBalancer": port = _get_port(service, port_name) - lb = service.status.load_balancer.ingress[0] - host = lb.hostname or lb.ip + lb = service.status.loadBalancer.ingress[0] + host = lb.get("hostname", None) or lb.ip elif service.spec.type == "NodePort": port = _get_port(service, port_name, is_node_port=True) nodes = await kr8s.asyncio.get("nodes")