github.com/amrnt/deis@v1.3.1/docs/installing_deis/rackspace.rst (about)

     1  :title: Installing Deis on Rackspace
     2  :description: How to provision a multi-node Deis cluster on Rackspace
     3  
     4  .. _deis_on_rackspace:
     5  
     6  Rackspace
     7  =========
     8  
     9  We'll mostly be following the `CoreOS on Rackspace`_ guide. You'll need to have a sane python
    10  environment with ``pip`` already installed (``sudo easy_install pip``).
    11  
    12  Please :ref:`get the source <get_the_source>` and refer to the scripts in `contrib/rackspace`_
    13  while following this documentation.
    14  
    15  
    16  Install supernova
    17  -----------------
    18  
    19  .. code-block:: console
    20  
    21      $ sudo pip install keyring
    22      $ sudo pip install rackspace-novaclient
    23      $ sudo pip install supernova
    24  
    25  
    26  Configure supernova
    27  -------------------
    28  
    29  Edit ``~/.supernova`` to match the following:
    30  
    31  .. code-block:: console
    32  
    33      [production]
    34      OS_AUTH_URL = https://identity.api.rackspacecloud.com/v2.0/
    35      OS_USERNAME = {rackspace_username}
    36      OS_PASSWORD = {rackspace_api_key}
    37      OS_TENANT_NAME = {rackspace_account_id}
    38      OS_REGION_NAME = DFW (or ORD or another region)
    39      OS_AUTH_SYSTEM = rackspace
    40  
    41  Your account ID is displayed in the upper right-hand corner of the cloud control panel UI, and your
    42  API key can be found on the Account Settings page.
    43  
    44  
    45  Generate SSH Key
    46  ----------------
    47  
    48  .. include:: ../_includes/_generate-ssh-key.rst
    49  
    50  
    51  Set up your keys
    52  ----------------
    53  
    54  Tell supernova about the key pair and give it an identifiable name:
    55  
    56  .. code-block:: console
    57  
    58      $ supernova production keypair-add --pub-key ~/.ssh/deis.pub deis-key
    59  
    60  
    61  Generate a New Discovery URL
    62  ----------------------------
    63  
    64  .. include:: ../_includes/_generate-discovery-url.rst
    65  
    66  
    67  Choose number of instances
    68  --------------------------
    69  
    70  By default, the provision script will provision 3 servers. You can override this by setting `DEIS_NUM_INSTANCES`:
    71  
    72  .. code-block:: console
    73  
    74      $ DEIS_NUM_INSTANCES=5 ./provision-rackspace-cluster.sh deis-key
    75  
    76  Note that for scheduling to work properly, clusters must consist of at least 3 nodes and always have an odd number of members.
    77  For more information, see `etcd disaster recovery`_.
    78  
    79  Deis clusters of less than 3 nodes are unsupported.
    80  
    81  Run the Provision Script
    82  ------------------------
    83  
    84  Run the Rackspace provision script to spawn a new CoreOS cluster. You'll need to provide the name
    85  of the key pair you just added. Optionally, you can also specify a flavor name, as well as the supernova environment to use. The environment will default to `production`, and the flavor to `performance1-2`.
    86  
    87  .. code-block:: console
    88  
    89      $ cd contrib/rackspace
    90      $ ./provision-rackspace-cluster.sh
    91      Usage: provision-rackspace-cluster.sh <key pair name> [flavor] [environment]
    92      $ ./provision-rackspace-cluster.sh deis-key
    93  
    94  .. note::
    95  
    96      The provision script will by default provision ``performance1-2`` servers. Choosing a smaller
    97      server size is not recommended. Please refer to :ref:`system-requirements` for resource
    98      considerations when choosing a server size to run Deis.
    99  
   100  Configure DNS
   101  -------------
   102  
   103  See :ref:`configure-dns` for more information on properly setting up your DNS records with Deis.
   104  
   105  
   106  Configure Load Balancer
   107  -----------------------
   108  
   109  You'll need to create two load balancers on Rackspace to handle your cluster:
   110  
   111  .. code-block:: console
   112  
   113      Load Balancer 1
   114      Port 80
   115      Protocol HTTP
   116      Health Monitoring -
   117        Monitor Type HTTP
   118        HTTP Path /health-check
   119  
   120      Load Balancer 2
   121      Virtual IP Shared VIP on Another Load Balancer (select Load Balancer 1)
   122      Port 2222
   123      Protocol TCP
   124  
   125  Install Deis Platform
   126  ---------------------
   127  
   128  Now that you've finished provisioning a cluster, please refer to :ref:`install_deis_platform` to
   129  start installing the platform.
   130  
   131  
   132  .. _`contrib/rackspace`: https://github.com/deis/deis/tree/master/contrib/rackspace
   133  .. _`CoreOS on Rackspace`: https://coreos.com/docs/running-coreos/cloud-providers/rackspace/
   134  .. _`etcd disaster recovery`: https://github.com/coreos/etcd/blob/master/Documentation/admin_guide.md#disaster-recovery
   135  .. _Rackspace: https://github.com/deis/deis/tree/master/contrib/rackspace#readme
   136  .. _`contrib/rackspace`: https://github.com/deis/deis/tree/master/contrib/rackspace