当前位置:网站首页>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 .
边栏推荐
- The security market has entered a trillion era, and the security B2B online mall system has been accurately connected to deepen the enterprise development path
- 港股上市公司公告 API 数据接口
- A common defect management tool - Zen, which teaches you from installation to using the handle
- 常见的缺陷管理工具——禅道,从安装到使用手把手教会你
- Laravel 8 realizes auth login
- 【ansible问题处理】远程执行用户环境变量加载问题
- 业务与技术双向结合构建银行数据安全管理体系
- Concurrent writing of maps in golang
- MySQL title
- Is it safe to open an account in flush? What preparation is needed
猜你喜欢

He is also a junior test engineer. Why is his salary high? The interview must be brilliant at these points

港股上市公司公告 API 数据接口

MySQL log management, backup and recovery

Linux 安装 CenOS7 MySQL - 8.0.26

Keras深度学习实战(11)——可视化神经网络中间层输出
![[bitbear story collection] June MVP hero story | technology practice collision realm thinking](/img/b7/ca2f8cfb124e7c68da0293624911d1.png)
[bitbear story collection] June MVP hero story | technology practice collision realm thinking

不要小看了积分商城,它的作用可以很大

Port conflict handling method for tongweb

测试 H5 和小程序的区别,你真的知道吗?

List of PostgreSQL
随机推荐
Go language -init() function - package initialization
box-sizing
Oracle RAC configuration multipathing
Esp32 series -- comparison of esp32 series
入行 4 年,跳槽 2 次,我摸透了软件测试这一行
PgSQL queries the largest or smallest data of a field in a group
大智慧开户要选什么证券公司比较好,更安全一点
股票开户要找谁?在线开户安全么?
leetcode. 12 --- integer to Roman numeral
leetcode 139. Word break word split (medium)
动作捕捉系统用于地下隧道移动机器人定位与建图
Keras深度学习实战(11)——可视化神经网络中间层输出
Daily knowledge popularization
Left hand code, right hand open source, part of the open source road
Restoring to an earlier version in CVS
How to avoid placing duplicate orders
Redis consistency hash and hash slot
从pair到unordered_map,理论+leetcode题目实战
ES mapping之keyword;term查詢添加keyword查詢;更改mapping keyword類型
【ansible问题处理】远程执行用户环境变量加载问题