private boolean updateNode(Action action, Node node) {
        if (action == Action.ERROR || action == Action.BOOKMARK) {
            return false;
        }

        final String nodeName = node.getMetadata().getName();
        logger.debug("[{}/{}] Node event received. action: {}, node: {}, resource version: {}",
                     namespace, serviceName, action, nodeName, node.getMetadata().getResourceVersion());
        switch (action) {
            case ADDED:
            case MODIFIED:
                final String nodeIp = node.getStatus().getAddresses().stream()
                                          .filter(nodeAddressFilter)
                                          .map(NodeAddress::getAddress)
                                          .findFirst().orElse(null);
                if (nodeIp == null) {
                    logger.debug("[{}/{}] No matching IP address is found in {}. node: {}",
                                 namespace, serviceName, nodeName, node);
                    nodeToIp.remove(nodeName);
                } else {
                    nodeToIp.put(nodeName, nodeIp);
                }
                break;
            case DELETED:
                nodeToIp.remove(nodeName);
                break;
        }
        return true;
    }
Fetches the internal IPs of the node.
kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/endpoints/KubernetesEndpointGroup.java