Skip to content

Commit 4025da0

Browse files
committed
chore(aws): installing kubernetes on aws
1 parent d6750a9 commit 4025da0

1 file changed

Lines changed: 51 additions & 20 deletions

File tree

src/quickstart/provider/aws/install-aws.md

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,18 @@ use it to communicate. You can test that it is working properly by running:
1414

1515
```
1616
$ helmc target
17-
Kubernetes master is running at https://10.245.1.2
18-
Heapster is running at https://10.245.1.2/api/v1/proxy/namespaces/kube-system/services/heapster
19-
KubeDNS is running at https://10.245.1.2/api/v1/proxy/namespaces/kube-system/services/kube-dns
20-
KubeUI is running at https://10.245.1.2/api/v1/proxy/namespaces/kube-system/services/kube-ui
21-
Grafana is running at https://10.245.1.2/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
22-
InfluxDB is running at https://10.245.1.2/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb
17+
Kubernetes master is running at https://52.9.206.49
18+
Elasticsearch is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging
19+
Heapster is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/heapster
20+
Kibana is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/kibana-logging
21+
KubeDNS is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/kube-dns
22+
kubernetes-dashboard is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
23+
Grafana is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
24+
InfluxDB is running at https://52.9.206.49/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb
2325
```
2426

2527
If you see a list of targets like the one above, `helmc` can communicate with the Kubernetes master.
2628

27-
Deis Workflow requires Kubernetes 1.2 or higher. You can test that by running:
28-
29-
```
30-
$ kubectl version
31-
Client Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.3", GitCommit:"882d296a99218da8f6b2a340eb0e81c69e66ecc7", GitTreeState:"clean"}
32-
Server Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.3", GitCommit:"882d296a99218da8f6b2a340eb0e81c69e66ecc7", GitTreeState:"clean"}
33-
```
34-
3529
## Add the Deis Chart Repository
3630

3731
The [Deis Chart Repository](https://github.com/deis/charts) contains everything you
@@ -68,15 +62,52 @@ If you would like `kubectl` to automatically update as the pod states change, ru
6862
$ kubectl get pods --namespace=deis -w
6963
```
7064

65+
Depending on the order in which the Workflow components start, you may see a few components restart. This is common during the installation process, if a component's dependencies are not yet available the component will exit and Kubernetes will automatically restart the containers.
66+
67+
Here, you can see that controller, builder and registry all took a few loops before there were able to start:
68+
```
69+
$ kubectl get pods --namespace=deis
70+
NAME READY STATUS RESTARTS AGE
71+
deis-builder-hy3xv 1/1 Running 5 5m
72+
deis-controller-g3cu8 1/1 Running 5 5m
73+
deis-database-rad1o 1/1 Running 0 5m
74+
deis-logger-fluentd-1v8uk 1/1 Running 0 5m
75+
deis-logger-fluentd-esm60 1/1 Running 0 5m
76+
deis-logger-sm8b3 1/1 Running 0 5m
77+
deis-minio-4ww3t 1/1 Running 0 5m
78+
deis-registry-asozo 1/1 Running 1 5m
79+
deis-router-k1ond 1/1 Running 0 5m
80+
deis-workflow-manager-68nu6 1/1 Running 0 5m
81+
```
82+
7183
Once you see all of the pods in the `READY` state, Deis Workflow is up and running!
7284

7385
## Configure your AWS Load Balancer
7486

75-
After installing Workflow on your cluster, you'll need to [configure your load balancer][lb].
76-
Following this step is especially important on AWS because the default idle timeout for connections
77-
on the Elastic Load Balancer is too low for the [Builder][] to finish a `git push` operation.
87+
After installing Workflow on your cluster, you will need to adjust your load balancer configuration.
88+
By default, the connection timeout for Elastic Load Blancers is 60 seconds. Unfortunately, this timeout is too short for
89+
long running connections when using `git push` functionality of Deis Workflow.
7890

79-
Next, [configure dns](dns.md) so you can register your first user.
91+
First, find the ELB that was automatically provisioned for the Deis Workflow edge router:
92+
```
93+
$ kubectl describe svc deis-router --namespace=deis | egrep LoadBalancer
94+
Type: LoadBalancer
95+
LoadBalancer Ingress: abce0d48217d311e69a470643b4d9062-2074277678.us-west-1.elb.amazonaws.com
96+
```
97+
98+
The AWS name for the ELB is the first part of hostname before the `-`. List all of your ELBs by name to confirm:
99+
```
100+
$ aws elb describe-load-balancers --query 'LoadBalancerDescriptions[*].LoadBalancerName'
101+
abce0d48217d311e69a470643b4d9062
102+
```
103+
104+
Set the connection timeout to 1200 seconds:
105+
```
106+
$ aws elb modify-load-balancer-attributes \
107+
--load-balancer-name abce0d48217d311e69a470643b4d9062 \
108+
--load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":1200}}"
109+
abce0d48217d311e69a470643b4d9062
110+
CONNECTIONSETTINGS 1200
111+
```
80112

81-
[builder]: ../../../understanding-workflow/components.md#builder-builder-slugbuilder-and-dockerbuilder
82-
[lb]: ../../../managing-workflow/configuring-load-balancers.md
113+
Next, [configure dns](dns.md) so you can register your first user and deploy an application.

0 commit comments

Comments
 (0)