我正在尝试将 Knative 与大使一起使用。按照以下步骤安装 Knative,
安装 Knative
kubectl apply --filename https://github.com/knative/serving/releases/download/v0.13.0/serving-crds.yaml
kubectl apply --filename https://github.com/knative/serving/releases/download/v0.13.0/serving-core.yaml
配置大使,
kubectl set env --namespace ambassador deployments/ambassador AMBASSADOR_KNATIVE_SUPPORT=true
配置 Knative 使用 ambassdor 作为入口,
kubectl patch configmap/config-network --namespace knative-serving --type merge --patch '{"data":"ingress.class":"ambassador.ingress.networking.knative.dev"}}'
我已经在“ambassador-ns”命名空间下安装了大使。它工作正常。
部署 hello world 应用程序,
apiVersion: serving.knative.dev/v1 # Current version of Knative
kind: Service
metadata:
name: helloworld-go # The name of the app
namespace: default # The namespace the app will use
spec:
template:
spec:
containers:
- image: gcr.io/knative-samples/helloworld-go # The URL to the image of the app
env:
- name: TARGET # The environment variable printed out by the sample app
value: "Go Sample v1"
当我检查 ksvc 的状态时,
NAME URL LATESTCREATED LATESTREADY READY REASON
helloworld-go http://helloworld-go.default.example.com helloworld-go-6794c helloworld-go-6794c Unknown IngressNotConfigured
Knative 控制器日志
{"level":"info","ts":"2020-03-25T09:54:43.255Z","logger":"controller.route-controller","caller":"route/route.go:125","msg":"Updating targeted revisions.","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"info","ts":"2020-03-25T09:54:43.255Z","logger":"controller.route-controller","caller":"route/route.go:139","msg":"Creating placeholder k8s services","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"info","ts":"2020-03-25T09:54:43.275Z","logger":"controller.serverlessservice-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 51.103056ms.","commit":"804b3bb","knative.dev/controller":"serverlessservice-controller","knative.dev/traceid":"240b98b2-337a-442a-b9f3-b7900a56ddd8","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"error","ts":"2020-03-25T09:54:43.275Z","logger":"controller.revision-controller","caller":"revision/reconciler.go:190","msg":"returned an error","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"fe1694e1-576d-4cd5-9bbb-e97ee6d89a1c","knative.dev/key":"default/helloworld-go-6794c","targetMethod":"ReconcileKind","error":"failed to update deployment \"helloworld-go-6794c-deployment\": Operation cannot be fulfilled on deployments.apps \"helloworld-go-6794c-deployment\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"knative.dev/serving/pkg/client/injection/reconciler/serving/v1/revision.(*reconcilerImpl).Reconcile\n\tknative.dev/serving/pkg/client/injection/reconciler/serving/v1/revision/reconciler.go:190\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:394\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).Run.func2\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:343"}
{"level":"error","ts":"2020-03-25T09:54:43.275Z","logger":"controller.revision-controller","caller":"controller/controller.go:409","msg":"Reconcile error","commit":"804b3bb","knative.dev/controller":"revision-controller","error":"failed to update deployment \"helloworld-go-6794c-deployment\": Operation cannot be fulfilled on deployments.apps \"helloworld-go-6794c-deployment\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"knative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).handleErr\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:409\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:395\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).Run.func2\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:343"}
{"level":"info","ts":"2020-03-25T09:54:43.276Z","logger":"controller.revision-controller","caller":"controller/controller.go:396","msg":"Reconcile failed. Time taken: 23.651364ms.","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"fe1694e1-576d-4cd5-9bbb-e97ee6d89a1c","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.276Z","logger":"controller.revision-controller.event-broadcaster","caller":"record/event.go:274","msg":"Event(v1.ObjectReference{Kind:\"Revision\", Namespace:\"default\", Name:\"helloworld-go-6794c\", UID:\"541cb07f-b8b2-4943-b9d8-a40c1cca8058\", APIVersion:\"serving.knative.dev/v1\", ResourceVersion:\"8558492\", FieldPath:\"\"}): type: 'Warning' reason: 'InternalError' failed to update deployment \"helloworld-go-6794c-deployment\": Operation cannot be fulfilled on deployments.apps \"helloworld-go-6794c-deployment\": the object has been modified; please apply your changes to the latest version and try again","commit":"804b3bb","knative.dev/controller":"revision-controller"}
{"level":"info","ts":"2020-03-25T09:54:43.277Z","logger":"controller.serverlessservice-controller","caller":"serverlessservice/serverlessservice.go:209","msg":"Endpoints helloworld-go-6794c has no ready endpoints","commit":"804b3bb","knative.dev/controller":"serverlessservice-controller","knative.dev/traceid":"71367ff7-4c31-4c20-aff3-5bc7afd7b652","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.277Z","logger":"controller.serverlessservice-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 1.982714ms.","commit":"804b3bb","knative.dev/controller":"serverlessservice-controller","knative.dev/traceid":"71367ff7-4c31-4c20-aff3-5bc7afd7b652","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.283Z","logger":"controller.revision-controller","caller":"revision/reconcile_resources.go:135","msg":"Reconciling PA: helloworld-go-6794c","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"5b724298-8fd8-4c5d-8cd2-630de6d4c211","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.283Z","logger":"controller.revision-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 7.477253ms.","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"5b724298-8fd8-4c5d-8cd2-630de6d4c211","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.292Z","logger":"controller.revision-controller","caller":"revision/reconcile_resources.go:135","msg":"Reconciling PA: helloworld-go-6794c","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"dc621289-1c4c-4d7b-a56f-b07354a8b713","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.292Z","logger":"controller.revision-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 8.72266ms.","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"dc621289-1c4c-4d7b-a56f-b07354a8b713","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.352Z","logger":"controller.route-controller","caller":"route/route.go:163","msg":"Updating placeholder k8s services with ingress information","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"warn","ts":"2020-03-25T09:54:43.352Z","logger":"controller.route-controller","caller":"route/reconcile_resources.go:159","msg":"Failed to update k8s service: failed to fetch loadbalancer domain/IP from ingress status","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"info","ts":"2020-03-25T09:54:43.352Z","logger":"controller.route-controller","caller":"route/route.go:169","msg":"Route successfully synced","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"info","ts":"2020-03-25T09:54:43.352Z","logger":"controller.route-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 97.72538ms.","commit":"804b3bb","knative.dev/controller":"route-controller","knative.dev/traceid":"65e30cd6-9192-4eac-9d8f-a7f5e8bfa554","knative.dev/key":"default/helloworld-go"}
{"level":"info","ts":"2020-03-25T09:54:43.360Z","logger":"controller.revision-controller","caller":"revision/reconcile_resources.go:135","msg":"Reconciling PA: helloworld-go-6794c","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"b198d7b8-f2d9-46a0-80d5-4f43e7ddf340","knative.dev/key":"default/helloworld-go-6794c"}
{"level":"info","ts":"2020-03-25T09:54:43.361Z","logger":"controller.revision-controller","caller":"controller/controller.go:403","msg":"Reconcile succeeded. Time taken: 10.355072ms.","commit":"804b3bb","knative.dev/controller":"revision-controller","knative.dev/traceid":"b198d7b8-f2d9-46a0-80d5-4f43e7ddf340","knative.dev/key":"default/helloworld-go-6794c"}
你能告诉我我做错了什么吗?