cross-posted from: https://lemmy.cloudhub.social/post/347779

I am running a Kubernetes cluster for this domain, and I’m looking at more services to run (right now I have Mastodon and Lemmy).

I was considering WriteFreely and PixelFed, but they don’t seem to have an easy solution for running on Kubernetes (WriteFreely doesn’t even have a production-ready docker image).

Is anyone else running federated services in their lab? Do you run any of them on Kubernetes?

  • Scrubbles@poptalk.scrubbles.tech
    link
    fedilink
    arrow-up
    0
    ·
    5 months ago

    I run plenty of services in my lab on k3s. Most of them I had to manually build charts for and add them to my cluster. I doubt anyone has built charts for Lemmy, maybe mastodon. Anything that’s dockerized like Lemmy can be put into kubernetes, but it’s going to take some doing. Good luck out there, and of course if you get it working then I think the maintainers would be happy to get a helm chart merged into their repo.

    • jax@lemmy.cloudhub.socialOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Yeah, that’s the pain point - building and maintaining the charts.

      Also, I know the charts likely wouldn’t have to be super complex, but I’m used to working with Bitnami’s charts that are massively complex - I just don’t have the time to go that in-depth.

      • Scrubbles@poptalk.scrubbles.tech
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        I start simple with mine. Start with the deployment, just getting the pod up and running, completely stateless. Get that stabilized, once that’s happy then start moving onto the service, connecting to the UI. Then I finish anything else I can before adding in state - environment variables (first just in the deployment, then once that’s done worry about a config map and secrets). (Adding volumes in just complicates it because then you have to reset those volumes if you want to go back to a clean state).

        As a list:

        • Deployment (stateless) - get to not crash
        • Service - connect to it
        • Environment variables, extracting out what can be
        • Secrets, adding those to the chart
        • Volumes, adding in state
        • Move to a nice clean setup with a clean values.yaml.

        Finally, once your happy, then make it conform to other standards. Getting it stood up in k8s is the hard part, then customizing can come after.

        • ChapulinColorado@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 months ago

          This all makes sense to me since we deal with it at work. I would maybe add a service vs route point to differentiate things like UI that need external exposure. The main difference is we use kustomize instead of helm. Out of curiosity if you had any experience with both and why did you settle in helm?