Readit News logoReadit News
tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
raphinou · 10 days ago
Swarm is not far from my dream deploy solution, but here are some points that might be better, some of them being already better in uncloud I think:

- energy in the community is low, it's hard to find an active discussion channel of swarm users

- swarm does not support the complete compose file format. This is really annoying

- sometimes, deploys fail for unclear reasons (eg a network was not found, but why as it's defined in the compose file?) and work the next try. This is never lead to problems, but doesn't feel right

- working with authenticate/custom registries is somewhat cumbersome

- having to work with registries to have the same image deployed on all nodes is sometimes annoying. It could be cool to have images spreading across nodes.

- there's no contact between devs and users. I've just discovered uncloud and I've had more contact with its devs here than in years of using swarm!

- the firewalling is not always clear/clean

- logs accessibility (service vs container) and containers identification: when a container fails to start, it's sometimes harder than needed to debug (esp when it is because the image is not available)

tontony · 10 days ago
Thanks for the detailed overview!
tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
raphinou · 11 days ago
I'm a docker swarm user, and this is the first alternative that looks interesting to me!

Some questions I have based on my swarm usage:

- do you plan to support secrets?

- with swarm and traefik, I can define url rewrite rules as container labels. Is something equivalent available?

- if I deploy 2 compose 'stacks', do all containers have access to all other containers, even in the other stack?

tontony · 11 days ago
Secrets -- yes, it's being tracked here: https://github.com/psviderski/uncloud/issues/75 Compose configs are already supported and can be used to inject secrets as well, but there'll be no encryption at rest there in that case, so might not be ideal for everyone.

Regarding questions 2 and 3, the short answers are "not at the moment" and "yes, for now", here's a relevant discussion that touches on both points: https://github.com/psviderski/uncloud/discussions/94

Speaking of Swarm and your experience with it: in your opinion, is there anything that Swarm lacks or makes difficult, that tools like Uncloud could conceptually "fix"?

tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
yabones · 11 days ago
The correct way would be to publish packages on a proper registry/repository and install them with a package manager. For example, create a 3rd party Debian repository, and import the config & signing key on install. It's more work, sure, but it's been the best practice for decades and I don't see that changing any time soon.
tontony · 11 days ago
Sure, but it all boils down to trust at the end of the day. Why would you trust a third-party Debian repository (that e.g. has a different user namespace and no identity linking to GitHub) more than running something from evidently the same user from GitHub, in this specific case?

I'm not arguing that a repository is nice because versioning, signing, version yanking, etc, and I do agree that the process should be more transparent and verifiable for people who care about it.

tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
indigodaddy · 11 days ago
Very cool, so sort of like Dokku but simpler/easier to use?

Looks like the docs assume the management of a single cluster. What if you want to manage multiple/distinct clusters from the same uc client/management env?

tontony · 11 days ago
> What if you want to manage multiple/distinct clusters

Uncloud supports having multiple contexts (think - clusters) in the same configuration file, or you can also use separate config files (via --uncloud-config attribute).

https://uncloud.run/docs/cli-reference/uc_ctx

tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
tex0 · 11 days ago
This is a cool tool, I like the idea. But the way `uc machine init` works under the hood is really scary. Lot's of `curl | bash` run as root.

While I would love to test this tool, this is not something I would run on any machine :/

tontony · 11 days ago
Curious, what would be an ideal (secure) approach for you to install this (or similar) tool?
tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
stevefan1999 · 11 days ago
If not K8S, why not Nomad (https://github.com/hashicorp/nomad)?
tontony · 11 days ago
Nomad still has a tangible learning curve, which (in my very biased opinion) is almost non-existent with Uncloud assuming the user has already heard about Docker and Compose.
tontony commented on Uncloud - Tool for deploying containerised apps across servers without k8s   uncloud.run/... · Posted by u/rgun
nake89 · 11 days ago
How does this compare to k3s?
tontony · 11 days ago
Uncloud is not a Kubernetes distribution and doesn't use K8s primitives (although there are of course some similarities). It's closer to Compose/Swarm in how you declare and manage your services. Which has pros and cons depending on what you need and what your (or your team's) experience with Kubernetes is.
tontony commented on Show HN: Unregistry – “docker push” directly to servers without a registry   github.com/psviderski/unr... · Posted by u/psviderski
revicon · 6 months ago
Is this different from using a remote docker context?

My workflow in my homelab is to create a remote docker context like this...

(from my local development machine)

> docker context create mylinuxserver --docker "host=ssh://revicon@192.168.50.70"

Then I can do...

> docker context use mylinuxserver

> docker compose build

> docker compose up -d

And all the images contained in my docker-compose.yml file are built, deployed and running in my remote linux server.

No fuss, registry, no extra applications needed.

Way simpler than using docker swarm, Kubernetes or whatever. Maybe I'm missing something that @psviderski is doing that I don't get with my method.

tontony · 6 months ago
Totally valid approach if that works for you, the docker context feature is indeed nice.

But if we're talking about hosts that run production-like workloads, using them to perform potentially cpu-/io-intensive build processes might be undesirable. A dedicated build host and context can help mitigate this, but then you again face the challenge of transferring the built images to the production machine, that's where the unregistry approach should help.

tontony commented on Show HN: Unregistry – “docker push” directly to servers without a registry   github.com/psviderski/unr... · Posted by u/psviderski
spwa4 · 6 months ago
THANK you. Can you do the same for kubernetes somehow?
tontony · 6 months ago
A few thoughts/ideas on using this in Kubernetes are discussed in this issue: https://github.com/psviderski/unregistry/issues/4; generally, should be possible with the same idea, but with some tweaking.

Also have a look at https://spegel.dev/, it's basically a daemonset running in your k8s cluster that implements a (mirror) registry using locally cached images and peer-to-peer communication.

tontony commented on Ask HN: If not Kubernetes, what do you use to run your apps?    · Posted by u/tontony
SamInTheShell · 6 months ago
Kubernetes just kinda won the container orchestration war against swarm, nomad, and mesos. It is quite an improvement over working with those orchestrators.

My strategy involves building stateless apps with distributed services that have good support in Kubernetes like Yugabyte and Minio.

What I do is host the thing on a cheap cloud server until it grows enough to need HA or scaling. At that point I move my workloads into a cluster.

I already have everything patterned out though so, I’m living in some sunk costs if anything newer or truly better comes along.

tontony · 6 months ago
> What I do is host the thing on a cheap cloud server until it grows enough

Curious, do you use anything specific (like Compose) for that single-server phase?

u/tontony

KarmaCake day7December 1, 2022
About
Email: tontony.hn@tonyo.info
View Original