DirectorySecurity AdvisoriesPricing
Sign inRequest a trial
Directory
knative-serving-autoscaler logo

knative-serving-autoscaler

Last changed

Request a free trial

Contact our team to test out this image for free. Please also indicate any other images you would like to evaluate.

Request trial
Tags
Overview
Comparison
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Chainguard Container for knative-serving

Knative Serving builds on Kubernetes to support deploying and serving of applications and functions as serverless containers.

Chainguard Containers are regularly-updated, secure-by-default container images.

Download this Container Image

For those with access, this container image is available on cgr.dev:

docker pull cgr.dev/ORGANIZATION/knative-serving:latest

Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard Registry.

Compatibility Notes

Knative Serving is comprised of multiple images:

  • cgr.dev/ORGANIZATION/knative-serving-activator
  • cgr.dev/ORGANIZATION/knative-serving-autoscaler
  • cgr.dev/ORGANIZATION/knative-serving-controller
  • cgr.dev/ORGANIZATION/knative-serving-webhook
  • cgr.dev/ORGANIZATION/knative-serving-queue

Chainguard's Knative Serving images are comparable to the official Knative Serving images:

However, the Chainguard images do not run as the root user and contain only the minimum set of tools and dependencies needed to function. This means they do not include utilities such as a shell or a package manager.

Getting Started

There are multiple ways of deploying Knative Serving. One option is to use the official Knative Operator and the other is to deploy it via CRDs.

Deployment using the Knative Operator

To get started, deploy the operator:

helm repo add knative-operator https://knative.github.io/operator
helm repo update
helm install knative-operator knative-operator/knative-operator --namespace knative-operator --create-namespace

Then substitute the upstream Knative Serving images with Chainguard's images:

# This uses kourier for ingress
cat <<EOF | kubectl apply -f -
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
  name: knative-serving
  namespace: knative-serving
spec:
  ingress:
    kourier:
      enabled: true
  config:
    network:
      ingress-class: "kourier.ingress.networking.knative.dev"
  registry:
    override:
      activator: "cgr.dev/ORGANIZATION/knative-serving-activator"
      autoscaler: "cgr.dev/ORGANIZATION/knative-serving-autoscaler"
      controller: "cgr.dev/ORGANIZATION/knative-serving-controller"
      webhook: "cgr.dev/ORGANIZATION/knative-serving-webhook"
      autoscaler-hpa: gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler-hpa:latest
      queue-proxy: "cgr.dev/ORGANIZATION/knative-serving-queue"
      net-kourier-controller/controller: gcr.io/knative-releases/knative.dev/net-kourier/cmd/kourier:latest
      3scale-kourier-gateway/kourier-gateway: docker.io/envoyproxy/envoy:v<KUBERNETES VERSION>-latest
EOF
kubectl wait --namespace knative-serving knativeserving knative-serving --for=condition=Ready --timeout=10m

Once Knative Serving has been deployed successfully, you can deploy your first Knative service using kn:

NOTE: The kn CLI tool must be installed to deploy Knative services. Please refer to kn's installation documentation.

kn service create hello \
  --image ghcr.io/knative/helloworld-go:latest \
  --port 8080 \
  --env TARGET=World

You can use the following command to retrieve the URL of the deployed service:

URL=$(kn service describe hello -ojson | jq -r '.status.url')

To validate the service is working, curl it:

curl $URL

You will now see the following output:

Hello World!

You are now up and running with Chainguard's Knative Serving images!

Documentation and Resources

What are Chainguard Containers?

Chainguard Containers are minimal container images that are secure by default.

In many cases, the Chainguard Containers tagged as :latest contain only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager. Chainguard Containers are built with Wolfi, our Linux undistro designed to produce container images that meet the requirements of a more secure software supply chain.

The main features of Chainguard Containers include:

For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a -dev variant.

Although the -dev container image variants have similar security features as their more minimal versions, they feature additional software that is typically not necessary in production environments. We recommend using multi-stage builds to leverage the -dev variants, copying application artifacts into a final minimal container that offers a reduced attack surface that won’t allow package installations or logins.

Learn More

To better understand how to work with Chainguard Containers, please visit Chainguard Academy and Chainguard Courses.

In addition to Containers, Chainguard offers VMs and Libraries. Contact Chainguard to access additional products.

Trademarks

This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.

Licenses

Chainguard container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:

  • Apache-2.0

  • CC-PDDC

  • LGPL-2.1-or-later

  • MIT

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Category
application

Safe Source for Open Sourceâ„¢
Contact us
© 2025 Chainguard. All Rights Reserved.
Private PolicyTerms of Use

Chainguard ContainersChainguard LibrariesChainguard VMs