private boolean updatePod(Action action, Pod resource) {
        if (action == Action.ERROR || action == Action.BOOKMARK) {
            return false;
        }
        final String podName = resource.getMetadata().getName();
        final String nodeName = resource.getSpec().getNodeName();
        logger.debug("[{}/{}] Pod event received. action: {}, pod: {}, node: {}, resource version: {}",
                     namespace, serviceName, action, podName, nodeName,
                     resource.getMetadata().getResourceVersion());

        if (podName == null || nodeName == null) {
            logger.debug("[{}/{}] Pod or node name is null. pod: {}, node: {}",
                         namespace, serviceName, podName, nodeName);
            return false;
        }

        switch (action) {
            case ADDED:
            case MODIFIED:
                podToNode.put(podName, nodeName);
                break;
            case DELETED:
                podToNode.remove(podName);
                break;
            default:
        }
        return true;
    }
Watches the service. {@link Watcher} will retry automatically on failures by {@link KubernetesClient}.
kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/endpoints/KubernetesEndpointGroup.java