Skip to content

Commit f578585

Browse files
authored
Merge pull request #716 from dtzar/master
docs(Azure): enhancement and fixes
2 parents 01ac5dd + a5d71e2 commit f578585

2 files changed

Lines changed: 10 additions & 32 deletions

File tree

src/quickstart/provider/azure-acs/boot.md

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
4. SSH Key - This is used to deploy the cluster. [This URL helps to create SSH keys compatible with Linux VMs on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys)
1313

14-
5. jq - to parse the JSON responses from the CLI. [jq download page](https://stedolan.github.io/jq/)
15-
1614
## Configure the Azure CLI
1715

1816
After installing the CLI, log in to an Azure Account by typing `az login`. Take the code offered, enter it into the text box at [https://aka.ms/devicelogin](https://aka.ms/devicelogin), and login using an Azure account which has ownership or contributor permissions over at least one subscription.
@@ -44,27 +42,6 @@ $ export SUBSCRIPTION_ID=57849302-a9f0-4908-b300-31337a0fb205
4442
$ az account set --subscription="${SUBSCRIPTION_ID}"
4543
```
4644

47-
## Create an Azure Service Principal
48-
49-
Next, create an Azure Service Principal that will be used to provision the ACS Kubernetes Cluster. Service Principals are entities that have permission to create resources in an Azure Subscription. New Service Principals must be given a unique name, a role, and an Azure subscription that the Service Principal may modify.
50-
51-
```
52-
$ export SP_JSON=`az ad sp create-for-rbac -n="http://acsk8sdeis" --role="Contributor" --scopes="/subscriptions/${SUBSCRIPTION_ID}"`
53-
$ export SP_NAME=`echo $SP_JSON | jq -r '.name'`
54-
$ export SP_PASS=`echo $SP_JSON | jq -r '.password'`
55-
$ echo $SP_JSON
56-
```
57-
58-
This should display an output similar to this. `jq` has also automatically extracted these values for use in the creation of the cluster.
59-
```
60-
{
61-
"appId": "58b21231-3dd7-4546-bd37-9df88812331f",
62-
"name": "http://workflow-on-acs",
63-
"password": "349d4728-438a-52a5-ad25-a740aa0bd240",
64-
"tenant": "891a9ddc-477a-4620-8f21-db22ffd3ffea"
65-
}
66-
```
67-
6845
## Create an ACS Kubernetes Cluster
6946

7047
Azure supports two methods to build an ACS Kubernetes cluster, through the Azure Web Portal (UI) or using the Azure command line (CLI). Choose one of the two paths:
@@ -86,16 +63,14 @@ Execute the command to deploy the cluster. The `dns-prefix` and `ssh-key-value`
8663
```
8764
$ export SERVICE_NAME=myacs
8865
$ az acs create --resource-group="${RG_NAME}" --location="${DC_LOCATION}" \
89-
--service-principal="${SP_NAME}" \
90-
--client-secret="${SP_PASS}" \
9166
--orchestrator-type=kubernetes --master-count=1 --agent-count=2 \
9267
--agent-vm-size="Standard_D2_v2" \
9368
--admin-username="k8sadmin" \
9469
--name="${SERVICE_NAME}" --dns-prefix="mydnsprefix" \
9570
--ssh-key-value @/home/myusername/.ssh/id_rsa.pub
9671
```
9772

98-
> Note: When `az acs create` starts, the provisioning process runs entirely silent in the background. After a few minutes the `az` command should return with information about the deployment created as shown below.
73+
> Note: When `az acs create` starts, the provisioning process runs in the background by first creating a service principal named ${SERVICE_NAME} assigned appropriate permissions. After a few minutes the `az` command should return with information about the deployment created as shown below.
9974
10075
```
10176
{
@@ -141,10 +116,10 @@ When the required information is filled out, click "Ok".
141116

142117
![](images/step3.png)
143118

144-
The next step takes the Service Principal name and password generated using the Azure CLI.
119+
Create a new service principal via [instructions at this link](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authenticate-service-principal-cli#create-service-principal-with-password) and put them into the UI.
145120

146-
* Service Principal Client ID: the name of the principal created above e.g. `http://workflow-on-acs`
147-
* Service Principal Client Secret: the password returned by the Azure CLI e.g. 349d4728-438a-52a5-ad25-a740aa0bd240
121+
* Service Principal Client ID: the name of the principal created in the example document after the `-n` parameter e.g. `exampleapp`
122+
* Service Principal Client Secret: the password specified after the `-p` parameter or auto-generated in the Azure CLI e.g. 349d4728-438a-52a5-ad25-a740aa0bd240
148123

149124
![](images/step4.png)
150125

@@ -179,7 +154,8 @@ Download the master kubernetes cluster configuration to the ~/.kube/config file
179154
```console
180155
az acs kubernetes get-credentials --resource-group=$RG_NAME --name=$SERVICE_NAME
181156
```
182-
157+
> Note: If the cluster was provisioned using any other SSH key than `/root/.ssh/id_rsa` then the `--ssh-key-file` parameter must be used pointing to the SSH key utilized to provision the cluster.
158+
183159
Verify connectivity to the new ACS Kubernetes cluster by running `kubectl cluster-info`
184160

185161
```

src/quickstart/provider/azure-acs/install-azure-acs.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,18 @@ It is recommended to use a dedicated storage account for the operational aspects
3333
```
3434
$ export SA_NAME=YourGlobalUniqueName
3535
$ az storage account create -n $SA_NAME -l $DC_LOCATION -g $RG_NAME --sku Standard_LRS
36-
$ export SA_KEY=`az storage account keys list -n $SA_NAME -g RG_NAME --query keys[0].value --output tsv`
36+
$ export SA_KEY=`az storage account keys list -n $SA_NAME -g $RG_NAME --query [0].value --output tsv`
3737
3838
```
3939

40+
> Note: Premium Storage skus are not supported yet due to [lack of block blob storage support](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/using-blob-service-operations-with-azure-premium-storage) required for the deis database to function.
41+
4042
## Install Deis Workflow
4143

4244
Now that Helm is installed and the repository has been added, install Workflow by running:
4345

4446
```
45-
$ helm install deis/workflow --namespace=deis --set controller.k8s_api_verify_tls=false,global.storage=azure,azure.accountname=$SA_NAME,azure.accountkey=$SA_KEY,azure.registry_container=registry,azure.database_container=database,azure.builder_container=builder
47+
$ helm install deis/workflow --namespace=deis --set global.storage=azure,azure.accountname=$SA_NAME,azure.accountkey=$SA_KEY,azure.registry_container=registry,azure.database_container=database,azure.builder_container=builder
4648
```
4749

4850
Helm will install a variety of Kubernetes resources in the `deis` namespace.

0 commit comments

Comments
 (0)