added meeting notes
This commit is contained in:
parent
9024a51d86
commit
bd9e6133fb
66
meeting-notes/2024-07-16-kubernetes-discussion.md
Normal file
66
meeting-notes/2024-07-16-kubernetes-discussion.md
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
Problem
|
||||||
|
make available lots of open source packages. end-user doesn't have to know about how to do any of these things (install software, resilient storage, etc)
|
||||||
|
scale to 10k-1m users
|
||||||
|
|
||||||
|
we've made some choices: NixOS, s3 storage, stateless as much as possible
|
||||||
|
|
||||||
|
we need something that starts services, monitors the services, restarts, spins up extra nodes, etc.
|
||||||
|
|
||||||
|
constraint: everything is "real" open-source
|
||||||
|
|
||||||
|
"consider kubernetes?"
|
||||||
|
|
||||||
|
kubernetes
|
||||||
|
|
||||||
|
kubernetes fits
|
||||||
|
need some extra tools and glueing for making this available to the users
|
||||||
|
|
||||||
|
tooling is 90% there
|
||||||
|
|
||||||
|
tool recommendations to come
|
||||||
|
|
||||||
|
like docker-compose but in the cloud
|
||||||
|
|
||||||
|
reconcilliation loop: you specify a state "i want 2 instances of X at Y domain name" kubernetes takes care of everything
|
||||||
|
|
||||||
|
applications slot into the reconcilliation loop to enforce the part of the state they manage
|
||||||
|
|
||||||
|
most things already exist (DNS, networking, etc)
|
||||||
|
|
||||||
|
master/worker: master is the machine that holds state. this is usually managed by the cloud provider
|
||||||
|
|
||||||
|
there might be UIs similar to NixPanel already existing for kubernetes
|
||||||
|
|
||||||
|
k3s vs. k8s
|
||||||
|
k8s: kubernetes
|
||||||
|
k3s: kubernetes but slimed down for playing around at home
|
||||||
|
|
||||||
|
alternatives
|
||||||
|
nomad, but konstantinos does not have experience with it
|
||||||
|
|
||||||
|
complexity
|
||||||
|
it's easy to stay limited to a smaller subset
|
||||||
|
|
||||||
|
we don't want to introduce pre-existing components that bring along their own baggage (e.g. "matrix instance, but it's on alpine")
|
||||||
|
|
||||||
|
why not? unite things under one tool; can make small changes without breaking everything;
|
||||||
|
|
||||||
|
containerization
|
||||||
|
the pre-existing components are all running under docker containers
|
||||||
|
can override with a different container
|
||||||
|
|
||||||
|
things that might be easier with nix
|
||||||
|
configuration
|
||||||
|
rolling updates
|
||||||
|
integrate with the outside world
|
||||||
|
manage storage
|
||||||
|
|
||||||
|
network configurations
|
||||||
|
internally ipv4?
|
||||||
|
address space between nodes
|
||||||
|
public IPs
|
||||||
|
namespaces
|
||||||
|
|
||||||
|
Kubernetes has the advantage of being familiar to people
|
||||||
|
|
||||||
|
disadvantage is that it integrates into existing cloud providers (we want to move people away from google/amazon cloud)
|
Loading…
Reference in a new issue