Live data from Hacker News

Old school Linux administration – my next homelab generation

scholz.ruhr

111–115 of 115 posts

Re: Old school Linux administration – my next homelab generation

#111
post #102

Earlier quoted context omitted.

Amen (: Checking uptime on my FreeBSD home server ... 388 days. Probably 15-year-old hardware. That thing's a rock. I can't say I'm very proud of my security posture, though (: One day I'll do boot-to-ZFS and transubstantiate into the realm of never worrying about failed upgrades again.

UFS Boot environments? https://forums.freebsd.org/threads/ufs-boot-environments.796...

Thanks — I had never heard of that (:

Re: Old school Linux administration – my next homelab generation

#112
post #107

Earlier quoted context omitted.

So, for context, my experience is limited to trying to get a MariaDB Galera cluster running. Specifically using the Bitnami image. So my issues might not apply to every single stateful app out there. I'm also running all of this on a vsphere in our own data center. Not in the cloud. Swarm does not support dependencies between services. See [0]. It also does not support deploying replicas one at a time. See [1] where…

If you are interested in making this work with any of the constraints, I am sure that there is a way to work around all these issues. About [0]/[1]: I guess you are right in this not working out of the box, but this could possibly be worked around with a custom entrypoint that behaves differently on which slot the task is running in. > (Since when you restart a stack to add the new service, the old service will also…

Finally have time to look into your suggestions. Hopefully you check your comments every once in a while...

> Are you sure the Docker Image digest did not change? Have you tried pinning an actual Docker Image digest?

Mostly sure. Many of my tests only changed the docker-compose file, not the actual image. So even though GitLab was rebuilding the image, the image digest would not have changed. I'll try to find time to pin the digest just to double check, though.

> Is this true even with "oder: stop-first"?

Er, did you mean "order"? I only see `--update-order` as a flag on the `docker service update` command. I do not see it in the docker-compose specification. So far all my tests have been through Portainer's stack deployment feature. So all changes are in my docker-compose file.

Maybe it would just work if I stuck it in the deploy.update section? I'll try.

> True, but there are still some volume plugins that work around and local storage should work if you use labels to pin the replicas to nodes.

I have tried pinning specific services to specific nodes to make local storage work. And I've use labels to force only one replica per node when using replicas.

What volume plugins are you thinking of? I haven't found any that seem to be maintained outside of local storage and nfs. And maybe some that would work if I were in some cloud host...

Anyway, thanks for giving me a couple things to try. :)

Re: Old school Linux administration – my next homelab generation

#113
post #112

Earlier quoted context omitted.

If you are interested in making this work with any of the constraints, I am sure that there is a way to work around all these issues. About [0]/[1]: I guess you are right in this not working out of the box, but this could possibly be worked around with a custom entrypoint that behaves differently on which slot the task is running in. > (Since when you restart a stack to add the new service, the old service will also…

Finally have time to look into your suggestions. Hopefully you check your comments every once in a while... > Are you sure the Docker Image digest did not change? Have you tried pinning an actual Docker Image digest? Mostly sure. Many of my tests only changed the docker-compose file, not the actual image. So even though GitLab was rebuilding the image, the image digest would not have changed. I'll try to find time to…

About the order. I mean the order in deploy

``` deploy: mode: replicated replicas: 3 update_config: order: stop-first parallelism: 1 rollback_config: order: stop-first parallelism: 1 restart_policy: condition: on-failure ```

For the volume plugins:

We are using Hetzner, and this one works great: https://github.com/costela/docker-volume-hetzner . Also, there exists one for glusterfs (https://github.com/chrisbecke/glusterfs-volume).

Re: Old school Linux administration – my next homelab generation

#114
post #112

Earlier quoted context omitted.

Finally have time to look into your suggestions. Hopefully you check your comments every once in a while... > Are you sure the Docker Image digest did not change? Have you tried pinning an actual Docker Image digest? Mostly sure. Many of my tests only changed the docker-compose file, not the actual image. So even though GitLab was rebuilding the image, the image digest would not have changed. I'll try to find time to…

About the order. I mean the order in deploy ``` deploy: mode: replicated replicas: 3 update_config: order: stop-first parallelism: 1 rollback_config: order: stop-first parallelism: 1 restart_policy: condition: on-failure ``` For the volume plugins: We are using Hetzner, and this one works great: https://github.com/costela/docker-volume-hetzner . Also, there exists one for glusterfs ( https://github.com/chrisbecke/glu…

Thanks!

I also found the docs: https://docs.docker.com/compose/compose-file/deploy/#update_... Not sure how I missed that when I was looking at it before... :\

I'll look into those plugins.

Re: Old school Linux administration – my next homelab generation

#115
post #114

Earlier quoted context omitted.

About the order. I mean the order in deploy ``` deploy: mode: replicated replicas: 3 update_config: order: stop-first parallelism: 1 rollback_config: order: stop-first parallelism: 1 restart_policy: condition: on-failure ``` For the volume plugins: We are using Hetzner, and this one works great: https://github.com/costela/docker-volume-hetzner . Also, there exists one for glusterfs ( https://github.com/chrisbecke/glu…

Thanks! I also found the docs: https://docs.docker.com/compose/compose-file/deploy/#update_... Not sure how I missed that when I was looking at it before... :\ I'll look into those plugins.

I learned about a lot of things by watching videos by Bret Fisher. He has a lot of good resources on running Docker Swarm
Post reply on HN