Updating the last few commands to remove EOF (#4083)

* Updating the last few commands

* Fix some formatting issues

* Tweak YAML file to match the docs

* Fix failing test

* Apply suggestions from code review

Co-authored-by: Ashleigh Brennan <abrennan@redhat.com>

* Replace curly braces

* Fix formatting

* Formatting and other tweaks

* capitalise YAML

Co-authored-by: Ashleigh Brennan <abrennan@redhat.com>
This commit is contained in:
Samia Nneji 2021-08-18 14:48:08 +01:00 committed by GitHub
parent a0bdedc4f3
commit 978c926265
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 137 additions and 141 deletions

View File

@ -105,12 +105,9 @@ cd knative-docs/docs/serving/samples/hello-world/helloworld-java-spring
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/helloworld.jar"]
```
For detailed instructions on dockerizing a Spring Boot app, see [Spring Boot with Docker](https://spring.io/guides/gs/spring-boot-docker/).
For detailed instructions on dockerizing a Spring Boot app, see [Spring Boot with Docker](https://spring.io/guides/gs/spring-boot-docker/).
For additional information on multi-stage docker builds for Java see [Creating Smaller Java Image using Docker Multi-stage Build](http://blog.arungupta.me/smaller-java-image-docker-multi-stage-build/).
!!! note
Use Docker to build the sample code into a container. To build and push with Docker Hub, run these commands replacing `{username}` with your Docker Hub username.
For additional information on multi-stage docker builds for Java see [Creating Smaller Java Image using Docker Multi-stage Build](http://blog.arungupta.me/smaller-java-image-docker-multi-stage-build/).
1. Use Docker to build the sample code into a container, then push the container to the Docker registry:
@ -121,19 +118,27 @@ For additional information on multi-stage docker builds for Java see [Creating S
# Push the container to docker registry
docker push {username}/helloworld-java-spring
```
Where `{username}` is your Docker Hub username.
## Deploying the app
After the build has completed and the container is pushed to Docker Hub, you can deploy the app into your cluster.
During the creation of a Service, Knative performs the following steps:
=== "yaml"
- Create a new immutable revision for this version of the app.
- Network programming to create a Route, ingress, Service, and load balancer for your app.
- Automatically scale your pods up and down, including scaling down to zero active pods.
1. Create a new file, `service.yaml` and copy the following service definition
into the file. Make sure to replace `{username}` with your Docker Hub
username.
To deploy the app:
=== "YAML"
1. Create a new file named `service.yaml` and copy the following service definition
into the file:
```yaml
kubectl apply -f - <<EOF
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
@ -147,18 +152,18 @@ After the build has completed and the container is pushed to Docker Hub, you can
env:
- name: TARGET
value: "Spring Boot Sample v1"
EOF
```
Where `{username}` is your Docker Hub username.
Ensure that the container image value
in `service.yaml` matches the container you built in the previous step. Apply
the configuration using `kubectl`:
!!! note
Ensure that the container image value in `service.yaml` matches the container you built in the previous step.
1. Apply the YAML file by running the command:
```bash
kubectl apply --filename service.yaml
kubectl apply -f service.yaml
```
=== "kn"
With `kn` you can deploy the service with
@ -170,21 +175,11 @@ After the build has completed and the container is pushed to Docker Hub, you can
This will wait until your service is deployed and ready, and ultimately it will print the URL through which you can access the service.
During the creation of a Service, Knative performs the following steps:
- Create a new immutable revision for this version of the app.
- Network programming to create a Route, ingress, Service, and load balancer for your app.
- Automatically scale your pods up and down, including scaling down to zero active pods.
## Verification
1. Find the domain URL for your service:
=== "kubectl"
=== "kubectl"
```bash
kubectl get ksvc helloworld-java-spring --output=custom-columns=NAME:.metadata.name,URL:.status.url
```
@ -197,7 +192,7 @@ After the build has completed and the container is pushed to Docker Hub, you can
```
=== "kn"
=== "kn"
```bash
kn service describe helloworld-java-spring -o url
@ -209,9 +204,6 @@ After the build has completed and the container is pushed to Docker Hub, you can
http://helloworld-java-spring.default.1.2.3.4.xip.io
```
1. Make a request to your app and observe the result. Replace
the following URL with the URL returned in the previous command.
@ -225,14 +217,13 @@ After the build has completed and the container is pushed to Docker Hub, you can
curl $(kn service describe helloworld-java-spring -o url)
```
!!! tip
Add `-v` option to get more detail if the `curl` command failed.
!!! tip
Add `-v` option to get more detail if the `curl` command fails.
## Deleting the app
To remove the sample app from your cluster, delete the service.
=== "kubectl"
```bash
kubectl delete -f service.yaml

View File

@ -96,18 +96,19 @@ We can replace the default gateway with our own gateway with following steps.
Let's say you replace the default `knative-ingress-gateway` gateway with
`knative-custom-gateway` in `custom-ns`.
First, we create the `knative-custom-gateway` gateway.
First, create the `knative-custom-gateway` gateway:
```
cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
1. Create a YAML file using the following template:
```yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: knative-custom-gateway
namespace: custom-ns
spec:
spec:
selector:
istio: ingressgateway
istio: <service-label>
servers:
- port:
number: 80
@ -115,11 +116,15 @@ spec:
protocol: HTTP
hosts:
- "*"
EOF
```
```
Where `<service-label>` is a label to select your service, for example, `ingressgateway`.
!!! note
Replace the label selector `istio: ingressgateway` with the label of your service.
2. Apply the YAML file by running the command:
```bash
kubectl apply -f <filename>.yaml
```
Where `<filename>` is the name of the file you created in the previous step.
### Step 2: Update the gateway ConfigMap