def generate_managed_section(cluster):
    """
    Generate a managed configuration section for the given cluster.
    The section describes the nodes comprising the cluster.

    :param Cluster cluster: The cluster.
    :return: The managed configuration.
    :rtype: dict
    """
    addresses = list()
    for node in cluster.agent_nodes:
        if node.private_address is not None:
            addresses.append([node.private_address, node.address])
        else:
            addresses.append(node.address)
    return {
        "managed": {
            "addresses": addresses,
            "upgrade": True,
        }
    }