Skip to content

Latest commit

 

History

History
100 lines (60 loc) · 3.04 KB

File metadata and controls

100 lines (60 loc) · 3.04 KB
title:Installing Deis on Microsoft Azure
description:How to provision a multi-node Deis cluster on Microsoft Azure

Microsoft Azure

This section will show you how to create a 3-node Deis cluster on Microsoft Azure.

Before you start, :ref:`get the Deis source <get_the_source>` and change directory into contrib/azure while following this documentation.

Install Python and Azure SDK for Python

The cluster creation tool uses Python and the Python Azure library to create a CoreOS cluster. If you haven't already, install these on your development machine:

$ brew install python
$ sudo pip install azure pyyaml

Create CoreOS Cluster

First, login to the Azure CLI:

$ azure login

Note

Deis makes use of Azure Resource Manager to submit a template describing the infrastructure that we'd like to create. You'll need an organizational account (not a typical Microsoft or Live account) in order to use this template.

Instruct the client to switch to ARM mode:

$ azure config mode arm

Switch to the contrib/azure directory:

$ cd contrib/azure

Generate a new discovery URL for the deployment so the hosts can find each other:

$ ./create-azure-user-data $(curl -s https://discovery.etcd.io/new)

Next, edit parameters.json to configure the parameters required for the cluster. For sshKeyData, use the public key material for the SSH key you'd like to use to log into the hosts. For customData, you'll need to supply the base64-encoded version of azure-user-data. This can be generated using base64:

$ base64 azure-user-data

Paste the result into parameters.json.

Finally, we can deploy. Choose a valid location to deploy -- you can list all locations with azure location list:

$ azure group create --name deis --location "West US" --deployment-name deis --template-file arm-template.json --parameters-file parameters.json

Each instance will have a public IP address which can be used to log in via SSH or as a tunnel endpoint for deisctl. You can get these IPs from the Azure Portal or via the CLI with azure vm show:

$ azure vm show deisNode0 --resource-group deis

Configure DNS

See :ref:`configure-dns` for more information on properly setting up your DNS records with Deis.

Install Deis Platform

Now that you've finished provisioning a cluster, please refer to :ref:`install_deis_platform` to start installing the platform.