mirror of https://github.com/knative/docs.git
Fixed markdown syntax in Python serving README.md (#5206)
This PR fixes markdown syntax of the `serving/hello-world/helloworld-python/README.md` file. Making it easier to read for new starters
This commit is contained in:
parent
4048921b91
commit
9a3dcf67c4
|
@ -35,7 +35,7 @@ cd knative-docs/code-samples/serving/hello-world/helloworld-python
|
|||
cd app
|
||||
```
|
||||
|
||||
1. Create a file named `app.py` and copy the following code block into it:
|
||||
2. Create a file named `app.py` and copy the following code block into it:
|
||||
|
||||
```python
|
||||
import os
|
||||
|
@ -54,35 +54,35 @@ cd knative-docs/code-samples/serving/hello-world/helloworld-python
|
|||
|
||||
```
|
||||
|
||||
1. In your project directory, create a file named `Dockerfile` and copy the following code
|
||||
3. In your project directory, create a file named `Dockerfile` and copy the following code
|
||||
block into it. See
|
||||
[official Python docker image](https://hub.docker.com/_/python/) for more
|
||||
details.
|
||||
|
||||
```docker
|
||||
# Use the official lightweight Python image.
|
||||
# https://hub.docker.com/_/python
|
||||
FROM python:3.7-slim
|
||||
```dockerfile
|
||||
# Use the official lightweight Python image.
|
||||
# https://hub.docker.com/_/python
|
||||
FROM python:3.7-slim
|
||||
|
||||
# Allow statements and log messages to immediately appear in the Knative logs
|
||||
ENV PYTHONUNBUFFERED True
|
||||
# Allow statements and log messages to immediately appear in the Knative logs
|
||||
ENV PYTHONUNBUFFERED True
|
||||
|
||||
# Copy local code to the container image.
|
||||
ENV APP_HOME /app
|
||||
WORKDIR $APP_HOME
|
||||
COPY . ./
|
||||
# Copy local code to the container image.
|
||||
ENV APP_HOME /app
|
||||
WORKDIR $APP_HOME
|
||||
COPY . ./
|
||||
|
||||
# Install production dependencies.
|
||||
RUN pip install Flask gunicorn
|
||||
# Install production dependencies.
|
||||
RUN pip install Flask gunicorn
|
||||
|
||||
# Run the web service on container startup. Here we use the gunicorn
|
||||
# webserver, with one worker process and 8 threads.
|
||||
# For environments with multiple CPU cores, increase the number of workers
|
||||
# to be equal to the cores available.
|
||||
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app
|
||||
```
|
||||
# Run the web service on container startup. Here we use the gunicorn
|
||||
# webserver, with one worker process and 8 threads.
|
||||
# For environments with multiple CPU cores, increase the number of workers
|
||||
# to be equal to the cores available.
|
||||
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app
|
||||
```
|
||||
|
||||
1. Create a `.dockerignore` file to ensure that any files related to a local
|
||||
4. Create a `.dockerignore` file to ensure that any files related to a local
|
||||
build do not affect the container that you build for deployment.
|
||||
|
||||
```ignore
|
||||
|
@ -97,7 +97,7 @@ cd knative-docs/code-samples/serving/hello-world/helloworld-python
|
|||
**NOTE:** Use Docker to build the sample code into a container. To build and
|
||||
push to Docker Hub or container registry of your choice, run these commands replacing `{username}` with your Docker Hub username or the URL of the container registry.
|
||||
|
||||
1. Use Docker to build the sample code into a container, then push the container
|
||||
5. Use Docker to build the sample code into a container, then push the container
|
||||
to the Docker registry:
|
||||
|
||||
```bash
|
||||
|
@ -110,48 +110,48 @@ cd knative-docs/code-samples/serving/hello-world/helloworld-python
|
|||
|
||||
## Deploying the app
|
||||
|
||||
1. After the build has completed and the container is pushed to Docker Hub, you
|
||||
After the build has completed and the container is pushed to Docker Hub, you
|
||||
can deploy the app into your cluster.
|
||||
|
||||
=== "yaml"
|
||||
### yaml
|
||||
|
||||
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 or with the URL provided by your container registry
|
||||
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 or with the URL provided by your container registry
|
||||
|
||||
```yaml
|
||||
apiVersion: serving.knative.dev/v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: helloworld-python
|
||||
namespace: default
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: docker.io/{username}/helloworld-python
|
||||
env:
|
||||
- name: TARGET
|
||||
value: "Python Sample v1"
|
||||
```
|
||||
```yaml
|
||||
apiVersion: serving.knative.dev/v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: helloworld-python
|
||||
namespace: default
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: docker.io/{username}/helloworld-python
|
||||
env:
|
||||
- name: TARGET
|
||||
value: "Python Sample v1"
|
||||
```
|
||||
|
||||
Ensure that the container image value in `service.yaml` matches the container
|
||||
you built in the previous step. Apply the configuration using `kubectl`:
|
||||
2. Ensure that the container image value in `service.yaml` matches the container
|
||||
you built in the previous step. Apply the configuration using `kubectl`:
|
||||
|
||||
```bash
|
||||
kubectl apply --filename service.yaml
|
||||
```
|
||||
```bash
|
||||
kubectl apply --filename service.yaml
|
||||
```
|
||||
|
||||
=== "kn"
|
||||
### kn
|
||||
|
||||
With `kn` you can deploy the service with
|
||||
1. With `kn` you can deploy the service with
|
||||
|
||||
```bash
|
||||
kn service create helloworld-python --image=docker.io/{username}/helloworld-python --env TARGET="Python Sample v1"
|
||||
```
|
||||
```bash
|
||||
kn service create helloworld-python --image=docker.io/{username}/helloworld-python --env TARGET="Python Sample v1"
|
||||
```
|
||||
|
||||
This will wait until your service is deployed and ready, and ultimately it
|
||||
will print the URL through which you can access the service.
|
||||
This will wait until your service is deployed and ready, and ultimately it
|
||||
will print the URL through which you can access the service.
|
||||
|
||||
|
||||
|
||||
|
@ -170,63 +170,61 @@ cd knative-docs/code-samples/serving/hello-world/helloworld-python
|
|||
> Note: If your URL includes `example.com` then consult the setup instructions for
|
||||
> configuring DNS (e.g. with `sslip.io`), or [using a Custom Domain](https://knative.dev/docs/serving/using-a-custom-domain).
|
||||
|
||||
=== "kubectl"
|
||||
### kubectl
|
||||
|
||||
```bash
|
||||
kubectl get ksvc helloworld-python --output=custom-columns=NAME:.metadata.name,URL:.status.url
|
||||
```
|
||||
```bash
|
||||
kubectl get ksvc helloworld-python --output=custom-columns=NAME:.metadata.name,URL:.status.url
|
||||
```
|
||||
|
||||
```
|
||||
Example:
|
||||
|
||||
Example:
|
||||
```bash
|
||||
NAME URL
|
||||
helloworld-python http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
```
|
||||
|
||||
```bash
|
||||
NAME URL
|
||||
helloworld-python http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
```
|
||||
### kn
|
||||
|
||||
=== "kn"
|
||||
|
||||
```bash
|
||||
kn service describe helloworld-python -o url
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
1. Now you can make a request to your app and see the result. Replace the following URL
|
||||
with the URL returned in the previous command.
|
||||
```bash
|
||||
kn service describe helloworld-python -o url
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
curl http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
Hello Python Sample v1!
|
||||
|
||||
# Even easier with kn:
|
||||
curl $(kn service describe helloworld-python -o url)
|
||||
http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
Now you can make a request to your app and see the result. Replace the following URL
|
||||
with the URL returned in the previous command.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
curl http://helloworld-python.default.1.2.3.4.sslip.io
|
||||
Hello Python Sample v1!
|
||||
|
||||
# Even easier with kn:
|
||||
curl $(kn service describe helloworld-python -o url)
|
||||
```
|
||||
|
||||
> Note: Add `-v` option to get more detail if the `curl` command failed.
|
||||
|
||||
## Removing
|
||||
|
||||
To remove the sample app from your cluster, delete the service record.
|
||||
|
||||
=== "kubectl"
|
||||
### kubectl
|
||||
|
||||
```bash
|
||||
kubectl delete --filename service.yaml
|
||||
```
|
||||
```bash
|
||||
kubectl delete --filename service.yaml
|
||||
```
|
||||
|
||||
=== "kn"
|
||||
### kn
|
||||
|
||||
```bash
|
||||
kn service delete helloworld-python
|
||||
```
|
||||
```bash
|
||||
kn service delete helloworld-python
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue