Skip to content

Commit

Permalink
Format markdown (knative#2839)
Browse files Browse the repository at this point in the history
Produced via: `prettier --write --prose-wrap=always $(find -name '*.md' | grep -v vendor | grep -v .github)`
  • Loading branch information
mattmoor-sockpuppet authored and knative-prow-robot committed Jan 3, 2019
1 parent 6e58358 commit 215ccde
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 128 deletions.
58 changes: 35 additions & 23 deletions docs/debugging/application-debugging-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,50 +70,62 @@ kubectl get clusteringress -o=custom-columns='NAME:.metadata.name,LABELS:.metada
NAME LABELS
helloworld-go-h5kd4 map[serving.knative.dev/route:helloworld-go serving.knative.dev/routeNamespace:default]
```
The labels `serving.knative.dev/route` and `serving.knative.dev/routeNamespace` will tell
exactly which Route a ClusterIngress is a child resource of. Find the one corresponding
to your Route. If a ClusterIngress does not exist, the route controller believes
that the Revisions targeted by your Route/Service isn't ready. Please proceed to later
sections to diagnose Revision readiness status.

Otherwise, run the following command to look at the ClusterIngress created for your Route
The labels `serving.knative.dev/route` and `serving.knative.dev/routeNamespace`
will tell exactly which Route a ClusterIngress is a child resource of. Find the
one corresponding to your Route. If a ClusterIngress does not exist, the route
controller believes that the Revisions targeted by your Route/Service isn't
ready. Please proceed to later sections to diagnose Revision readiness status.

Otherwise, run the following command to look at the ClusterIngress created for
your Route

```
kubectl get clusteringress <CLUSTERINGRESS_NAME> -o yaml
```
particularly, look at the `status:` section. If the ClusterIngress is working correctly,
we should see the condition with `type=Ready` to have `status=True`. Otherwise, there
will be error messages.

Now, if ClusterIngress shows status Ready, there must be a corresponding VirtualService.
Run the following command:
particularly, look at the `status:` section. If the ClusterIngress is working
correctly, we should see the condition with `type=Ready` to have `status=True`.
Otherwise, there will be error messages.

Now, if ClusterIngress shows status Ready, there must be a corresponding
VirtualService. Run the following command:

```shell
kubectl get virtualservice <CLUSTERINGRESS_NAME> -n knative-serving -o yaml
```
the network configuration in VirtualService must match that of ClusterIngress and Route.
VirtualService currently doesn't expose a Status field, so if one exists and have matching
configurations with ClusterIngress and Route, you may want to wait a little bit for those
settings to propagate.

If you are familar with Istio and `istioctl`, you may try using `istioctl` to look deeper
using Istio [guide](https://istio.io/help/ops/traffic-management/proxy-cmd/).
the network configuration in VirtualService must match that of ClusterIngress
and Route. VirtualService currently doesn't expose a Status field, so if one
exists and have matching configurations with ClusterIngress and Route, you may
want to wait a little bit for those settings to propagate.

If you are familar with Istio and `istioctl`, you may try using `istioctl` to
look deeper using Istio
[guide](https://istio.io/help/ops/traffic-management/proxy-cmd/).

### Check Ingress status
Before Knative 0.3 we use a LoadBalancer service call `knative-ingressgateway` to handle
ingress. Since Knative 0.3 we now use `istio-ingressgateway` Service.

Before Knative 0.3 we use a LoadBalancer service call `knative-ingressgateway`
to handle ingress. Since Knative 0.3 we now use `istio-ingressgateway` Service.

To check the IP address of your Ingress, use

```shell
kubectl get svc -n istio-system istio-ingressgateway
```
Or replace that with `knative-ingressgateway` if you are using Knative release older than
0.3.

Or replace that with `knative-ingressgateway` if you are using Knative release
older than 0.3.

If there is no external IP address, use

```shell
kubectl describe svc istio-ingressgateway -n istio-system
```
to see a reason why IP addresses weren't provisioned. Most likely it is due to a quota
issue.

to see a reason why IP addresses weren't provisioned. Most likely it is due to a
quota issue.

## Check Revision status

Expand Down
Loading

0 comments on commit 215ccde

Please sign in to comment.