-
Notifications
You must be signed in to change notification settings - Fork 66
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
Tenant cluster loadbalancer service is hardcoded to ClusterIP type #64
Comments
For now, to address the immediate issue, we can just expose the service type as a field on
|
My two cents: do we want to expose load balancer service spec as a whole in KubevirtCluster?
example logic
will a simple service be sufficient for tenant cluster load balancing, or a more advanced implementation for load balancer is warranted?
|
There is one more issue we need address in order to support separate mgmt and workload cluster is to create VM service for each VirtualMachine and expose service as Loadbalancer and then return LB external IP instead of VM IP address to kubevirt cluster api, because mgmt cluster need to SSH into each VM to validate VM state to see if they're ready to join Kubernetes cluster but VM IP only visible within cluster, otherwise, capk-controller-manager may continuously complain "Waiting for underlying VM to bootstrap..." example yaml for VMI service should looks like this
|
@kewang-equinix that's a good point.
having a load-balancer service for each tenant cluster VM is quite demanding in terms of underlying resources, and we might consider removing SSH requirement for the nodes running in external clusters ... or removing SSH-validation path altogether in the long run regardless of where a tenant cluster is provisioned. the assumption being if a VMI is in ready condition, and has an IP, it is ready for the cluster. |
for now, let's limit the scope of this issue to tenant cluster loadbalancer only, |
@agradouski is actively working on this. |
@agradouski I agree with you on enable LB service for each VM is too much in most of scenario, and also I support the idea of disable SSH validation as it doesn't provide too much benefit as per currently implementation. |
@wangxin311 I think kubevirt offers a few wasy on accessing VMs via ssh independent of the cloud provider. Trying to summarize a few common patterns, to see if they may meet your demands:
In combination with automatic ssh key propagation to VMs like implemented by @davidvossel in kubevirt/kubevirt#4195, I believe that kubevirt is pretty flexible here and that it can be handled orthogonal to the cloud provider. @kewang-equinix I believe that in principle that could also be levereged for ssh validation if the management part is in another cluster in the future. What do you think? |
FYI, loosely related to this LB discussion, there is long standing issue for supporting LB providers as first-class citizens in CAPI. |
With ClusterIP type a tenant cluster will only be accessible within the same cluster, and cannot be exposed to external workloads.
Example load balancer service:
Currently, there's no way to configure the loadbalancer service, as the spec is hard coded.
The text was updated successfully, but these errors were encountered: