-
Notifications
You must be signed in to change notification settings - Fork 911
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
Can l force karmada-agent to use HTTP/1.1 ? #6058
Comments
I can see there are two errors saying that the object has been modified, I can't see anything about the the HTTP protocol. The agent controller will retry the updation until it succeeds. No worries. |
I analyze this problem by checking a network device logs instead of the agent logs. When the request protocol recorded by the network device is HTTP2.0, everything is normal, but if it is HTTP1.1, a large number of PUT request 409 errors will appear (corresponding to the And the biggest problem is that the agent cannot synchronize changes on the karmada apiserver in time. For example, I created a namespace on karmada, and the corresponding work was successfully created, but it took 5-30 minutes to create the namespace on the member cluster. All the work of this member cluster cannot be obtained by the agent normally, and the work status cannot be updated normally. This problem only not occur in a very short time after the agent is restarted. During the entire problem phase, karmada did not provide any valid errors or actions. So I think disabling http2 might solve my problem? I think it's a network-caused issue, so I don't know if karmada should support this. |
It depends on whether it is based on a real-world use case, if it's a common case, etc.
We need more detailed information. |
I think the agent should be robust and adaptable to different network requirements. In my use case, network traffic needs to be forwarded by 7-layer nginx and inspected by 7-layer security devices, which leads to the protocol change from http2 to 1.1. The agent may be deployed to various remote environments, otherwise there is no reason to use pull mode. Anyway, in this case where the agent is almost unavailable, the member cluster status is still READY, and the agent does not automatically restart or report an error. I think this needs to be resolved. |
I can provide an nginx configuration to simulate my current situation.
|
Please provide an in-depth description of the question you have:
Can I force karmada-agent to connect to karmada apiserver via HTTP/1.1 instead of HTTP/2.0? In some strict production environments or through complex network devices, h2 protocol is not supported. Can karmada-agent support this?
What do you think about this question?:
I think karmada-agent does not provide relevant configuration options, so I modified the code. I added something like "clusterConfig.TLSClientConfig.NextProtos = []string{"http/1.1"}", but it doesn't seem to work. Error log after forced protocol conversion.
Environment:
The text was updated successfully, but these errors were encountered: