我正在尝试在私有 GKE 集群上安装 Istio。我已下载 Istio 1.4.3 版本,然后应用了默认配置文件。但并非所有组件都从清单中安装。以下是错误日志。
$ istioctl manifest apply
This will install the default Istio profile into the cluster. Proceed? (y/N) y
- Applying manifest for component Base...
✔ Finished applying manifest for component Base.
- Applying manifest for component Pilot...
- Applying manifest for component Policy...
- Applying manifest for component Galley...
- Applying manifest for component Citadel...
- Applying manifest for component IngressGateway...
- Applying manifest for component Prometheus...
- Applying manifest for component Telemetry...
- Applying manifest for component Injector...
✘ Finished applying manifest for component Pilot.
✘ Finished applying manifest for component Telemetry.
✔ Finished applying manifest for component Prometheus.
✔ Finished applying manifest for component Citadel.
✔ Finished applying manifest for component Galley.
✔ Finished applying manifest for component Policy.
✔ Finished applying manifest for component Injector.
✔ Finished applying manifest for component IngressGateway.
Component Pilot - manifest apply returned the following errors:
Error: error running kubectl: signal: killed
Component Kiali - manifest apply returned the following errors:
Error: error running kubectl: exit status 1
Error detail:
Unable to connect to the server: dial tcp 192.168.0.2:443: i/o timeout (repeated 1 times)
apiVersion: v1
items: []
kind: List
metadata:
resourceVersion: ""
selfLink: ""
Component Grafana - manifest apply returned the following errors:
Error: error running kubectl: exit status 1
Error detail:
Unable to connect to the server: dial tcp 192.168.0.2:443: i/o timeout (repeated 1 times)
apiVersion: v1
items: []
kind: List
metadata:
resourceVersion: ""
selfLink: ""
Component Telemetry - manifest apply returned the following errors:
Error: error running kubectl: exit status 1
Error detail:
Unable to connect to the server: net/http: request canceled (Client.Timeout exceeded while awaiting headers) (repeated 1 times)
✘ Errors were logged during apply operation. Please check component installation logs above.
Failed to generate and apply manifests, error: errors were logged during apply operation
此外,任何示例应用程序(helloworld、bookinfo)均未创建入口网关。以下是错误:
$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
Error from server (Timeout): error when creating "samples/bookinfo/networking/bookinfo-gateway.yaml": Timeout: request did not complete within requested timeout 30s
Error from server (Timeout): error when creating "samples/bookinfo/networking/bookinfo-gateway.yaml": Timeout: request did not complete within requested timeout 30s
但是,我尝试按照指南在同一个私有集群上将 istio 与 GKE 一起使用这里
这有效,所有组件以及入口网关均已成功安装。我还在网络上启用了端口 80、8080、1000-2000、22、443、9443。有人能告诉我们导致此错误的原因是什么吗?
Kubernetes 版本:
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:14:22Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.12-gke.25", GitCommit:"654de8cac69f1fc5db6f2de0b88d6d027bc15828", GitTreeState:"clean", BuildDate:"2020-01-14T06:01:20Z", GoVersion:"go1.12.11b4", Compiler:"gc", Platform:"linux/amd64"}
Istio 版本:
client version: 1.4.3
control plane version: 1.4.3
data plane version: 1.4.3 (1 proxies)
平台:GKE
操作系统:Ubuntu
答案1
尝试在创建集群的同一网络上创建 Cloud NAT 路由器,然后重新创建集群。此后,尝试再次安装 Istio。
由于集群无法访问互联网,Istio 可能无法获取某些组件的镜像。