liqo icon indicating copy to clipboard operation
liqo copied to clipboard

[Feature] Upgrade guidelines for production deployment

Open Sharathmk99 opened this issue 1 year ago β€’ 7 comments

Is your feature request related to a problem? Please describe. Currently we run liqo 0.8.0 version in our cluster and looking forward to upgrade to latest version0.8.1 without disturbing the running workloads across many peered remote clusters.

We don't use liqo networking component as remote pod doesn't require any communication with home cluster services.

Mainly we have below component in our cluster

  • liqo-auth
  • liqo-controller
  • liqo-crd-replicator
  • liqo-metric-agent
  • liqo-proxy

When we upgrade using helm upgrade ..... it updates only above component with new version docker images and manifest changes only, but it will not update any CRD related changes and also it will not update virtualkubelet docker images. As virtualkubelet deployment is created dynamically by liqo-controller.

When there is a breaking changing in liqo CRD can we have new version with support to older CRD version, so we can migrate to newer CRD version later? Similar to how Kubernetes does for core resources(eg. deployment). How can we upgrade virtualkubelet deployment without distributing any offloaded workloads(eg namespace, pod, secret, configmap)

Guidelines of upgrading to newer version without any interruption to workload is key for production cluster.

Describe the solution you'd like Not sure, need to brainstrom

Describe alternatives you've considered Nothing for now. As we can't un-peer any remote cluster as it will interrupt running workloads.

Additional context NA

Sharathmk99 avatar May 21 '23 01:05 Sharathmk99

This feature is becoming very very important; thanks for opening a feature request.. We should decide when to add this to the roadmap, likely after release 0.9 (whose features have already been decided). If anybody wants to contribute to this feature, which definitely requires a non negligible amount of work, please add your rocket here :-)

frisso avatar May 22 '23 21:05 frisso

I would be happy to be part of this effort. It’s very important feature for us. Thanks

Sharathmk99 avatar May 23 '23 06:05 Sharathmk99

Today tried to upgrade limo version from 0.8.1 to 0.8.3, all core services were fine. But how can I force the virtual-kubelet pod in all remote cluster namespace to use latest version 0.8.3 now? If I delete the deployment will limo-controller automatically recreates the deployment? Or the only way is to unpeer and peer again?

Sharathmk99 avatar May 30 '23 15:05 Sharathmk99

Adding rockets :-) πŸš€ πŸš€ πŸš€ Definitely something needed for prod.

ryan-beisner avatar Jun 08 '23 18:06 ryan-beisner

Today tried to upgrade limo version from 0.8.1 to 0.8.3, all core services were fine. But how can I force the virtual-kubelet pod in all remote cluster namespace to use latest version 0.8.3 now? If I delete the deployment will limo-controller automatically recreates the deployment? Or the only way is to unpeer and peer again?

Hi @Sharathmk99, this is one of the collateral features that will be introduced with VirtualNode CRD. For the moment we suggest to unpeer and peer again.

cheina97 avatar Jun 09 '23 14:06 cheina97

@Sharathmk99 I know that the previous answer is not a good news for you. On the good side, we're taking this into high consideration for the post-0.9 release.

frisso avatar Jun 09 '23 14:06 frisso

Thank you @frisso & @cheina97 for the update and considering this feature for post 0.9 release. I’m looking forward for Virtual Kubelet CRD for better upgrade process.

Sharathmk99 avatar Jun 15 '23 07:06 Sharathmk99