Creating a Service

You can create a Knative service by applying a YAML file or using the kn service create CLI command.

Prerequisites

To create a Knative service, you will need:

Procedure

Tip

The following commands create a helloworld-go sample service. You can modify these commands, including the container image URL, to deploy your own application as a Knative service.

Create a sample service:

Apply YAMLkn CLI

  1. Create a YAML file using the following example:

    1. apiVersion: serving.knative.dev/v1
    2. kind: Service
    3. metadata:
    4. name: helloworld-go
    5. namespace: default
    6. spec:
    7. template:
    8. spec:
    9. containers:
    10. - image: ghcr.io/knative/helloworld-go:latest
    11. env:
    12. - name: TARGET
    13. value: "Go Sample v1"
  2. Apply the YAML file by running the command:

    1. kubectl apply -f <filename>.yaml

    Where <filename> is the name of the file you created in the previous step.

  1. kn service create helloworld-go --image ghcr.io/knative/helloworld-go:latest

After the service has been created, Knative performs the following tasks:

  • Creates a new immutable revision for this version of the app.
  • Performs network programming to create a route, ingress, service, and load balancer for your app.
  • Automatically scales your pods up and down based on traffic, including to zero active pods.