Creating a Service¶
You can create a Knative service by applying a YAML file or using the
kn service create CLI command.
To create a Knative service, you will need:
- A Kubernetes cluster with Knative Serving installed. For more information, see Installing Knative Serving.
- Optional: To use the
kn service createcommand, you must install the
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:
Create a YAML file using the following example:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go namespace: default spec: template: spec: containers: - image: ghcr.io/knative/helloworld-go:latest env: - name: TARGET value: "Go Sample v1"
Apply the YAML file by running the command:Where
kubectl apply -f <filename>.yaml
<filename>is the name of the file you created in the previous step.
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.