我使用istio-auth.yaml在Google Kubernetes Engine上使用Istio 0.8.0创建了一个集群 .
我完全按照本教程:https://istio.io/docs/tasks/traffic-management/egress/ .
Ingress工作,我有https工作到我的所有路线和pods,但我的容器无法与外部世界通信 .
如果我在没有启用边车注入的命名空间中部署睡眠应用程序(教程中使用的应用程序),那么卷曲就可以了 . 到任何路线 .
我试过添加 resolution:DNS
, resolution:NONE
, location: MESH_EXTERNAL
. 我已尝试添加目标规则以在出口网关上禁用TLS,如本期所示:https://github.com/istio/istio/issues/7140
以下是其文档中显示的服务条目 .
apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: google-ext spec: hosts: - www.google.com ports: - number: 443 name: https protocol: HTTPS
这是我运行以执行睡眠容器,运行curl和结果的命令:
$ export SOURCE_POD=$(kubectl get pod -l app=sleep -o jsonpath={.items..metadata.name}) && kubectl exec -it $SOURCE_POD -c sleep -- curl h ttps://www.google.com curl: (35) Unknown SSL protocol error in connection to google.com:443 command terminated with exit code 35
如果有人有任何建议或想法,我非常愿意尝试任何一个 .
如果您还需要更多信息,我很乐意提供 .
$ istioctl version Version: 0.8.0 GitRevision: 6f9f420f0c7119ff4fa6a1966a6f6d89b1b4db84 User: root@48d5ddfd72da Hub: docker.io/istio GolangVersion: go1.10.1 BuildStatus: Clean
$ kubectl version Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T10:09:24Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"windows/amd64"} Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.4-gke.2", GitCommit:"eb2e43842aaa21d6f0bb65d6adf5a84bbdc62eaf", GitTreeState:"clean", BuildDate:"2018-06-15T21:48:39Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}
1 回答
我刚刚检查了你用Istio 0.8.0编写的ServiceEntry,使用auth,它对我有用 . 请注意,服务条目定义可能需要几秒钟才能传播,所以我会等待30秒再试一次 .