-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
request help: A node in the K8S environment ETCD cluster died, causing Apisix to fail #3673
Comments
@Yiyiyimu will chaos mesh cover this? |
I'll make a test tomorrow |
Maybe we can enable this for APISIX: api7/lua-resty-etcd#109 |
@GBXing |
@Yiyiyimu |
@GBXing |
Hi @GBXing, I tried to reproduce the problem, and my reproduce steps are:
Is the error log the same with what you met |
@tokers service name is etcd,namespace is apisix, other nodes can be accessed normally |
@Yiyiyimu I may be using it in a wrong way, do I need to add any additional configuration in config.yaml for the health check of etcd? |
v3.lua:593: attempt to index field 'result' (a nil value)
is this a bug of apisix?
GBXing <notifications@github.com>于2021年2月28日 周日上午1:53写道:
@Yiyiyimu <https://github.com/Yiyiyimu> I may be using it in a wrong way,
do I need to add any additional configuration in config.yaml for the health
check of etcd?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3673 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGJZBK3SOBVUCYLPGTNIDETTBEWQRANCNFSM4YGKIJPA>
.
--
Thanks,
Ming Wen
Twitter: _WenMing
|
@moonming Yes, the etcd cluster outputs the exception log after the nodes are paused |
@Yiyiyimu I used docker locally to start the etcd cluster and Apisix and pause one of the etcd nodes, just like the k8s environment its my exception log:
and calling the admin api returns:
by printing the log I found that no health check for etcd was started and no health_check.init () method was called |
As per https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-hostname-and-subdomain-fields, the FQDN has |
Yes I do think so, we missed some test coverage, so no related error messages are prepared for this |
@GBXing Got it, the error log is the same. Could you also show your |
@Yiyiyimu I use version 2.2 of default-config.yaml, this is my config.yaml:
|
ping @Yiyiyimu |
any news? @Yiyiyimu |
Any news? We found the similar porblem, some of nodes (not all) found this error message, my etcd version is 3.4.13.
But admin api is ok provided by these nodes , and they can not recover forever |
@nanamikon will add PR to solve it this week |
Issue description
Deploy Apisix and ETCD using K8S, configure 3 ETCD nodes by domain name in the Apisix configuration file, one of the ETCD nodes died, resulting in an Apisix error, the log indicates that the ETCD node domain name cannot be resolved.Is resty.etcd unable to determine if the configured nodes are normal?What's the solution
Environment
apisix version
): 2.2uname -a
): CentOSnginx -V
oropenresty -V
): 1.19.3.1curl http://127.0.0.1:9090/v1/server_info
to get the info from server-info API): v3.4.0The text was updated successfully, but these errors were encountered: