首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行istio-ingressgateway,获取就绪探测失败:连接被拒绝

无法运行istio-ingressgateway,获取就绪探测失败:连接被拒绝
EN

Stack Overflow用户
提问于 2021-11-03 14:34:39
回答 1查看 668关注 0票数 1

我部署istio失败,遇到了这个问题。当我尝试使用istioctl install --set profile=default -y部署istio时。输出如下:

代码语言:javascript
复制
➜  istio-1.11.4 istioctl install --set profile=default -y
✔ Istio core installed                                                                                                                                                                        
✔ Istiod installed                                                                                                                                                                            
✘ Ingress gateways encountered an error: failed to wait for resource: resources not ready after 5m0s: timed out waiting for the condition                                                     
  Deployment/istio-system/istio-ingressgateway (containers with unready status: [istio-proxy])
- Pruning removed resources                                                                                                                                                                   Error: failed to install manifests: errors occurred during operation

运行kubectl get pods -n=istio-system后,我发现istio-ingressgateway的pod已经创建,describe的结果是:

代码语言:javascript
复制
Events:
  Type     Reason     Age                     From               Message
  ----     ------     ----                    ----               -------
  Normal   Scheduled  4m36s                   default-scheduler  Successfully assigned istio-system/istio-ingressgateway-8dbb57f65-vc85p to k8s-slave
  Normal   Pulled     4m35s                   kubelet            Container image "docker.io/istio/proxyv2:1.11.4" already present on machine
  Normal   Created    4m35s                   kubelet            Created container istio-proxy
  Normal   Started    4m35s                   kubelet            Started container istio-proxy
  Warning  Unhealthy  3m56s (x22 over 4m34s)  kubelet            Readiness probe failed: Get "http://10.244.1.4:15021/healthz/ready": dial tcp 10.244.1.4:15021: connect: connection refused

我不能得到这个pod的日志:

代码语言:javascript
复制
➜  ~ kubectl logs pods/istio-ingressgateway-8dbb57f65-vc85p -n=istio-system
Error from server: Get "https://192.168.0.154:10250/containerLogs/istio-system/istio-ingressgateway-8dbb57f65-vc85p/istio-proxy": dial tcp 192.168.0.154:10250: i/o timeout

我在华为云中的两个VM上运行了所有这些命令,在ubuntu18.04中有一个2C8G主机和一个2C4G从主机。我已经重新安装了环境和kubernetes集群,但这没有帮助。

不带入口网关

我还尝试了只运行istiod的istioctl install --set profile=minimal -y。但是当我尝试在打开自动注入的情况下运行httpbin(kubectl apply -f samples/httpbin/httpbin.yaml)时,部署无法创建pod。

代码语言:javascript
复制
➜  istio-1.11.4 kubectl get deployment
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
httpbin   0/1     0            0           5m24s
➜  istio-1.11.4 kubectl describe deployment/httpbin 
...
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  6m6s  deployment-controller  Scaled up replica set httpbin-74fb669cc6 to 1

当我取消默认名称空间(kubectl label namespace default istio-injection-)的标签时,一切正常。

我希望部署istio ingressgateway并像istio-ingressgateway一样运行演示,但我不知道如何解决这种情况。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-11-04 08:38:37

我犯了个愚蠢的错误奥兹。

在与我的云提供商沟通后,我被告知我的云服务器有一个网络安全策略。奇怪的是,一台服务器具有完全访问权限,而另一台服务器具有部分访问权限(仅允许端口80、443等)。在我更改了策略之后,一切都很正常。

对于可能遇到类似问题的人,在谷歌上搜索了几个小时后,我发现所有这些问题似乎都伴随着网络问题,比如dns配置、k8s配置或服务器网络问题。正如howardjohn在这篇issue中所说的那样,这不是一个istio问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69826714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档