当前位置:网站首页>Istio Troubleshooting: using istio to reserve ports causes pod startup failure
Istio Troubleshooting: using istio to reserve ports causes pod startup failure
2022-06-24 15:10:00 【imroc】
This article excerpts from istio Learning notes
Problem phenomenon
All newly started Pod unable ready,sidecar Report errors :
warning envoy config gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) 0.0.0.0_15090: error adding listener: '0.0.0.0_15090' has duplicate address '0.0.0.0:15090' as existing listener
meanwhile istiod Also reported wrong :
ADS:LDS: ACK ERROR sidecar~172.18.0.185~reviews-v1-7d46f9dd-w5k8q.istio-test~istio-test.svc.cluster.local-20847 Internal:Error adding/updating listener(s) 0.0.0.0_15090: error adding listener: '0.0.0.0_15090' has duplicate address '0.0.0.0:15090' as existing listener
guess
Reading the newspaper wrong should be sidecar Get... At startup LDS The rules ,istiod Find out 0.0.0.0:15090 This monitor is repeated , It is an abnormal phenomenon , Send out xDS The rules will fail , Lead to sidecar It's never been possible ready.
analysis config_dump
Just find a normal that hasn't been restarted yet Pod, to glance at envoy config_dump:
kubectl exec debug-68b799694-n9q66 -c istio-proxy -- curl localhost:15000/config_dump
analysis json Find out static There is listening in the configuration 0.0.0.0:15090:
Positioning reason
Guess it is dynamic Also in the configuration 0.0.0.0:15090 The conflict caused by monitoring , and dynamic The listening source in is usually Kubernetes Service discovery of (Service, ServiceEntry), Check if there is Service monitor 15090:
kubectl get service --all-namespaces -o yaml | grep 15090
Finally, it was found that Service Yes 15090 port , Change to another port to recover .
Dig deep
Search for , You can find 15090 The port is istio Used to expose envoy prometheus The port of the indicator , yes envoy One of the ports used :
Reference resources Ports used by Istio .
But not all envoy All ports used are added to static Listening in configuration , Only 15090 and 15021 These two ports are static There is listening in the configuration , Also verified. Service Use 15021 Ports have the same problem .
Service Use others envoy The port of does not cause sidecar No ready The problem of , But at least make sure that the business program can not listen to these ports , Because I will follow envoy Conflict ,istio The official website also explains this : To avoid port conflicts with sidecars, applications should not use any of the ports used by Envoy.
Use advice
According to the above analysis , The following suggestions are made :
- Service/ServiceEntry Don't define 15090 and 15021 port , Otherwise it will lead to Pod Failed to start successfully .
- Business processes cannot listen envoy All ports used : 15000, 15001, 15006, 15008, 15020, 15021, 15090 .
边栏推荐
- R language constructs regression model diagnosis (normality is invalid), performs variable transformation, and uses powertransform function in car package to perform box Cox transform to normality on
- 动作捕捉系统用于地下隧道移动机器人定位与建图
- Restoring to an earlier version in CVS
- golang中Map的并发写入
- Is it safe to open an account for stock speculation in the top ten securities app rankings in China
- MySQL log management, backup and recovery
- Keras深度学习实战(11)——可视化神经网络中间层输出
- Linux 安装 CenOS7 MySQL - 8.0.26
- [bitbear story collection] June MVP hero story | technology practice collision realm thinking
- Go language -init() function - package initialization
猜你喜欢

成功解决:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versi

Method after charging the idea plug-in material theme UI

Defeat the binary tree!

STM32F1与STM32CubeIDE编程实例-WS2812B全彩LED驱动(基于SPI+DMA)

Keyword of ES mapping; Term query add keyword query; Change mapping keyword type

Application of motion capture system in positioning and mapping of mobile robot in underground tunnel

作为一名开发者,对你影响最深的书籍是哪一本?

Laravel8 uses faker to call factory to fill data

As a developer, what is the most influential book for you?

不要小看了积分商城,它的作用可以很大
随机推荐
第八章 操作位和位串(四)
15 differences between MES in process and discrete manufacturing enterprises (Part 2)
openinstall携手书链:助力渠道数据分析,共创书联网时代
09_一种比较高效的记忆方法
Daily knowledge popularization
Port conflict handling method for tongweb
postgresql之List
探索云原生数据库,纵观未来科技发展
postgresql之词法分析简介
Explore cloud native databases and take a broad view of future technological development
box-sizing
Keyword of ES mapping; Term query add keyword query; Change mapping keyword type
List of PostgreSQL
Bert-whitening 向量降维及使用
R language plot visualization: the visualization model creates a grid in the classification contour (contour) and meshgrid of the entire data space, in which the distance between each point is determi
How to implement redis cache of highly paid programmers & interview questions series 115? How do I find a hot key? What are the possible problems with caching?
怎样评价国产报表工具和BI软件
[environment setup] zip volume compression
10_ Those high-profile personal signatures
In the eyes of the universe, how to correctly care about counting East and West?