集群管理器和调度器 Nomad

    xiaoxiao2023-06-01  81

    Nomad 详细介绍

    Nomad 是一个集群管理器和调度器,专为微服务和批量处理工作流设计。Nomad 是分布式,高可用,可扩展到跨数据中心和区域的数千个节点。

    Nomad 提供一个常规工作流跨基础设施部署应用。开发者使用一个声明式作业规范来定义应用该如何部署,资源有什么要求(CPU,内存,硬盘)。Nomad 接收这些作业,查找可用的资源来运行应用。调度算法确保所有的约束都满足,尽量在一个主机部署尽可能多的应用,优化资源利用。此外,Nomad 支持在所有主流操作系统运行虚拟化,容器化或者是独立的应用,灵活的支持广泛的工作流负载。

    Nomad 已经在生产环境使用,主要特性:

    Docker:Nomad 支持 Docker 作为第一类的工作负载类型 操作简单 多个数据中心和多个区域 灵活的工作负载 可扩展

    代码示例:

    # Define the hashicorp/web/frontend job job "hashicorp/web/frontend" { # Run in two datacenters datacenters = ["us-west-1", "us-east-1"] # Only run our workload on linux constraint { attribute = "$attr.kernel.name" value = "linux" } # Configure the job to do rolling updates update { # Stagger updates every 30 seconds stagger = "30s" # Update a single task at a time max_parallel = 1 } # Define the task group group "frontend" { # Ensure we have enough servers to handle traffic count = 10 task "web" { # Use Docker to run our server driver = "docker" config { image = "hashicorp/web-frontend:latest" } # Ask for some resources resources { cpu = 500 memory = 128 network { mbits = 10 dynamic_ports = ["http"] } } } } }

    文章转载自 开源中国社区[https://www.oschina.net]

    最新回复(0)