How Can I Deliver and Maintain a Kubernetes Application with Complex Dependencies?

0
30
Asked By TechWizard42 On

I'm looking to deliver an application which relies on various interlinked Kubernetes and external cloud components. The setup also requires additional tools like Istio and AWS IAM Roles for Service Accounts (IRSA) on the cluster. The ideal scenario would be to have a bash, Terraform, or Ansible script that automates the setup, assuming the necessary credentials are provided.

Once delivered, I'm curious about how to manage updates moving forward, especially since the cluster will be hosted on a self-managed RKE2 setup. How do I provide updated configurations for Kubernetes upgrades? Is there a standard method that people follow for this?

One approach I've considered is using Velero for full-cluster backups and executing blue-green deployments by spinning up a new cluster and switching load balancer targets to confirm stability.

I'd love to hear your insights or experiences on how this kind of delivery and maintenance is typically handled!

6 Answers

Answered By CloudNinja88 On

You really can't just treat Kubernetes clusters like standalone appliances, especially with all the external dependencies. To make this work, you might want to hand it over to someone who knows Kubernetes well, preferably as part of a maintenance contract, or find a different method to deploy the app.

Answered By DeploymentDude On

When I faced similar demands, I told my bosses that we had to have full API access to manage things effectively. Once you have that, you can integrate this cluster into your GitOps workflow, which simplifies management significantly. If you don't have access, it’s going to be really tough to maintain.

Answered By DevGuru_77 On

Honestly, managing a Kubernetes setup can get pretty complex. If your client lacks the skills to handle this themselves, they might be better off with a serverless solution instead. It's just simpler for everyone involved!

Answered By CodeCrafter42 On

I think it really boils down to what your contract says. Who's in charge of deployment? You should clarify responsibilities upfront. Document everything well, whether you're delivering code or just binaries, and make sure everyone knows what they're responsible for!

Answered By K8sFanatic On

Have you thought about using VCluster? It might help simplify some of the management aspects depending on what you need.

Answered By K8sAdmin21 On

If your client can't manage the cluster, you should definitely keep access and handle updates as needed. This works just like how larger companies operate, where platform engineering teams maintain the Kubernetes clusters while individual teams focus on deploying their apps.

CloudNinja88 -

Exactly! This way, you can ensure everything is kept up-to-date and functioning as expected.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.