-
Notifications
You must be signed in to change notification settings - Fork 7.7k
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
Virtual machine Locality Load Balancing #45413
Comments
For WorkloadEntry how |
No, it's not what I set up. It's the label added by istiod when the proxy establishes a connection with istiod。 |
But we where is |
I am Created a label for |
IC, That's what i meant |
Sorry, then How to add a locality label when using virtual machine access and Locality Load Balancing . |
There is another way: you can declare locality within workloadEntry. The issue you reported should be fixed though |
We are using automatic registration workloadEntry; |
got it, then I must fix it |
From the code, it can be seen that
|
@wenfengLee-24 can you test this patch |
Okay, I'll notify you after the test is completed |
There were no issues with the test, and we can register workloadEntry. @hzxuzhonghu But will deleting this label |
No, we donot use labels from WLE |
Okay, thank you . |
Is this the right place to submit this?
Bug Description
When the virtual machine connects to the istiod, if Locality Load Balancing is used, the istiod will create a label of "istio-locality: region/zone" in the node labels when the proxy establishes a connection with the istiod. However, when the instance automatically registers and goes online, this label will be added to the workloadEntry, but it will trigger the label verification of the workloadEntry, indicating that the value is illegal, causing the creation of the workloadEntry to fail. Because value cannot contain ‘/‘.
Add labels for the agent code :
release-1.17.2-patch/pkg/bootstrap/config.go
var l *core.Locality if meta.Labels[model.LocalityLabel] == "" && options.Platform != nil { // The locality string was not set, try to get locality from platform l = options.Platform.Locality() } else { // replace "." with "/" localityString := model.GetLocalityLabelOrDefault(meta.Labels[model.LocalityLabel], "") if localityString != "" { // override the label with the sanitized value meta.Labels[model.LocalityLabel] = localityString } l = util.ConvertLocality(localityString) }
Verify the labels of the workloadEntry :
release-1.17.2-patch/pkg/config/validation/validation.go :
`func validateWorkloadEntry(we *networking.WorkloadEntry) (Warning, error) {
addr := we.Address
if addr == "" {
return nil, fmt.Errorf("address must be set")
}
}`
Version
Additional Information
No response
Affected product area
The text was updated successfully, but these errors were encountered: