etcdcd

module
v0.1.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2017 License: Apache-2.0

README

etcdcd

Build Status Docker Pulls

etcd cluster discovery

Assists in creation/joining/pruning of an etcd (2.x, 3.x) cluster using the static discovery mechanism. Supports aws (ASG-based masters) and vsphere deployments currently.

Motivation

Use this binary (or docker image) to produce appropriate environment variable values for ETCD_NAME, ETCD_INITIAL_CLUSTER, ETCD_INITIAL_CLUSTER_STATE, and ETCD_PROXY used in static cluster configuration mode.

The values are generated using the following algorithm:

  1. platform-specific discovery of the set of expected cluster memebers' names and peer & client URLs

  2. check with the expected members for a pre-existing cluster

    • if an existing cluster is found, and we are one of the expected members, join the existing cluster--attempting to evict any current cluster members that are not in the set of expected members
    • if no existing cluster is found and we are one of the expected members, form a new cluster
    • if we are not one of the expected members, and proxy mode is specified, proxy the new or existing cluster
    • otherwise, report invalid cluster state

Usage

NAME:
   etcdcd -
    Dynamically discover etcd cluster membership for a specific platform.
    Useed to produce appropriate environment variable values for
    'ETCD_NAME', 'ETCD_INITIAL_CLUSTER', 'ETCD_INITIAL_CLUSTER_STATE',
    and 'ETCD_PROXY' for use use in static cluster configuration mode.


USAGE:
   etcdcd [global options] command [command options] [arguments...]

VERSION:
   v0.1

COMMANDS:
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --platform value              The platform ('aws' or 'vsphere') [$ETCDCD_PLATFORM]
   --platform-config-file value  The platform config file; for platform 'aws', this is
                                       unnecessary/ignored when using an instance role; for platform
                                       'vsphere', this file uses the same format as required by the
                                       vsphere kubernetes cloud provider [$ETCDCD_PLATFORM_CONFIG]
   --output-file value           The path to the output file where results will be
                                       written; uses STDOUT if not specified [$ETCDCD_OUTPUT_FILE]
   --client-port value           The port advertised for etcd client access (default: 2379) [$ETCDCD_CLIENT_PORT]
   --server-port value           The port advertised for etcd client access (default: 2380) [$ETCDCD_SERVER_PORT]
   --client-scheme value         The scheme for etcd client access urls (default: "http") [$ETCDCD_CLIENT_SCHEME]
   --server-scheme value         The scheme for etcd server access urls (default: "http") [$ETCDCD_SERVER_SCHEME]
   --proxy                       Whether to enable proxy mode [$ETCDCD_PROXY_MODE]
   --master-names value          The naming pattern used to locate the masters; for platform 'aws',
                                       this will be the name of the masters autoscaling group;
                                       for platform 'vsphere', this will be a name-glob matching the vm names
                                       of the masters (e.g., 'k8s-master-*') [$ETCDCD_MASTER_NAMES]
   --dry-run                     Don't perform any changes; instead log what would have been done [$ETCDCD_DRY_RUN]
   --verbose, -V                 Log extra information about steps taken [$ETCDCD_VERBOSE]
   --ignore-naming-mismatch      Whether to ignore names (and only compare peer urls) when
                                       looking for existing members [$ETCDCD_IGNORE_NAMING_MISMATCH]
   --help, -h                    show help
   --version, -v                 print the version

Directories

Path Synopsis
pkg
cmd
discovery
Package discovery implements discovery mechanism for etcd clusters
Package discovery implements discovery mechanism for etcd clusters
platform
Package platform provides abstraction for determining etcd initial cluster members
Package platform provides abstraction for determining etcd initial cluster members
platform/all
Package all imports and registers all platform providers
Package all imports and registers all platform providers
platform/aws
Package aws provides the AWS platform implementation
Package aws provides the AWS platform implementation
platform/vsphere
Package vsphere provides the vsphere platform implementation
Package vsphere provides the vsphere platform implementation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL