Skip to content

*: add health handler for grpcproxy self#12114

Merged
gyuho merged 2 commits intoetcd-io:masterfrom
tangcong:grpcproxy-healthcheck
Jul 10, 2020
Merged

*: add health handler for grpcproxy self#12114
gyuho merged 2 commits intoetcd-io:masterfrom
tangcong:grpcproxy-healthcheck

Conversation

@tangcong
Copy link
Copy Markdown
Contributor

@tangcong tangcong commented Jul 7, 2020

When grpcproxy hangs or is overloaded, the watch client will not receive any change event and cannot detect the proxy failure. We need a health check to remove the abnormal proxy in time.

@tangcong tangcong marked this pull request as draft July 7, 2020 17:24
Comment thread proxy/grpcproxy/health.go Outdated
Comment thread proxy/grpcproxy/health.go Outdated
@tangcong tangcong force-pushed the grpcproxy-healthcheck branch from 6b993e5 to eb4f8dc Compare July 10, 2020 17:06
@tangcong tangcong marked this pull request as ready for review July 10, 2020 17:07
@tangcong
Copy link
Copy Markdown
Contributor Author

grpcproxy may have a different certificate than etcd, now proxy/health works well when the user enables auto-tls, but i am not sure whether we should add the specified client certificate flags for the health check. proxy cert(grpcProxyListenCert) will be used as a client certificate in health check scenarios. the user-defined proxy certificate may cause the health check to time out. @gyuho

@gyuho
Copy link
Copy Markdown
Contributor

gyuho commented Jul 10, 2020

proxy cert(grpcProxyListenCert) will be used as a client certificate in health check scenarios

Think this is good for now.

@gyuho gyuho merged commit 07461ec into etcd-io:master Jul 10, 2020
@tangcong
Copy link
Copy Markdown
Contributor Author

proxy cert(grpcProxyListenCert) will be used as a client certificate in health check scenarios

Think this is good for now.

ok, thanks. I will follow the feedback from the community. If anyone meets the problem, one of the solutions is that cert usages can include client auth.

            "server": {
                "expiry": "2540400h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "server auth",
		    "client auth"
                ]
            },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants