Knative Serving

Install serving

kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.18.0/serving-crds.yaml
kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.18.0/serving-core.yaml
kubectl apply -f https://github.com/knative/net-kourier/releases/download/knative-v1.18.0/kourier.yaml

kubectl patch configmap/config-network \
  --namespace knative-serving \
  --type merge \
  --patch '{"data":{"ingress-class":"kourier.ingress.networking.knative.dev"}}'

Verify:

$ kubectl get pods -n knative-serving
NAME                                      READY   STATUS    RESTARTS   AGE
activator-cbf5b6b55-wbmf2                 1/1     Running   0          3m7s
autoscaler-c5d454c88-5zncq                1/1     Running   0          3m7s
controller-84f96b7676-p26gh               1/1     Running   0          3m7s
net-kourier-controller-5bf7f49cc8-5dc9r   1/1     Running   0          2m44s
webhook-75d4fb6db5-cmvjl                  1/1     Running   0          3m7s

verify kourier:

$ kubectl --namespace kourier-system get service kourier
NAME      TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
kourier   LoadBalancer   10.106.110.17   <pending>     80:30288/TCP,443:32450/TCP   3m53s

Configure DNS

kubectl patch configmap/config-domain \
  --namespace knative-serving \
  --type merge \
  --patch '{"data":{"api.quillgen.com":""}}'

Install eventing

kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.18.0/eventing-crds.yaml
kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.18.0/eventing-core.yaml
$ kubectl get pods -n knative-eventing
NAME                                   READY   STATUS    RESTARTS   AGE
eventing-controller-674c57ddb7-wrt4h   1/1     Running   0          9m25s
eventing-webhook-6d86554d4d-v5r5t      1/1     Running   0          9m25s
job-sink-5fdf4b8c5c-gjlts              1/1     Running   0          9m25s