Skip to content

Commit

Permalink
Merge pull request rexray#1123 from jmaitrehenry/update_azure_documen…
Browse files Browse the repository at this point in the history
…tation

Add a requirement for Azure and rename Microsoft to Microsoft Azure
  • Loading branch information
akutz authored Jun 22, 2018
2 parents 6ed0b78 + c5028a7 commit d14c3e3
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 99 deletions.
71 changes: 36 additions & 35 deletions .docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,53 +129,54 @@ is compatible.
#### Storage Provider Support
The following storage providers and platforms are supported by REX-Ray.

| Provider | Storage Platform | <center>[Docker](https://docs.docker.com/engine/extend/plugins_volume/)</center> | <center>Containerized</center> |
|-----------------------|----------------------|:---:|:---:|
| Amazon EC2 | [EBS](./user-guide/storage-providers/aws.md#aws-ebs) |||
| | [EFS](./user-guide/storage-providers/aws.md#aws-efs) |||
| | [S3FS](./user-guide/storage-providers/aws.md#aws-s3fs) |||
| Ceph | [RBD](./user-guide/storage-providers/ceph.md#ceph-rbd) |||
| Dell EMC | [Isilon](./user-guide/storage-providers/dellemc.md#dell-emc-isilon) |||
| | [ScaleIO](./user-guide/storage-providers/dellemc.md#dell-emc-scaleio) |||
| DigitalOcean | [Block Storage](./user-guide/storage-providers/digitalocean.md#do-block-storage) |||
| FittedCloud | [EBS Optimizer](./user-guide/storage-providers/fittedcloud.md#ebs-optimizer) || |
| Google | [GCE Persistent Disk](./user-guide/storage-providers/google.md#gce-persistent-disk) |||
| Microsoft | [Azure Unmanaged Disk](./user-guide/storage-providers/microsoft.md#azure-ud) |||
| OpenStack | [Cinder](./user-guide/storage-providers/openstack.md#cinder) |||
| VirtualBox | [Virtual Media](./user-guide/storage-providers/virtualbox.md#virtualbox) || |

| Provider | Storage Platform | Docker | Containerized |
|:----------------|:-----------------------------------------------------------------------------|:------:|:-------------:|
| Amazon EC2 | [EBS](./user-guide/storage-providers.md#aws-ebs) |||
| | [EFS](./user-guide/storage-providers.md#aws-efs) |||
| | [S3FS](./user-guide/storage-providers.md#aws-s3fs) |||
| Ceph | [RBD](./user-guide/storage-providers.md#ceph-rbd) |||
| Dell EMC | [Isilon](./user-guide/storage-providers.md#dell-emc-isilon) |||
| | [ScaleIO](./user-guide/storage-providers.md#dell-emc-scaleio) |||
| DigitalOcean | [Block Storage](./user-guide/storage-providers.md#do-block-storage) |||
| FittedCloud | [EBS Optimizer](./user-guide/storage-providers.md/#ebs-optimizer) || |
| Google | [GCE Persistent Disk](./user-guide/storage-providers.md#gce-persistent-disk) |||
| Microsoft Azure | [Azure Unmanaged Disk](./user-guide/storage-providers.md#azure-ud) |||
| OpenStack | [Cinder](./user-guide/storage-providers.md#cinder) |||
| VirtualBox | [Virtual Media](./user-guide/storage-providers.md#virtualbox) || |

**Docker**: [https://github.com/container-storage-interface/spec](https://github.com/container-storage-interface/spec)

#### Operating System Support
The following operating systems (OS) are supported by REX-Ray:

| OS | <center>Command Line</center> | <center>Service</center> |
|---------------|:---:|:---:|
| Ubuntu 12+ | | |
| Debian 6+ | | |
| RedHat | | |
| CentOS 6+ | | |
| CoreOS | | |
| TinyLinux (boot2docker)| | |
| OS X Yosemite+ | | |
| Windows | | |
| OS | Command Line | Service |
|:------------------------|:------------:|:-------:|
| Ubuntu 12+ | | |
| Debian 6+ | | |
| RedHat | | |
| CentOS 6+ | | |
| CoreOS | | |
| TinyLinux (boot2docker) | | |
| OS X Yosemite+ | | |
| Windows | | |

#### Container Runtime Support
REX-Ray currently supports the following container platforms:

Platform | Use
------------------|-------------------------
Docker | [Volume Driver Plugin](./user-guide/schedulers/docker.md)
Mesos | [Volume Driver Isolator module](./user-guide/schedulers/mesos.md)
Mesos + Docker | [Volume Driver Plugin](./user-guide/schedulers/mesos.md)
| Platform | Use |
|:---------------|:------------------------------------------------------------------|
| Docker | [Volume Driver Plugin](./user-guide/schedulers/dockermd) |
| Mesos | [Volume Driver Isolator module](./user-guide/schedulers/mesos.md) |
| Mesos + Docker | [Volume Driver Plugin](./user-guide/schedulers/mesos.md) |

#### Container Orchestration Support
REX-Ray currently supports the following container orchestrators:

Orchestrator | Container Runtime
------------------|-------------------------
Docker Swarm | Docker
Kubernetes | Docker
Marathon | Docker, Mesos Containerizer
| Orchestrator | Container Runtime |
|:-------------|:----------------------------|
| Docker Swarm | Docker |
| Kubernetes | Docker |
| Marathon | Docker, Mesos Containerizer |

### GitHub and Slack
If a little extra help is needed, please don't hesitate to use [GitHub
Expand Down
31 changes: 17 additions & 14 deletions .docs/user-guide/storage-providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@ Connecting storage and platforms...

---

| Provider | Storage Platform | <center>[Docker](https://docs.docker.com/engine/extend/plugins_volume/)</center> | <center>Containerized</center> |
|-----------------------|----------------------|:---:|:---:|
| Amazon EC2 | [EBS](./storage-providers/aws.md#aws-ebs) |||
| | [EFS](./storage-providers/aws.md#aws-efs) |||
| | [S3FS](./storage-providers/aws.md#aws-s3fs) |||
| Ceph | [RBD](./storage-providers/ceph.md#ceph-rbd) |||
| Dell EMC | [Isilon](./storage-providers/dellemc.md#dell-emc-isilon) |||
| | [ScaleIO](./storage-providers/dellemc.md#dell-emc-scaleio) |||
| DigitalOcean | [Block Storage](./storage-providers/digitalocean.md#do-block-storage) |||
| FittedCloud | [EBS Optimizer](./storage-providers/fittedcloud.md#ebs-optimizer) || |
| Google | [GCE Persistent Disk](./storage-providers/google.md#gce-persistent-disk) |||
| Microsoft | [Azure Unmanaged Disk](./storage-providers/microsoft.md#azure-ud) |||
| OpenStack | [Cinder](./storage-providers/openstack.md#cinder) |||
| VirtualBox | [Virtual Media](./storage-providers/virtualbox.md#virtualbox) || |
| Provider | Storage Platform | Docker | Containerized |
|-:---------------|:-------------------------------------------------------------------------|:------:|:-------------:|
| Amazon EC2 | [EBS](./storage-providers/aws.md#aws-ebs) |||
| | [EFS](./storage-providers/aws.md#aws-efs) |||
| | [S3FS](./storage-providers/aws.md#aws-s3fs) |||
| Ceph | [RBD](./storage-providers/ceph.md#ceph-rbd) |||
| Dell EMC | [Isilon](./storage-providers/dellemc.md#dell-emc-isilon) |||
| | [ScaleIO](./storage-providers/dellemc.md#dell-emc-scaleio) |||
| DigitalOcean | [Block Storage](./storage-providers/digitalocean.md#do-block-storage) |||
| FittedCloud | [EBS Optimizer](./storage-providers/fittedcloud.md#ebs-optimizer) || |
| Google | [GCE Persistent Disk](./storage-providers/google.md#gce-persistent-disk) |||
| Microsoft Azure | [Azure Unmanaged Disk](./storage-providers/microsoft.md#azure-ud) |||
| OpenStack | [Cinder](./storage-providers/openstack.md#cinder) |||
| VirtualBox | [Virtual Media](./storage-providers/virtualbox.md#virtualbox) || |

**Docker**: [https://github.com/container-storage-interface/spec](https://github.com/container-storage-interface/spec)

69 changes: 21 additions & 48 deletions .docs/user-guide/storage-providers/microsoft.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Microsoft
# Microsoft Azure

Azure storage

Expand All @@ -10,16 +10,14 @@ Microsoft Azure support is included with REX-Ray as well.
<a name="azure-ud"></a>

## Azure Unmanaged Disk
The Microsoft Azure Unmanaged Disk (Azure UD) driver registers a driver
named `azureud` with the libStorage service registry and is used to connect and
mount Azure unmanaged disks from Azure page blob storage with Azure virtual
machines.
The Microsoft Azure Unmanaged Disk (Azure UD) driver registers a driver named `azureud` with the libStorage service registry and is used to connect and mount Azure unmanaged disks from Azure page blob storage with Azure virtual machines.

### Requirements
* An Azure account
* An Azure subscription
* An Azure storage account
* An Azure resource group
* Any virtual machine with unmanaged OS disk, Azure can't mix managed and unmanaged disk on the same VM.
* Any virtual machine where disks are going to be attached must have the
`lsscsi` utility installed. You can install this with `yum install lsscsi` on
Red Hat based distributions, or with `apt-get install lsscsi` on Debian based
Expand All @@ -44,62 +42,38 @@ azureud:
```
#### Configuration Notes
* `subscriptionID` is required, and is the UUID of your Azure subscription
* `resourceGroup` is required, and is the name of the resource group for your
VMs and storage.
* `tenantID` is required, and is either the domain or UUID for your active
directory account within Azure.
* `storageAccount` is required, and is the name of the storage account where
* `subscriptionID` is required and is the UUID of your Azure subscription
* `resourceGroup` is required and is the name of the resource group for your VMs and storage.
* `tenantID` is required and is either the domain or UUID for your active directory account within Azure.
* `storageAccount` is required and is the name of the storage account where
your disks will be created.
* `storageAccessKey` is required, and is a valid access key associated with the
* `storageAccessKey` is required and is a valid access key associated with the
`storageAccount`.
* `clientID` is required, and is the UUID of your client, which was created as
an App Registration within your Azure active directory account. When creating
an App Registration, this ID is shown as the Application ID.
* `clientSecret` is required if `certPath` is not provided instead. It is a
valid access key associated with `clientID`, and is managed as part of the App
Registration.
* `certPath` is an alternative to `clientSecret`, contains the location of a
PKCS encoded RSA private key associated with `clientID`.
* `container` is optional, and specifies the name of an existing container
within `storageAccount`. This container must already exist and is not created
automatically.
* `useHTTPS` is optional, and is a boolean value on whether to use HTTPS when
* `clientID` is required and is the UUID of your client, which was created as an App Registration within your Azure active directory account. When creating an App Registration, this ID is shown as the Application ID.
* `clientSecret` is required if `certPath` is not provided instead. It is a valid access key associated with `clientID`, and is managed as part of the App Registration.
* `certPath` is an alternative to `clientSecret`, contains the location of a PKCS encoded RSA private key associated with `clientID`.
* `container` is optional and specifies the name of an existing container within `storageAccount`. This container must already exist and is not created automatically.
* `useHTTPS` is optional and is a boolean value on whether to use HTTPS when
communicating with the Azure storage endpoint.

### Runtime Behavior
* The `container` config option defaults to `vhds`, and this container is
present by default in Azure. Changing this option is only necessary if you
want to use a different container within your storage account.
* Volume Attach/Detach operations in Azure take a long time, sometimes greater
than 60 seconds, which is libStorage's default task timeout. When the timeout
is hit, libStorage returns information to the caller about a queued task, and
that the task is still running. This may cause issues for upstream callers.
It is *highly* recommended to adjust this default timeout to 120 seconds by
setting the `libstorage.server.tasks.exeTimeout` property. This is done in
the `Examples` section below.
present by default in Azure. Changing this option is only necessary if you want to use a different container within your storage account.
* Volume Attach/Detach operations in Azure take a long time, sometimes greater than 60 seconds, which is libStorage's default task timeout. When the timeout is hit, libStorage returns information to the caller about a queued task, and that the task is still running. This may cause issues for upstream callers.
It is *highly* recommended to adjust this default timeout to 120 seconds by setting the `libstorage.server.tasks.exeTimeout` property. This is done in the `Examples` section below.

### Activating the Driver
To activate the Azure UD driver please follow the instructions for
[activating storage drivers](../servers/libstorage.md#storage-drivers), using `azureud` as
the driver name.
[activating storage drivers](../servers/libstorage.md#storage-drivers), using `azureud` as the driver name.

### Troubleshooting
* For help creating App Registrations, the steps in
[this guide](https://www.terraform.io/docs/providers/azurerm/authenticating_via_service_principal.html#creating-a-service-principal)
cover creating a new Registration using the Azure portal and CLI.
* After creating your app registration, you must go into the
`Required Permissions` tab and grant access to "Windows Azure Service
Management API". Choose the delegated permission for accessing as organization
users.
* You must also grant your app registration access to your subscription, by
going to Subscriptions->Your `subscriptionID`->Access Control (IAM). From
there, add your app registration as a user, which you will have to search for
by name. Grant the role of "Owner".
* You should carefully check that your VM is compatible with the storage account
you want to use. For example, if you need Azure Premium storage your machine
should be of a compatible size (e.g. DS_V2, FS). For more details see the
available VM [sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes).
`Required Permissions` tab and grant access to "Windows Azure Service Management API". Choose the delegated permission for accessing as organization users.
* You must also grant your app registration access to your subscription, by going to Subscriptions -> Your `subscriptionID` -> Access Control (IAM). From there, add your app registration as a user, which you will have to search for by name. Grant the role of "Owner".
* You should carefully check that your VM is compatible with the storage account you want to use. For example, if you need Azure Premium storage your machine should be of a compatible size (e.g. DS_V2, FS). For more details see the available VM [sizes](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes).

<a name="azure-ud-examples"></a>

Expand Down Expand Up @@ -131,5 +105,4 @@ libstorage:
* Snapshot and Copy functionality is not yet implemented
* The number of disks you can attach to a Virtual Machine depends on its type.
* Good resources for reading about disks in Azure are
[here](https://docs.microsoft.com/en-us/azure/storage/storage-standard-storage)
and [here](https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux).
[here](https://docs.microsoft.com/en-us/azure/storage/storage-standard-storage) and [here](https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux).
4 changes: 2 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ pages:
- DigitalOcean: user-guide/storage-providers/digitalocean.md
- FittedCloud: user-guide/storage-providers/fittedcloud.md
- Google: user-guide/storage-providers/google.md
- Microsoft: user-guide/storage-providers/microsoft.md
- Microsoft Azure: user-guide/storage-providers/microsoft.md
- OpenStack: user-guide/storage-providers/openstack.md
- VirtualBox: user-guide/storage-providers/virtualbox.md
- Servers:
Expand All @@ -46,7 +46,7 @@ pages:
- Dell EMC: user-guide/schedulers/docker/plug-ins/dellemc.md
- DigitalOcean: user-guide/schedulers/docker/plug-ins/digitalocean.md
- Google: user-guide/schedulers/docker/plug-ins/google.md
- Microsoft: user-guide/schedulers/docker/plug-ins/microsoft.md
- Microsoft Azure: user-guide/schedulers/docker/plug-ins/microsoft.md
- OpenStack: user-guide/schedulers/docker/plug-ins/openstack.md
- Kubernetes: user-guide/schedulers/kubernetes.md
- Mesos: user-guide/schedulers/mesos.md
Expand Down

0 comments on commit d14c3e3

Please sign in to comment.