Merge pull request #5667 from hashicorp/yishan/revised-nomadproject-structure

Revised NomadProject Structure
This commit is contained in:
Yishan Lin 2019-05-09 13:03:50 -07:00 committed by GitHub
commit 46bb7bbe08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 710 additions and 677 deletions

View File

@ -0,0 +1,16 @@
---
layout: "guides"
page_title: "Analytical Workloads on Nomad"
sidebar_current: "guides-analytical-workloads"
description: |-
List of data services.
---
# Analytical Workloads on Nomad
Nomad is well-suited for analytical workloads, given its [performance](https://www.hashicorp.com/c1m/) and first-class support for
[batch scheduling](/docs/schedulers.html).
This section provides some best practices and guidance for running analytical workloads on Nomad.
Please navigate the appropriate sub-sections for more information.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Configuration Properties" page_title: "Apache Spark Integration - Configuration Properties"
sidebar_current: "guides-spark-configuration" sidebar_current: "guides-analytical-workloads-spark-configuration"
description: |- description: |-
Comprehensive list of Spark configuration properties. Comprehensive list of Spark configuration properties.
--- ---
@ -151,4 +151,3 @@ containing the TLS certificate to present to the Nomad server.
- `spark.nomad.tls.trustStorePassword` `(string: nil)` - Specifies the path to a - `spark.nomad.tls.trustStorePassword` `(string: nil)` - Specifies the path to a
`.pem` file containing the private key corresponding to the certificate in `.pem` file containing the private key corresponding to the certificate in
[spark.nomad.tls.cert](#spark-nomad-tls-cert). [spark.nomad.tls.cert](#spark-nomad-tls-cert).

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Customizing Applications" page_title: "Apache Spark Integration - Customizing Applications"
sidebar_current: "guides-spark-customizing" sidebar_current: "guides-analytical-workloads-spark-customizing"
description: |- description: |-
Learn how to customize the Nomad job that is created to run a Spark Learn how to customize the Nomad job that is created to run a Spark
application. application.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Dynamic Executors" page_title: "Apache Spark Integration - Dynamic Executors"
sidebar_current: "guides-spark-dynamic" sidebar_current: "guides-analytical-workloads-spark-dynamic"
description: |- description: |-
Learn how to dynamically scale Spark executors based the queue of pending Learn how to dynamically scale Spark executors based the queue of pending
tasks. tasks.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Using HDFS" page_title: "Apache Spark Integration - Using HDFS"
sidebar_current: "guides-spark-hdfs" sidebar_current: "guides-analytical-workloads-spark-hdfs"
description: |- description: |-
Learn how to deploy HDFS on Nomad and integrate it with Spark. Learn how to deploy HDFS on Nomad and integrate it with Spark.
--- ---

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Monitoring Output" page_title: "Apache Spark Integration - Monitoring Output"
sidebar_current: "guides-spark-monitoring" sidebar_current: "guides-analytical-workloadsspark-monitoring"
description: |- description: |-
Learn how to monitor Spark application output. Learn how to monitor Spark application output.
--- ---

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Getting Started" page_title: "Apache Spark Integration - Getting Started"
sidebar_current: "guides-spark-pre" sidebar_current: "guides-analytical-workloads-spark-pre"
description: |- description: |-
Get started with the Nomad/Spark integration. Get started with the Nomad/Spark integration.
--- ---

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Resource Allocation" page_title: "Apache Spark Integration - Resource Allocation"
sidebar_current: "guides-spark-resource" sidebar_current: "guides-analytical-workloads-spark-resource"
description: |- description: |-
Learn how to configure resource allocation for your Spark applications. Learn how to configure resource allocation for your Spark applications.
--- ---

View File

@ -1,16 +1,13 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Running Apache Spark on Nomad" page_title: "Running Apache Spark on Nomad"
sidebar_current: "guides-spark-spark" sidebar_current: "guides-analytical-workloads-spark-intro"
description: |- description: |-
Learn how to run Apache Spark on a Nomad cluster. Learn how to run Apache Spark on a Nomad cluster.
--- ---
# Running Apache Spark on Nomad # Running Apache Spark on Nomad
Nomad is well-suited for analytical workloads, given its [performance
characteristics](https://www.hashicorp.com/c1m/) and first-class support for
[batch scheduling](/docs/schedulers.html).
Apache Spark is a popular data processing engine/framework that has been Apache Spark is a popular data processing engine/framework that has been
architected to use third-party schedulers. The Nomad ecosystem includes a architected to use third-party schedulers. The Nomad ecosystem includes a
[fork of Apache Spark](https://github.com/hashicorp/nomad-spark) that natively [fork of Apache Spark](https://github.com/hashicorp/nomad-spark) that natively

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Apache Spark Integration - Submitting Applications" page_title: "Apache Spark Integration - Submitting Applications"
sidebar_current: "guides-spark-submit" sidebar_current: "guides-analytical-workloads-spark-submit"
description: |- description: |-
Learn how to submit Spark jobs that run on a Nomad cluster. Learn how to submit Spark jobs that run on a Nomad cluster.
--- ---

View File

@ -0,0 +1,14 @@
---
layout: "guides"
page_title: "Governance & Policy on Nomad"
sidebar_current: "guides-governance-and-policy"
description: |-
List of data services.
---
#Governance & Policy
This section provides some best practices and guidance for operating Nomad securely in a multi-team setting through features such as namespaces, resource quotas, and Sentinel.
Please navigate the appropriate sub-sections for more information.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Namespaces" page_title: "Namespaces"
sidebar_current: "guides-security-namespaces" sidebar_current: "guides-governance-and-policy-namespaces"
description: |- description: |-
Nomad Enterprise provides support for namespaces, which allow jobs and their Nomad Enterprise provides support for namespaces, which allow jobs and their
associated objects to be segmented from each other and other users of the associated objects to be segmented from each other and other users of the

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Resource Quotas" page_title: "Resource Quotas"
sidebar_current: "guides-security-quotas" sidebar_current: "guides-governance-and-policy-quotas"
description: |- description: |-
Nomad Enterprise provides support for resource quotas, which allow operators Nomad Enterprise provides support for resource quotas, which allow operators
to restrict the aggregate resource usage of namespaces. to restrict the aggregate resource usage of namespaces.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Sentinel Job Object" page_title: "Sentinel Job Object"
sidebar_current: "guides-security-sentinel-job" sidebar_current: "guides-governance-and-policy-sentinel-job"
description: |- description: |-
Job objects can be introspected to apply fine grained Sentinel policies. Job objects can be introspected to apply fine grained Sentinel policies.
--- ---
@ -20,4 +20,3 @@ Sentinel convention for identifiers is lower case and separated by underscores.
| `job.ParentID` | `job.parent_id` | | `job.ParentID` | `job.parent_id` |
| `job.TaskGroups` | `job.task_groups` | | `job.TaskGroups` | `job.task_groups` |
| `job.TaskGroups[0].EphemeralDisk.SizeMB`| `job.task_groups[0].ephemeral_disk.size_mb` | | `job.TaskGroups[0].EphemeralDisk.SizeMB`| `job.task_groups[0].ephemeral_disk.size_mb` |

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Sentinel Policies" page_title: "Sentinel Policies"
sidebar_current: "guides-security-sentinel" sidebar_current: "guides-governance-and-policy-sentinel"
description: |- description: |-
Nomad integrates with Sentinel for fine-grained policy enforcement. Sentinel allows operators to express their policies as code, and have their policies automatically enforced. This allows operators to define a "sandbox" and restrict actions to only those compliant with policy. The Sentinel integration builds on the ACL System. Nomad integrates with Sentinel for fine-grained policy enforcement. Sentinel allows operators to express their policies as code, and have their policies automatically enforced. This allows operators to define a "sandbox" and restrict actions to only those compliant with policy. The Sentinel integration builds on the ACL System.
--- ---
@ -206,4 +206,3 @@ The following objects are made available in the `submit-job` scope:
| `job` | The job being submitted | | `job` | The job being submitted |
See the [Sentinel Job Object](/guides/security/sentinel/job.html) for details on the fields that are available. See the [Sentinel Job Object](/guides/security/sentinel/job.html) for details on the fields that are available.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Installing Nomad" page_title: "Installing Nomad"
sidebar_current: "guides-operations-installing" sidebar_current: "guides-install"
description: |- description: |-
Learn how to install Nomad. Learn how to install Nomad.
--- ---

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Nomad Deployment Guide" page_title: "Nomad Deployment Guide"
sidebar_current: "guides-operations-deployment-guide" sidebar_current: "guides-install-production-deployment-guide"
description: |- description: |-
This deployment guide covers the steps required to install and This deployment guide covers the steps required to install and
configure a single HashiCorp Nomad cluster as defined in the configure a single HashiCorp Nomad cluster as defined in the
@ -9,7 +9,7 @@ description: |-
ea_version: 0.9 ea_version: 0.9
--- ---
# Nomad Deployment Guide # Nomad Reference Install Guide
This deployment guide covers the steps required to install and configure a single HashiCorp Nomad cluster as defined in the [Nomad Reference Architecture](/guides/operations/reference-architecture.html). This deployment guide covers the steps required to install and configure a single HashiCorp Nomad cluster as defined in the [Nomad Reference Architecture](/guides/operations/reference-architecture.html).

View File

@ -0,0 +1,38 @@
---
layout: "guides"
page_title: "Installing Nomad for Production"
sidebar_current: "guides-install-production"
description: |-
Learn how to install Nomad for Production.
---
#Installing Nomad for Production
This section covers how to install Nomad for production.
There are multiple steps to cover for a successful Nomad deployment:
##Installing Nomad
This page lists the two primary methods to installing Nomad and how to verify a successful installation.
Please refer to [Installing Nomad](/guides/install/index.html) sub-section.
##Hardware Requirements
This page details the recommended machine resources (instances), port requirements, and network topology for Nomad.
Please refer to [Hardware Requirements](/guides/install/production/requirements.html) sub-section.
##Setting Nodes with Nomad Agent
These pages explain the Nomad agent process and how to set the server and client nodes in the cluster.
Please refer to [Set Server & Client Nodes](/guides/install/production/nomad-agent.html) and [Nomad Agent documentation](/docs/commands/agent.html) pages.
##Reference Architecture
This document provides recommended practices and a reference architecture for HashiCorp Nomad production deployments. This reference architecture conveys a general architecture that should be adapted to accommodate the specific needs of each implementation.
Please refer to [Reference Architecture](/guides/install/production/reference-architecture.html) sub-section.
##Install Guide Based on Reference Architecture
This guide provides an end-to-end walkthrough of the steps required to install a single production-ready Nomad cluster as defined in the Reference Architecture section.
Please refer to [Reference Install Guide](/guides/install/production/deployment-guide.html) sub-section.

View File

@ -1,13 +1,13 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Nomad Agent" page_title: "Nomad Agent"
sidebar_current: "guides-operations-agent" sidebar_current: "guides-install-production-nomad-agent"
description: |- description: |-
The Nomad agent is a long running process which can be used either in The Nomad agent is a long running process which can be used either in
a client or server mode. a client or server mode.
--- ---
# Nomad Agent # Setting Nodes with Nomad Agent
The Nomad agent is a long running process which runs on every machine that The Nomad agent is a long running process which runs on every machine that
is part of the Nomad cluster. The behavior of the agent depends on if it is is part of the Nomad cluster. The behavior of the agent depends on if it is

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Nomad Reference Architecture" page_title: "Nomad Reference Architecture"
sidebar_current: "guides-operations-reference-architecture" sidebar_current: "guides-install-production-reference-architecture"
description: |- description: |-
This document provides recommended practices and a reference This document provides recommended practices and a reference
architecture for HashiCorp Nomad production deployments. architecture for HashiCorp Nomad production deployments.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Hardware Requirements" page_title: "Hardware Requirements"
sidebar_current: "guides-operations-requirements" sidebar_current: "guides-install-production-requirements"
description: |- description: |-
Learn about Nomad client and server requirements such as memory and CPU Learn about Nomad client and server requirements such as memory and CPU
recommendations, network topologies, and more. recommendations, network topologies, and more.

View File

@ -0,0 +1,32 @@
---
layout: "guides"
page_title: "Installing Nomad for QuickStart"
sidebar_current: "guides-install-quickstart"
description: |-
Learn how to install Nomad for sandbox.
---
#Quickstart
This page lists multiple methods to installing Nomad in a sandbox environment.
These installations are designed to get you started with Nomad easily and should be used only for experimentation purposes. If you are looking to install Nomad in production, please refer to our [Production Installation](/guides/install/production/index.html) guide here.
##Local
Install Nomad on your local machine.
* [Vagrant](/intro/getting-started/install.html)
##Cloud
Install Nomad on the public cloud.
* AWS
* [CloudFormation](https://aws.amazon.com/quickstart/architecture/nomad/)
* [Terraform](https://github.com/hashicorp/nomad/blob/master/terraform/aws/README.md)
* Azure
* [Terraform](https://github.com/hashicorp/nomad/tree/master/terraform/azure)
##Katacoda
Experiment with Nomad in your browser via KataCoda's interactive learning platform.
* [Introduction to Nomad](https://www.katacoda.com/hashicorp/scenarios/nomad-introduction)
* [Nomad Playground](https://katacoda.com/hashicorp/scenarios/playground)

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Consul Integration" page_title: "Consul Integration"
sidebar_current: "guides-operations-consul-integration" sidebar_current: "guides-integrations-consul"
description: |- description: |-
Learn how to integrate Nomad with Consul and add service discovery to jobs Learn how to integrate Nomad with Consul and add service discovery to jobs
--- ---

View File

@ -0,0 +1,13 @@
---
layout: "guides"
page_title: "Nomad HashiStack Integrations"
sidebar_current: "guides-integrations"
description: |-
This section features Nomad's integrations with Consul and Vault.
---
# HashiCorp Integrations
Nomad integrates seamlessly with Consul and Vault for service discovery and secrets management.
Please navigate the appropriate sub-sections for more information.

View File

@ -1,13 +1,13 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Vault Integration and Retrieving Dynamic Secrets" page_title: "Vault Integration and Retrieving Dynamic Secrets"
sidebar_current: "guides-operations-vault-integration" sidebar_current: "guides-integrations-vault"
description: |- description: |-
Learn how to deploy an application in Nomad and retrieve dynamic credentials Learn how to deploy an application in Nomad and retrieve dynamic credentials
by integrating with Vault. by integrating with Vault.
--- ---
# Vault Integration and Retrieving Dynamic Secrets # Vault Integration
Nomad integrates seamlessly with [Vault][vault] and allows your application to Nomad integrates seamlessly with [Vault][vault] and allows your application to
retrieve dynamic credentials for various tasks. In this guide, you will deploy a retrieve dynamic credentials for various tasks. In this guide, you will deploy a
@ -16,7 +16,7 @@ display data from a table to the user.
## Reference Material ## Reference Material
- [Vault Integration Docs Page][vault-integration] - [Vault Integration Documentation][vault-integration]
- [Nomad Template Stanza Integration with Vault][nomad-template-vault] - [Nomad Template Stanza Integration with Vault][nomad-template-vault]
- [Secrets Task Directory][secrets-task-directory] - [Secrets Task Directory][secrets-task-directory]

View File

@ -10,6 +10,7 @@ description: |-
# Load Balancing # Load Balancing
There are multiple approaches to set up load balancing across a Nomad cluster. There are multiple approaches to set up load balancing across a Nomad cluster.
Most of these methods assume Consul is installed alongside Nomad (see [Load Most of these methods assume Consul is installed alongside Nomad (see [Load
Balancing Strategies for Balancing Strategies for
Consul](https://www.hashicorp.com/blog/load-balancing-strategies-for-consul)). Consul](https://www.hashicorp.com/blog/load-balancing-strategies-for-consul)).

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Affinity" page_title: "Affinity"
sidebar_current: "guides-advanced-scheduling" sidebar_current: "guides-operating-a-job-advanced-scheduling-affinity"
description: |- description: |-
The following guide walks the user through using the affinity stanza in Nomad. The following guide walks the user through using the affinity stanza in Nomad.
--- ---
@ -212,4 +212,3 @@ changes (use the `nomad alloc status` command as shown in the previous step).
[scheduling]: /docs/internals/scheduling/scheduling.html [scheduling]: /docs/internals/scheduling/scheduling.html
[verbose]: /docs/commands/alloc/status.html#verbose [verbose]: /docs/commands/alloc/status.html#verbose
[weight]: /docs/job-specification/affinity.html#weight [weight]: /docs/job-specification/affinity.html#weight

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "LXC" page_title: "LXC"
sidebar_current: "guides-external-lxc" sidebar_current: "guides-operating-a-job-external-lxc"
description: |- description: |-
Guide for using LXC external task driver plugin. Guide for using LXC external task driver plugin.
--- ---

View File

@ -6,7 +6,14 @@ description: |-
Learn how to deploy and manage a Nomad Job. Learn how to deploy and manage a Nomad Job.
--- ---
# Job Lifecycle # Deploying & Managing Applications
Developers deploy and manage their applications in Nomad via jobs.
This section provides some best practices and guidance for operating jobs under
Nomad. Please navigate the appropriate sub-sections for more information.
## Deploying
The general flow for operating a job in Nomad is: The general flow for operating a job in Nomad is:
@ -15,6 +22,8 @@ The general flow for operating a job in Nomad is:
1. Submit the job file to a Nomad server 1. Submit the job file to a Nomad server
1. (Optional) Review job status and logs 1. (Optional) Review job status and logs
## Updating
When updating a job, there are a number of built-in update strategies which may When updating a job, there are a number of built-in update strategies which may
be defined in the job file. The general flow for updating an existing job in be defined in the job file. The general flow for updating an existing job in
Nomad is: Nomad is:
@ -27,6 +36,3 @@ Nomad is:
Because the job file defines the update strategy (blue-green, rolling updates, Because the job file defines the update strategy (blue-green, rolling updates,
etc.), the workflow remains the same regardless of whether this is an initial etc.), the workflow remains the same regardless of whether this is an initial
deployment or a long-running job. deployment or a long-running job.
This section provides some best practices and guidance for operating jobs under
Nomad. Please navigate the appropriate sub-sections for more information.

View File

@ -1,13 +1,15 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Security and Governance" page_title: "Security"
sidebar_current: "guides-security" sidebar_current: "guides-security"
description: |- description: |-
Learn how to use Nomad safely and securely in a multi-team setting. Learn how to use Nomad safely and securely in a multi-team setting.
--- ---
# Security and Governance # Security
The Nomad Security and Governance guides section provides best practices and The Nomad Security section provides best practices and
guidance for operating Nomad safely and securely in a multi-team setting. Please guidance for securing Nomad in an enterprise environment.
Please
navigate the appropriate sub-sections for more information. navigate the appropriate sub-sections for more information.

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Upgrading" page_title: "Upgrading"
sidebar_current: "guides-operations-upgrade" sidebar_current: "guides-upgrade"
description: |- description: |-
Learn how to upgrade Nomad. Learn how to upgrade Nomad.
--- ---

View File

@ -1,7 +1,7 @@
--- ---
layout: "guides" layout: "guides"
page_title: "Upgrade Guides" page_title: "Upgrade Guides"
sidebar_current: "guides-operations-upgrade-specific" sidebar_current: "guides-upgrade-specific"
description: |- description: |-
Specific versions of Nomad may have additional information about the upgrade Specific versions of Nomad may have additional information about the upgrade
process beyond the standard flow. process beyond the standard flow.

View File

@ -8,75 +8,29 @@ description: |-
# Introduction to Nomad # Introduction to Nomad
Welcome to the intro guide to Nomad! This guide is the best Welcome to the intro guide to Nomad! This guide is the best place to start with Nomad. We cover what Nomad is, what problems it can solve, how it compares to existing software, and how you can get started using it. If you are familiar with the basics of Nomad, the [documentation](https://www.nomadproject.io/docs/index.html) and [guides](https://www.nomadproject.io/guides/index.html) provides a more detailed reference of available features.
place to start with Nomad. We cover what Nomad is, what
problems it can solve, how it compares to existing software,
and contains a quick start for using Nomad.
If you are already familiar with the basics of Nomad, the [Guides](/guides/index.html)
and the [reference documentation](/docs/index.html) will provide a more comprehensive
resource.
## What is Nomad? ## What is Nomad?
Nomad is a flexible container orchestration tool that enables an organization to Nomad is a flexible workload orchestrator that enables an organization to easily deploy and manage any containerized or legacy application using a single, unified workflow. Nomad can run a diverse workload of Docker, non-containerized, microservice, and batch applications.
easily deploy and manage any containerized or legacy application using a single,
unified workflow. Nomad can run a diverse workload of Docker, non-containerized,
microservice, and batch applications, and generally offers the following benefits
to developers and operators:
* **API-driven Automation**: Workload placement, scaling, and upgrades can be Nomad enables developers to use declarative infrastructure-as-code for deploying applications. Nomad uses bin packing to efficiently schedule jobs and optimize for resource utilization. Nomad is supported on macOS, Windows, and Linux.
automated, simplifying operations and eliminating the need for homegrown tooling.
* **Self-service Deployments**: Developers are empowered to service application
lifecycles directly, allowing operators to focus on higher value tasks.
* **Workload Reliability**: Application, node, and driver failures are handled
automatically, reducing the need for manual operator intervention
* **Increased Efficiency and Reduced Cost**: Higher application densities allow
operators to reduce fleet sizes and save money.
Nomad is trusted by enterprises from a range of sectors including financial, Nomad is widely adopted and used in production by PagerDuty, Target, Citadel, Trivago, SAP, Pandora, Roblox, eBay, Deluxe Entertainment, and more.
retail, software, and others to run production workloads at scale across private
infrastructure and the public cloud.
## How it Works ## Key Features
At its core, Nomad is a tool for managing a cluster of machines and running applications * **Deploy Containers and Legacy Applications**: Nomads flexibility as an orchestrator enables an organization to run containers, legacy, and batch applications together on the same infrastructure. Nomad brings core orchestration benefits to legacy applications without needing to containerize via pluggable [task drivers](https://www.nomadproject.io/docs/drivers/index.html).
on them. Nomad abstracts away machines and the location of applications,
and instead enables users to declare what they want to run while Nomad handles
where and how to run them.
The key features of Nomad are: * **Simple & Reliable**: Nomad runs as a single 75MB binary and is entirely self contained - combining resource management and scheduling into a single system. Nomad does not require any external services for storage or coordination. Nomad automatically handles application, node, and driver failures. Nomad is distributed and resilient, using leader election and state replication to provide high availability in the event of failures.
* **Docker Support**: Nomad supports Docker as a first-class workload type. * **Device Plugins & GPU Support**: Nomad offers built-in support for GPU workloads such as machine learning (ML) and artificial intelligence (AI). Nomad uses [device plugins](https://www.nomadproject.io/docs/devices/index.html) to automatically detect and utilize resources from hardware devices such as GPU, FPGAs, and TPUs.
Jobs submitted to Nomad can use the `docker` driver to easily deploy containerized
applications to a cluster. Nomad enforces the user-specified constraints,
ensuring the application only runs in the correct region, datacenter, and host
environment. Jobs can specify the number of instances needed and
Nomad will handle placement and recover from failures automatically.
* **Operationally Simple**: Nomad ships as a single binary, both for clients and servers, * **Federation for Multi-Region**: Nomad has native support for multi-region federation. This built-in capability allows multiple clusters to be linked together, which in turn enables developers to deploy jobs to any cluster in any region. Federation also enables automatic replication of ACL policies, namespaces, resource quotas and Sentinel policies across all clusters.
and requires no external services for coordination or storage. Nomad combines features
of both resource managers and schedulers into a single system. Nomad builds on the strength
of [Serf](https://www.serf.io) and [Consul](https://www.consul.io), distributed management
tools by [HashiCorp](https://www.hashicorp.com).
* **Multi-Datacenter and Multi-Region Aware**: Nomad models infrastructure as * **Proven Scalability**: Nomad is optimistically concurrent, which increases throughput and reduces latency for workloads. Nomad has been proven to scale to clusters of 10K+ nodes in real-world production environments.
groups of datacenters which form a larger region. Scheduling operates at the region
level allowing for cross-datacenter scheduling. Multiple regions federate together
allowing jobs to be registered globally.
* **Flexible Workloads**: Nomad has extensible support for task drivers, allowing it to run * **HashiCorp Ecosystem**: Nomad integrates seamlessly with Terraform, Consul, Vault for provisioning, service discovery, and secrets management.
containerized, virtualized, and standalone applications. Users can easily start Docker
containers, VMs, or application runtimes like Java. Nomad supports Linux, Windows, BSD and OSX,
providing the flexibility to run any workload.
* **Built for Scale**: Nomad was designed from the ground up to support global scale
infrastructure. Nomad is distributed and highly available, using both
leader election and state replication to provide availability in the face
of failures. Nomad is optimistically concurrent, enabling all servers to participate
in scheduling decisions which increases the total throughput and reduces latency
to support demanding workloads. Nomad has been proven to scale to cluster sizes that
exceed 10k nodes in real-world production environments.
## How Nomad Compares to Other Tools ## How Nomad Compares to Other Tools
@ -84,15 +38,10 @@ Nomad differentiates from related tools by virtue of its **simplicity**, **flexi
**scalability**, and **high performance**. Nomad's synergy and integration points with **scalability**, and **high performance**. Nomad's synergy and integration points with
HashiCorp Terraform, Consul, and Vault make it uniquely suited for easy integration into HashiCorp Terraform, Consul, and Vault make it uniquely suited for easy integration into
an organization's existing workflows, minimizing the time-to-market for critical initiatives. an organization's existing workflows, minimizing the time-to-market for critical initiatives.
See the [Nomad vs. Other Software](/intro/vs/index.html) page for additional details and See the [Nomad vs. Other Software](/intro/vs/index.html) page for additional details and
comparisons. comparisons.
## Next Steps ## Next Steps
See the page on [Nomad use cases](/intro/use-cases.html) to see the See the [Use Cases](/intro/use-cases.html) and [Who Uses Nomad](/intro/who-uses-nomad.html) page to understand the many ways Nomad is used in production today across many industries to solve critical, real-world business objectives.
multiple ways Nomad can be used. Then see
[how Nomad compares to other software](/intro/vs/index.html)
to see how it fits into your existing infrastructure. Finally, continue onwards with
the [getting started guide](/intro/getting-started/install.html) to use
Nomad to run a job and see how it works in practice.

View File

@ -9,12 +9,11 @@ description: |-
# Use Cases # Use Cases
This page lists Nomad's core use cases. Please note that the full range of potential This page features Nomad's core use cases.
use cases is much broader than what is currently covered here. Reading through the
[Introduction to Nomad](/intro/index.html) is highly recommended before diving into
the use cases.
## Docker Container Management Note that the full range of potential use cases is broader than what is covered here.
## Docker Container Orchestration
Organizations are increasingly moving towards a Docker centric workflow for Organizations are increasingly moving towards a Docker centric workflow for
application deployment and management. This transition requires new tooling application deployment and management. This transition requires new tooling
@ -59,14 +58,10 @@ concurrent scheduling strategy that can yield [thousands of container deployment
second](https://www.hashicorp.com/c1m). Alternatives are overly complex and limited second](https://www.hashicorp.com/c1m). Alternatives are overly complex and limited
in terms of their scheduling throughput, scalability, and multi-cloud capabilities. in terms of their scheduling throughput, scalability, and multi-cloud capabilities.
**Related video**: [End to End Production Nomad at Citadel](https://www.youtube.com/watch?reload=9&v=ZOBcGpGsboA) ## Multi-Region and Multi-Cloud Federated Deployments
## Multi-region and Multi-cloud Deployments
Nomad is designed to natively handle multi-datacenter and multi-region deployments Nomad is designed to natively handle multi-datacenter and multi-region deployments
and is cloud agnostic. This allows Nomad to schedule in private datacenters running and is cloud agnostic. This allows Nomad to schedule in private datacenters running
bare metal, OpenStack, or VMware alongside an AWS, Azure, or GCE cloud deployment. bare metal, OpenStack, or VMware alongside an AWS, Azure, or GCE cloud deployment.
This makes it easier to migrate workloads incrementally and to utilize the cloud This makes it easier to migrate workloads incrementally and to utilize the cloud
for bursting. for bursting.

View File

@ -1,29 +0,0 @@
---
layout: "intro"
page_title: "Nomad vs. Custom Solutions"
sidebar_current: "vs-other-custom"
description: |-
Comparison between Nomad and writing a custom solution.
---
# Nomad vs. Custom Solutions
It is an undisputed fact that distributed systems are hard; building
one is error-prone and time-consuming. As a result, few organizations
build a scheduler due to the inherent challenges. However,
most organizations must develop a means of deploying applications
and typically this evolves into an ad hoc deployment platform.
These deployment platforms are typically special cased to the needs
of the organization at the time of development, reduce future agility,
and require time and resources to build and maintain.
Nomad provides a high-level job specification to easily deploy applications.
It has been designed to work at large scale, with multi-datacenter and
multi-region support built in. Nomad also has extensible drivers giving it
flexibility in the workloads it supports, including Docker.
Nomad provides organizations of any size a solution for deployment
that is simple, robust, and scalable. It reduces the time and effort spent
re-inventing the wheel and users can focus instead on their business applications.

View File

@ -1,28 +0,0 @@
---
layout: "intro"
page_title: "Nomad vs. HTCondor"
sidebar_current: "vs-other-htcondor"
description: |-
Comparison between Nomad and HTCondor
---
# Nomad vs. HTCondor
HTCondor is a batch queuing system that is traditionally deployed in
grid computing environments. These environments have a fixed set of
resources, and large batch jobs that consume the entire cluster or
large portions. HTCondor is used to manage queuing, dispatching and
execution of these workloads.
HTCondor is not designed for services or long lived applications.
Due to the batch nature of workloads on HTCondor, it does not prioritize
high availability and is operationally complex to setup. It does support
federation in the form of "flocking" allowing batch workloads to
be run on alternate clusters if they would otherwise be forced to wait.
Nomad is focused on both long-lived services and batch workloads, and
is designed to be a platform for running large scale applications instead
of just managing a queue of batch work. Nomad supports a broader range
of workloads, is designed for high availability, supports much
richer constraint enforcement and bin packing logic.

View File

@ -3,10 +3,10 @@ layout: "intro"
page_title: "Nomad vs. Mesos with Aurora, Marathon, etc" page_title: "Nomad vs. Mesos with Aurora, Marathon, etc"
sidebar_current: "vs-other-mesos" sidebar_current: "vs-other-mesos"
description: |- description: |-
Comparison between Nomad and Mesos with Aurora, Marathon, etc Comparison between Nomad and Mesos with Marathon
--- ---
# Nomad vs. Mesos with Aurora, Marathon # Nomad vs. Mesos with Marathon
Mesos is a resource manager, which is used to pool together the Mesos is a resource manager, which is used to pool together the
resources of a datacenter and exposes an API to integrate with resources of a datacenter and exposes an API to integrate with
@ -35,4 +35,3 @@ the scale that can be supported.
Mesos does not support federation or multiple failure isolation regions. Mesos does not support federation or multiple failure isolation regions.
Nomad supports multi-datacenter and multi-region configurations for failure Nomad supports multi-datacenter and multi-region configurations for failure
isolation and scalability. isolation and scalability.

View File

@ -1,37 +0,0 @@
---
layout: "intro"
page_title: "Nomad vs. Docker Swarm"
sidebar_current: "vs-other-swarm"
description: |-
Comparison between Nomad and Docker Swarm
---
# Nomad vs. Docker Swarm
Docker Swarm is the native clustering solution for Docker. It provides
an API compatible with the Docker Remote API, and allows containers to
be scheduled across many machines.
Nomad differs in many ways with Docker Swarm, most obviously Docker Swarm
can only be used to run Docker containers, while Nomad is more general purpose.
Nomad supports virtualized, containerized and standalone applications, including Docker.
Nomad is designed with extensible drivers and support will be extended to all
common drivers.
Docker Swarm provides API compatibility with their remote API, which focuses
on the container abstraction. Nomad uses a higher-level abstraction of jobs.
Jobs contain task groups, which are sets of tasks. This allows more complex
applications to be expressed and easily managed without reasoning about the
individual containers that compose the application.
The architectures also differ between Nomad and Docker Swarm.
Nomad does not depend on external systems for coordination or storage,
is distributed, highly available, and supports multi-datacenter
and multi-region configurations.
By contrast, Swarm is not distributed or highly available by default.
External systems must be used for coordination to support replication.
When replication is enabled, Swarm uses an active/standby model,
meaning the other servers cannot be used to make scheduling decisions.
Swarm also does not support multiple failure isolation regions or federation.

View File

@ -1,18 +0,0 @@
---
layout: "intro"
page_title: "Nomad vs. YARN"
sidebar_current: "vs-other-yarn"
description: |-
Comparison between Nomad and Hadoop YARN
---
# Nomad vs. Hadoop YARN
YARN, or Yet Another Resource Negotiator, is a system in Hadoop
for both resource management and job scheduling. It is used to allow multiple
Hadoop frameworks like MapReduce and Spark to run on the same hardware.
Nomad is focused on both long-lived services and batch workloads, and
is designed to be a platform for running large scale applications
generally instead of specifically for Hadoop.

View File

@ -0,0 +1,93 @@
---
layout: "intro"
page_title: "Who Uses Nomad"
sidebar_current: "who-uses-nomad"
description: |-
This page features many ways Nomad is used in production today across many industries to solve critical, real-world business objectives
---
#Who Uses Nomad
This page features talks from users on how they use Nomad today to solve critical, real-world business objectives.
Nomad is widely adopted and used in production by PagerDuty, Target, Citadel, Trivago, SAP, Pandora, Roblox, eBay, Deluxe Entertainment, and more.
####CircleCI
* [How CircleCI Processes 4.5 Million Builds Per Month](https://stackshare.io/circleci/how-circleci-processes-4-5-million-builds-per-month)
* [Security & Scheduling are Not Your Core Competencies](https://www.hashicorp.com/resources/nomad-vault-circleci-security-scheduling)
####Citadel
* [End-to-End Production Nomad at Citadel](https://www.hashicorp.com/resources/end-to-end-production-nomad-citadel)
* [Extreme Scaling with HashiCorp Nomad & Consul](https://www.hashicorp.com/resources/citadel-scaling-hashicorp-nomad-consul)
####Deluxe Entertainment
* [How Deluxe Uses the Complete HashiStack for Video Production](https://www.hashicorp.com/resources/deluxe-hashistack-video-production)
####Jet.com (Walmart)
* [Driving down costs at Jet.com with HashiCorp Nomad](https://www.hashicorp.com/resources/jet-walmart-hashicorp-nomad-azure-run-apps)
####PagerDuty
* [PagerDutys Nomadic Journey](https://www.hashicorp.com/resources/pagerduty-nomad-journey)
####Pandora
* [How Pandora Uses Nomad](https://www.youtube.com/watch?v=OsZeKTP2u98&t=2s)
####SAP
* [HashiCorp Nomad @ SAP Ariba](https://www.hashicorp.com/resources/nomad-community-call-core-team-sap-ariba)
####SeatGeek
* [Nomad Helper Tools](https://github.com/seatgeek/nomad-helper)
####Spaceflight Industries
* [Spaceflights Hub-And-Spoke Infrastructure](https://www.hashicorp.com/blog/spaceflight-uses-hashicorp-consul-for-service-discovery-and-real-time-updates-to-their-hub-and-spoke-network-architecture)
####SpotInst
* [SpotInst and HashiCorp Nomad to Reduce EC2 Costs for Users](https://www.hashicorp.com/blog/spotinst-and-hashicorp-nomad-to-reduce-ec2-costs-fo)
####Target
* [Nomad at Target: Scaling Microservices Across Public and Private Clouds](https://www.hashicorp.com/resources/nomad-scaling-target-microservices-across-cloud)
* [Playing with Nomad from HashiCorp](https://danielparker.me/nomad/hashicorp/schedulers/nomad/)
####Trivago
* [Maybe You Dont Need Kubernetes](https://matthias-endler.de/2019/maybe-you-dont-need-kubernetes/)
* [Nomad - Our Experiences and Best Practices](https://tech.trivago.com/2019/01/25/nomad-our-experiences-and-best-practices/)
####Roblox
* [How Roblox runs a platform for 70 million gamers on HashiCorp Nomad](https://portworx.com/architects-corner-roblox-runs-platform-70-million-gamers-hashicorp-nomad/)
####Oscar Health
* [Scalable CI at Oscar Health with Nomad and Docker](https://www.hashicorp.com/resources/scalable-ci-oscar-health-insurance-nomad-docker)
####eBay
* [HashiStack at eBay: A Fully Containerized Platform Based on Infrastructure as Code](https://www.hashicorp.com/resources/ebay-hashistack-fully-containerized-platform-iac)
####Joyent
* [Build Your Own Autoscaling Feature with HashiCorp Nomad](https://www.hashicorp.com/resources/autoscaling-hashicorp-nomad)
####Dutch National Police
* [Going Cloud-Native at the Dutch National Police](https://www.hashicorp.com/resources/going-cloud-native-at-the-dutch-national-police)
####N26
* [Tech at N26 - The Bank in the Cloud](https://medium.com/insiden26/tech-at-n26-the-bank-in-the-cloud-e5ff818b528b)
####Elsevier
* [Esleviers Container Framework with Nomad, Terraform, and Consul](https://www.hashicorp.com/resources/elsevier-nomad-container-framework-demo)
####Palantir
* [Enterprise Security at Palantir with the HashiCorp stack](https://www.hashicorp.com/resources/enterprise-security-hashicorp-stack)
####Graymeta
* [Backend Batch Processing At Scale with Nomad](https://www.hashicorp.com/resources/backend-batch-processing-nomad)
####NIH NCBI
* [NCBIs Legacy Migration to Hybrid Cloud with Consul & Nomad](https://www.hashicorp.com/resources/ncbi-legacy-migration-hybrid-cloud-consul-nomad)
####Q2Ebanking
* [Q2s Nomad Use and Overview](https://www.youtube.com/watch?v=OsZeKTP2u98&feature=youtu.be&t=1499)
####imgix
* [Cluster Schedulers & Why We Chose Nomad Over Kubernetes](https://medium.com/@copyconstruct/schedulers-kubernetes-and-nomad-b0f2e14a896)
####Region Syddanmark
...and more!

View File

@ -10,10 +10,8 @@
<li><a href="/guides/index.html">Guides</a></li> <li><a href="/guides/index.html">Guides</a></li>
<li><a href="/docs/index.html">Docs</a></li> <li><a href="/docs/index.html">Docs</a></li>
<li><a href="/api/index.html">API</a></li> <li><a href="/api/index.html">API</a></li>
<li><a href="/community.html">Community</a></li> <li><a href="/resources.html">Resources</a></li>
<li><a href="https://www.hashicorp.com/products/nomad/?utm_source=oss&utm_medium=header-nav&utm_campaign=nomad">Enterprise</a></li> <li><a href="https://www.hashicorp.com/products/nomad/?utm_source=oss&utm_medium=header-nav&utm_campaign=nomad">Enterprise</a></li>
<li><a href="/security.html">Security</a></li>
<li><a href="/assets/files/press-kit.zip">Press Kit</a></li>
</ul> </ul>
<div class="divider"></div> <div class="divider"></div>

View File

@ -2,28 +2,86 @@
<% content_for :sidebar do %> <% content_for :sidebar do %>
<ul class="nav docs-sidenav"> <ul class="nav docs-sidenav">
<li<%= sidebar_current("guides-getting-started") %>> <li<%= sidebar_current("guides-install") %>>
<a href="/guides/getting-started.html">Getting Started</a> <a href="/guides/install/index.html">Installing Nomad</a>
<ul class="nav">
<li<%= sidebar_current("guides-install-quickstart") %>>
<a href="/guides/install/quickstart/index.html">Quickstart</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job") %>> <li<%= sidebar_current("guides-install-production") %>>
<a href="/guides/operating-a-job/index.html">Job Lifecycle</a> <a href="/guides/install/production/index.html">Production</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("guides-install-production-requirements") %>>
<a href="/guides/install/production/requirements.html">Hardware Requirements</a>
</li>
<li<%= sidebar_current("guides-install-production-nomad-agent") %>>
<a href="/guides/install/production/nomad-agent.html">Set Server & Client Nodes</a>
</li>
<li<%= sidebar_current("guides-install-production-reference-architecture") %>>
<a href="/guides/install/production/reference-architecture.html">Reference Architecture</a>
</li>
<li<%= sidebar_current("guides-install-production-deployment-guide") %>>
<a href="/guides/install/production/deployment-guide.html">Reference Install Guide</a>
</li>
</ul>
</li>
</ul>
</li>
<li<%= sidebar_current("guides-upgrade") %>>
<a href="/guides/upgrade/index.html">Upgrading</a>
<ul class="nav">
<li<%= sidebar_current("guides-upgrade-specific") %>>
<a href="/guides/upgrade/upgrade-specific.html">Specific Version Details</a>
</li>
</ul>
</li>
<li<%= sidebar_current("guides-integrations") %>>
<a href="/guides/integrations/index.html">Integrations</a>
<ul class="nav">
<li<%= sidebar_current("guides-integrations-consul") %>>
<a href="/guides/integrations/consul-integration/index.html">Consul</a>
</li>
<li<%= sidebar_current("guides-integrations-vault") %>>
<a href="/guides/integrations/vault-integration/index.html">Vault</a>
</li>
</ul>
</li>
<hr>
<li<%= sidebar_current("guides-operating-a-job") %>>
<a href="/guides/operating-a-job/index.html">Deploying & Managing Applications</a>
<ul class="nav">
<li<%= sidebar_current("guides-operating-a-job-configuring-tasks") %>> <li<%= sidebar_current("guides-operating-a-job-configuring-tasks") %>>
<a href="/guides/operating-a-job/configuring-tasks.html">Configuring Tasks</a> <a href="/guides/operating-a-job/configuring-tasks.html">Configuring Tasks</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-submitting-jobs") %>> <li<%= sidebar_current("guides-operating-a-job-submitting-jobs") %>>
<a href="/guides/operating-a-job/submitting-jobs.html">Submitting Jobs</a> <a href="/guides/operating-a-job/submitting-jobs.html">Submitting Jobs</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-inspecting-state") %>> <li<%= sidebar_current("guides-operating-a-job-inspecting-state") %>>
<a href="/guides/operating-a-job/inspecting-state.html">Inspecting State</a> <a href="/guides/operating-a-job/inspecting-state.html">Inspecting State</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-accessing-logs") %>> <li<%= sidebar_current("guides-operating-a-job-accessing-logs") %>>
<a href="/guides/operating-a-job/accessing-logs.html">Accessing Logs</a> <a href="/guides/operating-a-job/accessing-logs.html">Accessing Logs</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-resource-utilization") %>> <li<%= sidebar_current("guides-operating-a-job-resource-utilization") %>>
<a href="/guides/operating-a-job/resource-utilization.html">Resource Utilization</a> <a href="/guides/operating-a-job/resource-utilization.html">Resource Utilization</a>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-updating") %>> <li<%= sidebar_current("guides-operating-a-job-updating") %>>
<a href="/guides/operating-a-job/update-strategies/index.html">Update Strategies</a> <a href="/guides/operating-a-job/update-strategies/index.html">Update Strategies</a>
<ul class="nav"> <ul class="nav">
@ -38,6 +96,7 @@
</li> </li>
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-failure-handling-strategies") %>> <li<%= sidebar_current("guides-operating-a-job-failure-handling-strategies") %>>
<a href="/guides/operating-a-job/failure-handling-strategies/index.html">Failure Recovery Strategies</a> <a href="/guides/operating-a-job/failure-handling-strategies/index.html">Failure Recovery Strategies</a>
<ul class="nav"> <ul class="nav">
@ -52,33 +111,26 @@
</li> </li>
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-operating-a-job-advanced-scheduling-affinity") %>>
<a href="/guides/operating-a-job/advanced-scheduling/affinity.html">Placement Preferences with Affinities</a>
</li>
<li<%= sidebar_current("guides-spread") %>>
<a href="/guides/advanced-scheduling/spread.html">Fault Tolerance with Spread</a>
</li>
<li<%= sidebar_current("guides-operating-a-job-external-lxc") %>>
<a href="/guides/operating-a-job/external/lxc.html">Running LXC Applications</a>
</li>
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-operations") %>> <li<%= sidebar_current("guides-operations") %>>
<a href="/guides/operations/index.html">Operations</a> <a href="/guides/operations/index.html">Operating Nomad</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("guides-operations-reference-architecture") %>>
<a href="/guides/operations/reference-architecture.html">Reference Architecture</a>
</li>
<li<%= sidebar_current("guides-operations-deployment-guide") %>>
<a href="/guides/operations/deployment-guide.html">Deployment Guide</a>
</li>
<li<%= sidebar_current("guides-operations-installing") %>>
<a href="/guides/operations/install/index.html">Installing Nomad</a>
</li>
<li<%= sidebar_current("guides-operations-agent") %>>
<a href="/guides/operations/agent/index.html">Running the Agent</a>
</li>
<li<%= sidebar_current("guides-operations-consul-integration") %>>
<a href="/guides/operations/consul-integration/index.html">Consul Integration</a>
</li>
<li<%= sidebar_current("guides-operations-cluster") %>> <li<%= sidebar_current("guides-operations-cluster") %>>
<a href="/guides/operations/cluster/bootstrapping.html">Clustering</a> <a href="/guides/operations/cluster/bootstrapping.html">Clustering</a>
<ul class="nav"> <ul class="nav">
@ -94,16 +146,8 @@
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-operations-requirements") %>>
<a href="/guides/operations/requirements.html">Hardware Requirements</a>
</li>
<li<%= sidebar_current("guides-operations-federation") %>> <li<%= sidebar_current("guides-operations-federation") %>>
<a href="/guides/operations/federation.html">Multi-region Federation</a> <a href="/guides/operations/federation.html">Federation</a>
</li>
<li<%= sidebar_current("guides-operations-vault-integration") %>>
<a href="/guides/operations/vault-integration/index.html">Vault Integration</a>
</li> </li>
<li<%= sidebar_current("guides-operations-decommissioning-nodes") %>> <li<%= sidebar_current("guides-operations-decommissioning-nodes") %>>
@ -123,15 +167,6 @@
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-operations-upgrade") %>>
<a href="/guides/operations/upgrade/index.html">Upgrading</a>
<ul class="nav">
<li<%= sidebar_current("guides-operations-upgrade-specific") %>>
<a href="/guides/operations/upgrade/upgrade-specific.html">Upgrade Guides</a>
</li>
</ul>
</li>
<li<%= sidebar_current("guides-operations-autopilot") %>> <li<%= sidebar_current("guides-operations-autopilot") %>>
<a href="/guides/operations/autopilot.html">Autopilot</a> <a href="/guides/operations/autopilot.html">Autopilot</a>
</li> </li>
@ -139,94 +174,70 @@
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-external") %>>
<a href="/guides/external/index.html">External Plugins</a>
<ul class="nav">
<li<%= sidebar_current("guides-external-lxc") %>>
<a href="/guides/external/lxc.html">LXC</a>
</li>
</ul>
</li>
<li<%= sidebar_current("guides-advanced-scheduling") %>>
<a href="/guides/advanced-scheduling/advanced-scheduling.html">Advanced Scheduling Features</a>
<ul class="nav">
<li<%= sidebar_current("guides-affinity") %>>
<a href="/guides/advanced-scheduling/affinity.html">Affinity</a>
</li>
<li<%= sidebar_current("guides-spread") %>>
<a href="/guides/advanced-scheduling/spread.html">Spread</a>
</li>
</ul>
</li>
<li<%= sidebar_current("guides-security") %>> <li<%= sidebar_current("guides-security") %>>
<a href="/guides/security/index.html">Security and Governance</a> <a href="/guides/security/index.html">Securing Nomad</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("guides-security-encryption") %>> <li<%= sidebar_current("guides-security-encryption") %>>
<a href="/guides/security/encryption.html">Encryption Overview</a> <a href="/guides/security/encryption.html">Encryption Overview</a>
</li> </li>
<li<%= sidebar_current("guides-security-tls") %>>
<a href="/guides/security/securing-nomad.html">Securing Nomad with TLS</a>
</li>
</li>
<li<%= sidebar_current("guides-security-vault-pki") %>>
<a href="/guides/security/vault-pki-integration.html">Vault PKI Secrets Engine Integration</a>
</li>
<li<%= sidebar_current("guides-security-acl") %>> <li<%= sidebar_current("guides-security-acl") %>>
<a href="/guides/security/acl.html">Access Control</a> <a href="/guides/security/acl.html">Access Control</a>
</li> </li>
<li<%= sidebar_current("guides-security-namespaces") %>> <li<%= sidebar_current("guides-security-tls") %>>
<a href="/guides/security/namespaces.html">Namespaces</a> <a href="/guides/security/securing-nomad.html">Securing Nomad with TLS</a>
</li> </li>
<li<%= sidebar_current("guides-security-quotas") %>> <li<%= sidebar_current("guides-security-vault-pki") %>>
<a href="/guides/security/quotas.html">Resource Quotas</a> <a href="/guides/security/vault-pki-integration.html">Vault PKI Secrets Engine</a>
</li>
<li<%= sidebar_current("guides-security-sentinel") %>>
<a href="/guides/security/sentinel-policy.html">Sentinel Policies</a>
<ul class="nav">
<li<%= sidebar_current("guides-security-sentinel-job") %>>
<a href="/guides/security/sentinel/job.html">Job Object</a>
</li>
</ul>
</li> </li>
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-spark") %>> <li<%= sidebar_current("guides-stateful-workloads") %>>
<a href="/guides/spark/spark.html">Apache Spark Integration</a> <a href="/guides/stateful-workloads/stateful-workloads.html">Stateful Workloads</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("guides-spark-pre") %>> <li<%= sidebar_current("guides-portworx") %>>
<a href="/guides/spark/pre.html">Getting Started</a> <a href="/guides/stateful-workloads/portworx.html">Portworx</a>
</li> </li>
<li<%= sidebar_current("guides-spark-submit") %>> </ul>
<a href="/guides/spark/submit.html">Submitting Applications</a>
</li> </li>
<li<%= sidebar_current("guides-spark-customizing") %>>
<a href="/guides/spark/customizing.html">Customizing Applications</a> <li<%= sidebar_current("guides-analytical-workloads") %>>
<a href="/guides/analytical-workloads/index.html">Analytical Workloads</a>
<ul class="nav">
<li<%= sidebar_current("guides-analytical-workloads") %>>
<a href="/guides/analytical-workloads/spark/spark.html">Apache Spark</a>
<ul class="nav">
<li<%= sidebar_current("guides-analytical-workloads-spark-pre") %>>
<a href="/guides/analytical-workloads/spark/pre.html">Getting Started</a>
</li> </li>
<li<%= sidebar_current("guides-spark-resource") %>> <li<%= sidebar_current("guides-analytical-workloads-spark-customizing") %>>
<a href="/guides/spark/resource.html">Resource Allocation</a> <a href="/guides/analytical-workloads/spark/customizing.html">Customizing Applications</a>
</li> </li>
<li<%= sidebar_current("guides-spark-dynamic") %>> <li<%= sidebar_current("guides-analytical-workloads-spark-resource") %>>
<a href="/guides/spark/dynamic.html">Dynamic Executors</a> <a href="/guides/analytical-workloads/spark/resource.html">Resource Allocation</a>
</li> </li>
<li<%= sidebar_current("guides-spark-hdfs") %>> <li<%= sidebar_current("guides-analytical-workloads-spark-dynamic") %>>
<a href="/guides/spark/hdfs.html">Using HDFS</a> <a href="/guides/analytical-workloads/spark/dynamic.html">Dynamic Executors</a>
</li> </li>
<li<%= sidebar_current("guides-spark-monitoring") %>> <li<%= sidebar_current("guides-analytical-workloads-spark-submit") %>>
<a href="/guides/spark/monitoring.html">Monitoring Output</a> <a href="/guides/analytical-workloads/spark/submit.html">Submitting Applications</a>
</li> </li>
<li<%= sidebar_current("guides-spark-configuration") %>> <li<%= sidebar_current("guides-analytical-workloads-spark-hdfs") %>>
<a href="/guides/spark/configuration.html">Configuration Properties</a> <a href="/guides/analytical-workloads/spark/hdfs.html">Running HDFS</a>
</li>
<li<%= sidebar_current("guides-analytical-workloads-spark-monitoring") %>>
<a href="/guides/analytical-workloads/spark/monitoring.html">Monitoring Output</a>
</li>
<li<%= sidebar_current("guides-analytical-workloads-spark-configuration") %>>
<a href="/guides/analytical-workloads/spark/configuration.html">Configuration Properties</a>
</li>
</ul>
</li> </li>
</ul> </ul>
</li> </li>
@ -240,18 +251,26 @@
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-stateful-workloads") %>> <li<%= sidebar_current("guides-governance-and-policy") %>>
<a href="/guides/stateful-workloads/stateful-workloads.html">Stateful Workloads</a> <a href="/guides/governance-and-policy/index.html">Governance & Policy</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("guides-portworx") %>> <li<%= sidebar_current("guides-governance-and-policy-namespaces") %>>
<a href="/guides/stateful-workloads/portworx.html">Portworx</a> <a href="/guides/governance-and-policy/namespaces.html">Namespaces</a>
</li>
<li<%= sidebar_current("guides-governance-and-policy-quotas") %>>
<a href="/guides/governance-and-policy/quotas.html">Quotas</a>
</li>
<li<%= sidebar_current("guides-governance-and-policy-sentinel") %>>
<a href="/guides/governance-and-policy/sentinel/sentinel-policy.html">Sentinel</a>
<ul class="nav">
<li<%= sidebar_current("guides-governance-and-policy-sentinel-job") %>>
<a href="/guides/governance-and-policy/sentinel/job.html">Job Object</a>
</li>
</ul>
</li> </li>
</ul> </ul>
</li> </li>
<li<%= sidebar_current("guides-ui") %>>
<a href="/guides/ui.html">Web UI</a>
</li>
</ul> </ul>
<% end %> <% end %>

View File

@ -9,42 +9,30 @@
<a href="/intro/use-cases.html">Use Cases</a> <a href="/intro/use-cases.html">Use Cases</a>
</li> </li>
<li<%= sidebar_current("who-uses-nomad") %>>
<a href="/intro/who-uses-nomad.html">Who Uses Nomad</a>
</li>
<li<%= sidebar_current("vs-other") %>> <li<%= sidebar_current("vs-other") %>>
<a href="/intro/vs/index.html">Nomad vs. Other Software</a> <a href="/intro/vs/index.html">Nomad vs. Other Software</a>
<ul class="nav"> <ul class="nav">
<li<%= sidebar_current("vs-other-ecs") %>>
<a href="/intro/vs/ecs.html">AWS ECS</a>
</li>
<li<%= sidebar_current("vs-other-swarm") %>>
<a href="/intro/vs/swarm.html">Docker Swarm</a>
</li>
<li<%= sidebar_current("vs-other-yarn") %>>
<a href="/intro/vs/yarn.html">Hadoop YARN</a>
</li>
<li<%= sidebar_current("vs-other-htcondor") %>>
<a href="/intro/vs/htcondor.html">HTCondor</a>
</li>
<li<%= sidebar_current("vs-other-kubernetes") %>> <li<%= sidebar_current("vs-other-kubernetes") %>>
<a href="/intro/vs/kubernetes.html">Kubernetes</a> <a href="/intro/vs/kubernetes.html">Kubernetes</a>
</li> </li>
<li<%= sidebar_current("vs-other-ecs") %>>
<a href="/intro/vs/ecs.html">AWS ECS</a>
</li>
<li<%= sidebar_current("vs-other-mesos") %>> <li<%= sidebar_current("vs-other-mesos") %>>
<a href="/intro/vs/mesos.html">Mesos with Frameworks</a> <a href="/intro/vs/mesos.html">Mesos & Marathon</a>
</li> </li>
<li<%= sidebar_current("vs-other-terraform") %>> <li<%= sidebar_current("vs-other-terraform") %>>
<a href="/intro/vs/terraform.html">Terraform</a> <a href="/intro/vs/terraform.html">Terraform</a>
</li> </li>
<li<%= sidebar_current("vs-other-custom") %>>
<a href="/intro/vs/custom.html">Custom Solutions</a>
</li>
</ul> </ul>
</li> </li>

View File

@ -162,17 +162,6 @@ description: |-
<li><a href="https://www.hashicorp.com/resources/machine-learning-workflows-hashicorp-nomad-apache-spark">Machine Learning Workflows with HashiCorp Nomad & Apache Spark</a></li> <li><a href="https://www.hashicorp.com/resources/machine-learning-workflows-hashicorp-nomad-apache-spark">Machine Learning Workflows with HashiCorp Nomad & Apache Spark</a></li>
</ul> </ul>
<h2>How to Install Nomad</h2>
<ul>
<li><a href="https://www.nomadproject.io/intro/getting-started/install.html">Install Nomad Locally (Sandbox)</a> - via Vagrant</li>
<li><a href="https://github.com/hashicorp/nomad/tree/master/terraform">Nomad on AWS & Azure (Sandbox)</a> - via Terraform</li>
<li><a href="https://aws.amazon.com/quickstart/architecture/nomad/">Nomad on AWS Quickstart</a> - via CloudFormation</li>
<li><a href="https://www.nomadproject.io/guides/operations/deployment-guide.html">Install Nomad for Production</a> - Official HashiCorp Guide</li>
<li><a href="https://www.katacoda.com/hashicorp/scenarios/nomad-introduction">Introduction to Nomad (Katacoda)</a> - Interactive Introduction to Nomad</li>
<li><a href="https://katacoda.com/hashicorp/scenarios/playground">Nomad Playground (Katacoda)</a> - Online Nomad Playground Environment</li>
</ul>
<h2>Integrations</h2> <h2>Integrations</h2>
<ul> <ul>