Fix the order that Knative is installed in. (#1660)

Ambassador requires Knative be installed in the cluster before it can run. The current ordering causes Ambassador to fail to start

Signed-off-by: nbkrause <krausenoah@gmail.com>
This commit is contained in:
Noah Krause 2019-08-07 17:31:56 -04:00 committed by Knative Prow Robot
parent 88f1e71138
commit 70e6da3162
1 changed files with 32 additions and 33 deletions

View File

@ -23,41 +23,9 @@ This guide assumes that you have already
[created a Kubernetes cluster](https://kubernetes.io/docs/setup/) and are using
bash in a Mac or Linux environment.
## Install Ambassador
Knative was originally built using Istio to handle cluster networking. While the
Istio gateway provides the functionality needed to serve requests to your
application, installing a service mesh to handle north-south traffic carries
some operational overhead with it. Ambassador provides a way to get traffic to
your Knative application without the overhead or complexity of a full service
mesh.
You can install Ambassador with `kubectl`:
```
kubectl apply -f https://getambassador.io/yaml/ambassador/ambassador-knative.yaml
kubectl apply -f https://getambassador.io/yaml/ambassador/ambassador-service.yaml
```
Ambassador will watch for and create routes based off of Knative
`ClusterIngress` resources. These will then be accessible over the external IP
address of the Ambassador service you just created.
Get this external IP address and save it in a variable named `AMBASSADOR_IP`
```
$ kubectl get svc ambassador
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ambassador LoadBalancer 10.59.246.30 35.229.120.99 80:32073/TCP 13m
$ AMBASSADOR_IP=35.229.120.99
```
## Install Knative
Now that Ambassador is installed to handle ingress to your serverless
applications, you need to install Knative to manage them.
First, let's install Knative to manage our serverless applications.
The following commands install all available Knative components as well as the
standard set of observability plugins. To customize your Knative installation,
@ -98,6 +66,37 @@ see Performing a Custom Knative Installation.
kubectl get pods -w --all-namespaces
```
## Install Ambassador
Knative was originally built using Istio to handle cluster networking. While the
Istio gateway provides the functionality needed to serve requests to your
application, installing a service mesh just to handle north-south traffic
carries some operational overhead with it. Ambassador provides a way to get
traffic to your Knative application without the overhead or complexity of a
full service mesh.
You can install Ambassador with `kubectl`:
```
kubectl apply -f https://getambassador.io/yaml/ambassador/ambassador-knative.yaml
kubectl apply -f https://getambassador.io/yaml/ambassador/ambassador-service.yaml
```
Ambassador will watch for and create routes based off of Knative
`ClusterIngress` resources. These will then be accessible over the external IP
address of the Ambassador service you just created.
Get this external IP address and save it in a variable named `AMBASSADOR_IP`
```
$ kubectl get svc ambassador
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ambassador LoadBalancer 10.59.246.30 35.229.120.99 80:32073/TCP 13m
$ AMBASSADOR_IP=35.229.120.99
```
## Deploying an Application
Now that Knative and Ambassador are running, you can use them to manage and