Search code examples
dockerkubernetesknative-serving

knative service deployed fails with reason RevisionMissing when image is used from docker hub(public repository)


I'm trying to deploy a knative service in my local Kubernetes cluster (Docker Desktop for windows). I could create a knative service when I use images from the google cloud container registry (gcr.io/knative-samples/helloworld-go) but I'm facing an issue when I use images from the docker hub. Please note that I not using any private repository in the Docker registry.

The revision.serving will be in status unknown for the first 10 minutes and later changes to false with the reason ProgressDeadlineExceeded. The knative service fails with reason RevisionMissing. I have tried using the official hello-world image from docker hub and the response is the same. The issue is only when I'm using images from the docker official registry but now when GCR is used.

Below is the Kubernetes manifest file I used to create a knative service.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: **********
spec:
  template:
    metadata:
      # This is the name of our new "Revision," it must follow the convention {service-name}-{revision-name}
      name: *******-rev1
    spec:
      containers:
        - image: docker.io/*****/****:v1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 3007

screenshot of kubernetes resources

Note: I'm using knative-serving version 1.0 Edit: (I have hidden image name)

status of revision.serving


Solution

  • Finally, I resolved the issue by removing the ports session in the YAML file. If the container port is included, the application gets started in a container (I have verified the logs) but it never receives the traffic and fails with the ProgressDeadlineExceeded error.