Open jacobbmay opened 1 week ago
Links:
https://docs.gitlab.com/ee/administration/gitaly/ general gitaly page
https://docs.gitlab.com/ee/administration/gitaly/kubernetes.html the k8s discussion, most of what's relevant - actually no, only relevant to general tuning, not to shards.
https://docs.gitlab.com/ee/administration/gitaly/gitaly_geo_capabilities.html#gitaly-capabilities has a reference to sharding. Sharding is a manual process.... This sounds sub-optimal for sure. Do we know we need sharding and not just replicated repo read/writers?
[ ] Address pod disruption
[ ] Address resource contention and saturation - variable insert whole resource blocks for easy manipulation, dito on labels/taints to make it easy to move Gitaly nodes elsewhere.
That is correct. "Enabled" in the ticket title meant enable configuring it in our bundle. Sharded gitaly is just deploying multiple separate instances of Gitaly so you can distribute repositories and the related API calls between them. The Gitaly chart has a value for defining multiple Gitaly instances that it should create. The manual steps would be in GitLab configuring the distribution of resources between the shards.
I believe it is the 'internal.names' value in the chart. It defaults to list containing a single value named 'default'. If we override it and pass multiple it should create a Gitaly instances per item in the list. The first one should be 'default' to enable deploying multiple as an upgrade. Guessing it won't like it if the name changes.
I thought I had included that in the item description but I guess I forgot to.
Gitaly cluster is still not supported in kubernetes. In order to support larger target user counts, we should investigate supporting configuring sharded Gitaly with our bundle as a compromise to not having Gitaly cluster.