vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
What issue type does this pull request address? (keep at least one, remove the others)
/kind bugfix
What does this pull request do? Which issues does it resolve? (use resolves #<issue_number> if possible)
resolves ENG-4551
Please provide a short message that should be published in the vcluster release notes
Make it possible to create virtual clusters with digits only name
What else do we need to know?
In order to be able to create virtual clusters with a digits-only name we have to change the way how we create services based on the name. Previously we just used the name verbatim which in case of pure digits violates the DNS-1035 naming convention for service names used by Kubernetes.
It turned out this change cannot only be made to our helm templates as there have been several places in the code base that implicitly rely on services being named like the virtual cluster itself. I hope I found all the places and adjusted them to rely on the service name directly.
The change should be backwards compatible as the vc- prefix is only prepended to the name when the vcluster name consists of digits only (thx @ThomasK33). So if users already have virtual clusters running with a regular name (e.g. "foo") the service's name will remain "foo" as well.
What issue type does this pull request address? (keep at least one, remove the others) /kind bugfix
What does this pull request do? Which issues does it resolve? (use
resolves #<issue_number>
if possible) resolves ENG-4551Please provide a short message that should be published in the vcluster release notes Make it possible to create virtual clusters with digits only name
What else do we need to know? In order to be able to create virtual clusters with a digits-only name we have to change the way how we create services based on the name. Previously we just used the name verbatim which in case of pure digits violates the DNS-1035 naming convention for service names used by Kubernetes. It turned out this change cannot only be made to our helm templates as there have been several places in the code base that implicitly rely on services being named like the virtual cluster itself. I hope I found all the places and adjusted them to rely on the service name directly. The change should be backwards compatible as the
vc-
prefix is only prepended to the name when the vcluster name consists of digits only (thx @ThomasK33). So if users already have virtual clusters running with a regular name (e.g. "foo") the service's name will remain "foo" as well.TODO after merge