github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/website/content/docs/faq.mdx (about)

     1  ---
     2  layout: docs
     3  page_title: Frequently Asked Questions
     4  description: Frequently asked questions and answers for Nomad
     5  ---
     6  
     7  # Frequently Asked Questions
     8  
     9  ## Q: What is Checkpoint? / Does Nomad call home?
    10  
    11  Nomad makes use of a HashiCorp service called [Checkpoint](https://checkpoint.hashicorp.com)
    12  which is used to check for updates and critical security bulletins.
    13  Only anonymous information, which cannot be used to identify the user or host, is
    14  sent to Checkpoint. An anonymous ID is sent which helps de-duplicate warning messages.
    15  This anonymous ID can be disabled. Using the Checkpoint service is optional and can be disabled.
    16  
    17  See [`disable_anonymous_signature`](/docs/configuration#disable_anonymous_signature)
    18  and [`disable_update_check`](/docs/configuration#disable_update_check).
    19  
    20  ## Q: Is Nomad eventually or strongly consistent?
    21  
    22  Nomad makes use of both a [consensus protocol](/docs/concepts/consensus) and
    23  a [gossip protocol](/docs/concepts/gossip). The consensus protocol is strongly
    24  consistent, and is used for all state replication and scheduling. The gossip protocol
    25  is used to manage the addresses of servers for automatic clustering and multi-region
    26  federation. This means all data that is managed by Nomad is strongly consistent.
    27  
    28  ## Q: Is Nomad's `datacenter` parameter the same as Consul's?
    29  
    30  No. For those familiar with Consul, [Consul's notion of a
    31  datacenter][consul_dc] is more equivalent to a [Nomad region][nomad_region].
    32  Nomad supports grouping nodes into multiple datacenters, which should reflect
    33  nodes being colocated, while being managed by a single set of Nomad servers.
    34  
    35  Consul on the other hand does not have this two-tier approach to servers and
    36  agents and instead [relies on federation to create larger logical
    37  clusters][consul_fed].
    38  
    39  ## Q: What is "bootstrapping" a Nomad cluster? ((#bootstrapping))
    40  
    41  Bootstrapping is the process when a Nomad cluster elects its first leader
    42  and writes the initial cluster state to that leader's state store. Bootstrapping
    43  will not occur until at least a given number of servers, defined by
    44  [`bootstrap_expect`], have connected to each other. Once this process has
    45  completed, the cluster is said to be bootstrapped and is ready to use.
    46  
    47  Certain configuration options are only used to influence the creation of the
    48  initial cluster state during bootstrapping and are not consulted again so long
    49  as the state data remains intact. These typically are values that must be
    50  consistent across server members. For example, the [`default_scheduler_config`]
    51  option allows an operator to set the SchedulerConfig to non-default values
    52  during this bootstrap process rather than requiring an immediate call to the API
    53  once the cluster is up and running.
    54  
    55  If the state is completely destroyed, whether intentionally or accidentally, on
    56  all of the Nomad servers in the same outage, the cluster will re-bootstrap based
    57  on the Nomad defaults and any configuration present that impacts the bootstrap
    58  process.
    59  
    60  ## Q: How to connect to my host network when using Docker Desktop (Windows and MacOS)?
    61  
    62  Since Docker is based on Linux-native technologies, Docker Desktop for Windows
    63  and MacOS uses a small Linux virtual machine to run containers. This extra step
    64  adds a layer of indirection between the network of your host (the computer you
    65  are currently using) and the network of the VM running your containers.
    66  
    67  This means that, by default, your Docker tasks will not be able to access
    68  endpoints that are available in your host network, such as a local Consul agent.
    69  
    70  In order to properly setup this connection you will need to explicitly bind
    71  the Nomad client to a non-loopback network interface, and anything else you
    72  would like to access must also be in the same interface.
    73  
    74  On Windows, we recommend you to start with the [WSL2 backend for Docker
    75  Desktop][wsl2-docker]. Once you are more familiarized with Nomad you can start
    76  running it natively.
    77  
    78  To use the network named `en0` that has the IP address `192.168.0.10`, you can
    79  start Nomad with this command.
    80  
    81  ```shell-session
    82  $ sudo nomad agent -dev -bind=0.0.0.0 -network-interface=en0
    83  ```
    84  
    85  To start Consul in the same network, you can run this command.
    86  
    87  ```shell-session
    88  $ consul agent -dev -client=0.0.0.0 -bind=192.168.0.10
    89  ```
    90  
    91  Now your services will be registered in Consul using the right IP and your
    92  tasks will be able to reach each other. To access your tasks from your host
    93  machine you will need to use the network interface IP address.
    94  
    95  ```shell-session
    96  $ curl http://192.168.0.10:8080
    97  ```
    98  
    99  [consul_dc]: https://developer.hashicorp.com/consul/docs/agent/config/config-files#datacenter
   100  [consul_fed]: https://learn.hashicorp.com/tutorials/consul/federarion-gossip-wan
   101  [nomad_region]: /docs/configuration#datacenter
   102  [`bootstrap_expect`]: /docs/configuration/server#bootstrap_expect
   103  [`default_scheduler_config`]: /docs/configuration/server#default_scheduler_config
   104  [wsl2-docker]: https://docs.docker.com/docker-for-windows/wsl/