1

我正在尝试在 GKE 上使用 cert-manager 运行 helloworld-go 示例。
我安装了没有 sidecar 注入的 Istio、cert-manager 0.11 并设置了 Auto 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 的情况下在内部访问。

4

1 回答 1

1

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

还要确保使用 cert-manager 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```
于 2019-11-27T00:52:42.347 回答