swarmsible
external-dns
swarmsible | external-dns | |
---|---|---|
11 | 79 | |
55 | 7,266 | |
- | 0.8% | |
5.6 | 9.6 | |
20 days ago | 6 days ago | |
Shell | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swarmsible
-
Can any Hetzner user, please explain there workflow on Hetzner?
We use Docker Swarm for our deployments, so I will answer the questions based on that.
We have built some tooling around setting up and maintaining the swarm using ansible [0]. We also added some Hetzner flavour to that [1] which allows us to automatically spin up completely new clusters in a really short amount of time.
deploy from source repo:
- We use Azure DevOps pipelines that automate deployments based on environment configs living in an encrypted state in Git repos. We use [2] and [3] to make it easier to organize the deployments using `docker stack deploy` under the hood.
keep software up to date:
- We are currently looking into CVE scanners that export into prometheus to give us an idea of what we should update
load balancing:
- depending on the project, Hetzner LB or Cloudflare
handle scaling:
- manually, but i would love to build some autoscaler for swarm that interacts with our tooling [0] and [1]
automate backups:
- docker swarm cronjobs either via jobs with restart condition and a delay or [4]
maintain security:
- Hetzner LB is front facing. Communication is done via encrypted networks inside Hetzner private cloud networks
- [0] https://github.com/neuroforgede/swarmsible
- For Swarm mode users: What features do you miss/need from Kubernetes ecosystem?
-
How do you deploy your side-projects?
Pretty much the same as our goto for projects at work: Hetzner + Docker (Swarm) with some Ansible to orchestrate things
We have built some automation around cluster management over at https://github.com/neuroforgede/swarmsible.
I used to do everything in ansible, but Docker Stacks are just so much nicer to use.
In any case automation is king. I don't have to remember stuff if I can just look at some IaC Code :).
-
Docker Swarm with compose
Our tooling can be found here https://github.com/neuroforgede/swarmsible . It is not yet documented tbh, but most things are pretty straight forward to use if you have used ansible, docker etc already.
-
Ask HN: Have You Left Kubernetes?
Story of one of the projects I am involved in:
We came from Ansible managed deployments of vanilla docker with nginx as single node ingress with another load balancer on top of that.
Worked fine, but HA for containers that are only allowed to exist once in the stack was one thing that caused us headaches.
Then, we had a workshop for Rancher RKE. Looked promising at the start, but operating it became a headache as we didn't have enough people in the project team to maintain it. Certificates expiring was an issue and the fact that you actually kinda had to baby-sit the cluster was a turn off.
We killed the switch to kubernetes.
In the meantime we were toying around with Docker Swarm for smaller scale deployments and inhouse infrastructure. We didn't find anything to not like and are currently moving into that direction.
How we do things in Swarm:
1. Monitoring using an updated Swarmprom stack (https://github.com/neuroforgede/swarmsible/tree/master/envir...)
- Container / host monitoring strategy?
- I ported swarmprom to all new docker image versions - It still works just fine!
-
An updated Docker Swarm Monitoring Stack based on the original Swarmprom
For anyone interested in this, check out: https://github.com/neuroforgede/swarmsible/blob/master/environments/test/test-swarm/stacks/02_monitoring/README.md
- Show HN: I ported swarmprom to all new image versions
- Show HN: Swarmsible – Ansible Playbooks to Setup (and Manage) a Docker Swarm
external-dns
-
Upgrading Hundreds of Kubernetes Clusters
The second one is a combination of tools: External DNS, cert-manager, and NGINX ingress. Using these as a stack, you can quickly deploy an application, making it available through a DNS with a TLS without much effort via simple annotations. When I first discovered External DNS, I was amazed at its quality.
-
Kubernetes External DNS provider for Hetzner
One of the reasons why I chose Hetzner was that it WAS supported by the ExternalDNS project. I didn't quite understand why the Hetzner provider was pulled, but I saw that an attempt of re-adding it was refused, on the ground that the upcoming webhook architecture would have allowed to better maintain providers.
-
Istio Multi-Cluster Setup
Write a custom controller for the external DNS controller, or setup some form of ArgoCD app / appset templating.
-
Looking for ExternalDns alternative for non k8s environment
so I am looking at having an automated way for new routers registered in Traefik to also have the corresponding DNS entry added to my Pihole instance similar to external-dns but obviously, this is exclusive to ingress on k8s environments. my current setup is traefik in a container on unraid.
-
Is a Load Balancer necessary for a HA Cluster?
You technically don’t need to run a load balancer or have a virtual IP for your control plane. If you control your dns, you can add an A record pointing to all IPs for your control plane nodes. It won’t load balance your traffic, but combined with something like External DNS it gives you HA for the control plane.
-
How can I assign an EIP to a Kubernetes deployment?
I normally deploy external-dns, which automatically updates DNS with the ingress controller's external IP address.
-
Registering DNS with Windows Domain DNS
Background: Having a look I can see this https://github.com/kubernetes-sigs/external-dns
-
Cluster nodes on different networks
3) Use the Kubernetes External-DNS. I've never used this, but this is assuming it can update DNS for each pods/app to point to the correct Node (it'd need to update my Homelab DNS running on Windows Server)
-
I am stuck on learning how to provision K8s in AWS. Security groups? ALB? ACM? R53?
So here’s the solution I have taken for our current stack. EKS and its dependencies are created through terraform using the eks module as well as provision a route53 subdomain and a wildcard cert. Once we have that created, I have installed this deployment into the cluster via the helm module: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/. This allows me to use kuberentes resources (load balancers or ingress objects) and it will handle all the provisioning of load balancers and security groups for me, based on my application yaml and annotations. We also use https://github.com/kubernetes-sigs/external-dns to manage all of our specific host names for the applications through annotations. So to generally put, terraform manages out Kubernetes clusters, and Kubernetes manages the deployment of anything needed for the application including volumes, load balancers, hostnames though Kubernetes system deployments
-
How to expose services/apps to my home network with custom DNS names
Metallb for your load balancer (layer2 mode will do) NginX-ingress, will be spot on for internal home apps External-dns to publish your dns record to your Dns server at home, https://github.com/kubernetes-sigs/external-dns
What are some alternatives?
swarmsible-hetzner - Companion repository for https://github.com/neuroforgede/swarmsible with a focus on usage in the Hetzner cloud
metallb - A network load-balancer implementation for Kubernetes using standard routing protocols
nydus - Nydus - the Dragonfly image service, providing fast, secure and easy access to container images.
cloudflare-ingress-controller - A Kubernetes ingress controller for Cloudflare's Argo Tunnels
terraform-hcloud-kube-hetzne
ingress-nginx - Ingress-NGINX Controller for Kubernetes
docker-stack-deploy - Utility to improve docker stack deploy
crossplane - The Cloud Native Control Plane
Netdata - The open-source observability platform everyone needs
PowerDNS - PowerDNS Authoritative, PowerDNS Recursor, dnsdist
k8s-config-connector - GCP Config Connector, a Kubernetes add-on for managing GCP resources
awx-operator - An Ansible AWX operator for Kubernetes built with Operator SDK and Ansible. 🤖