我正在尝试在GKE上使用cert-manager运行helloworld-go示例。
我安装了Istio,没有安装sidecar注入(inject),cert-manager 0.11,并设置了自动SSL和DNS。
当我运行kubectl get ksvc时,它显示IngressNotConfigured。知道为什么吗?

$ kubectl get ksvc
NAME            URL                                           LATESTCREATED         LATESTREADY           READY     REASON
helloworld-go   https://helloworld-go.default.redhost.cloud   helloworld-go-mc27h   helloworld-go-mc27h   Unknown   IngressNotConfigured
$ kubectl describe ksvc helloworld-go
Status:
  Address:
    URL:  http://helloworld-go.default.svc.cluster.local
  Conditions:
    Last Transition Time:        2019-11-26T15:19:51Z
    Status:                      True
    Type:                        ConfigurationsReady
    Last Transition Time:        2019-11-26T15:31:25Z
    Message:                     Ingress has not yet been reconciled.
    Reason:                      IngressNotConfigured
    Status:                      Unknown
    Type:                        Ready
    Last Transition Time:        2019-11-26T15:31:25Z
    Message:                     Ingress has not yet been reconciled.
    Reason:                      IngressNotConfigured
    Status:                      Unknown
    Type:                        RoutesReady
  Latest Created Revision Name:  helloworld-go-mc27h
  Latest Ready Revision Name:    helloworld-go-mc27h
  Observed Generation:           1
  Traffic:
    Latest Revision:  true
    Percent:          100
    Revision Name:    helloworld-go-mc27h
  URL:                https://helloworld-go.default.redhost.cloud
Events:
  Type    Reason   Age                From                Message
  ----    ------   ----               ----                -------
  Normal  Created  23m                service-controller  Created Configuration "helloworld-go"
  Normal  Created  23m                service-controller  Created Route "helloworld-go"
  Normal  Updated  11m (x7 over 23m)  service-controller  Updated Service "helloworld-go"

添加标签serving.knative.dev/visibility=cluster-local可以解决问题,但是只有内部使用SSL才能访问。

最佳答案

问题是我安装了常规的Istio,您特别需要在SDS中安装Istio。
https://knative.dev/docs/serving/using-auto-tls/

另外,请确保使用证书管理器0.10.0,因为当前不支持0.11.0。
https://github.com/knative/serving/issues/6011

一旦我做完这些,一切都会起作用:

NAME            URL                                           LATESTCREATED         LATESTREADY           READY   REASON
helloworld-go   https://helloworld-go.default.redhost.cloud   helloworld-go-mc27h   helloworld-go-mc27h   True```

关于kubernetes - 具有cert-manager的Knative(GKE)上的示例应用程序 “helloworld-go”的状态为IngressNotConfigured,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59054617/

10-16 08:07