-
Notifications
You must be signed in to change notification settings - Fork 332
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
distributed: major refactoring, use common templates #1520
base: master
Are you sure you want to change the base?
Conversation
25855ca
to
8426568
Compare
8426568
to
d4bc969
Compare
- `vmauthIngestGlobal` was changed to `write.global.vmauth` | ||
- `vmauthQueryGlobal` was changed to `read.global.vmauth` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about moving them into .global
as global.vmauthIngest
and global.vmauthQuery
?
Since there shouldn't be other fields under write.global
or global.write
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
global
section in helm is special one, it's shared across all charts in release
charts/victoria-metrics-distributed/templates/per-az/vmagent.yaml
Outdated
Show resolved
Hide resolved
- | ||
# -- Availability zone name | ||
name: zone-eu-1 | ||
common: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think components shouldn't share other spec
except nodeSelector/affinitytopologySpreadConstraints, which could lead to misuse and it's better to not lead to that way.
How about changing this as a plain commonSpec
instead of having common.spec
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
common.spec
allows having then common.annotations
and common.labels
# Available parameters can be found [here](https://docs.victoriametrics.com/operator/api/index.html#vmagentspec) | ||
spec: | ||
remoteWriteSettings: | ||
useMultiTenantMode: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's better to not set useMultiTenantMode=true
by default, since it degrades vmagent performance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated this
vminsert: | ||
serviceSpec: | ||
spec: | ||
clusterIP: None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason for this setting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was hardcoded in templates, looks like it's needed to provide to vmauth pod ips and move balancing to vmauth
charts/victoria-metrics-distributed/templates/per-az/vmauth-read-proxy.yaml
Show resolved
Hide resolved
whenUnsatisfiable: ScheduleAnyway | ||
write: | ||
# -- Allow data ingestion to this zone | ||
allow: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about unifying them to enable
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enable
is for resource creation and allow
is for traffic routing
73a18e9
to
56f579b
Compare
56f579b
to
6bb6387
Compare
b5e19ff
to
dcc3720
Compare
dcc3720
to
3c05054
Compare
common.<component>.spec
, which is merged with all*.<component>.spec
, e.g:common.vmagent.spec
is merged withavailabilityZones[1].vmagent.spec
vmauthIngestGlobal
was changed towrite.global.vmauth
vmauthQueryGlobal
was changed toread.global.vmauth
availabilityZones[*].allowIngest
was changed toavailabilityZones[*].write.allow
availabilityZones[*].allowRead
was changed toavailabilityZones[*].read.allow
availabilityZones[*].nodeSelector
was moved toavailabilityZones[*].common.spec.nodeSelector
availabilityZones[*].extraAffinity
was moved toavailabilityZones[*].common.spec.affinity
availabilityZones[*].topologySpreadConstraints
was moved toavailabilityZones[*].common.spec.topologySpreadConstraints
availabilityZones[*].vmauthIngest
was moved toavailabilityZones[*].write.vmauth
availabilityZones[*].vmauthQueryPerZone
was moved toavailabilityZones[*].read.perZone.vmauth
availabilityZones[*].vmauthCrossAZQuery
was moved toavailabilityZones[*].read.crossZone.vmauth