[lxc-devel] Integration Kubernetes and LXD/LXC

Free Ekanayaka free.ekanayaka at canonical.com
Tue Oct 2 09:29:30 UTC 2018


Oliver Schad <oliver.schad at automatic-server.com> writes:

> Hi Free,
>
> On Tue, 02 Oct 2018 09:36:16 +0200
> Free Ekanayaka <free.ekanayaka at canonical.com> wrote:
>
>> Oliver Schad <oliver.schad at automatic-server.com> writes:
>> 
>> [...]
>> 
>> > What is wrong with new pod names?
>> >
>> > Think about a production database, MySQL. You're so proud, it runs
>> > since 3 monthes, you tuned it, you have a great monitoring, you have
>> > great backup/restore procedure, you've tested it, you're the hero of
>> > this MySQL server and your Webshop earns a lot of money with that
>> > thing.
>> >
>> > But, oh bad, you've updated Kubelet and that creates a new pod
>> > name. So that means that your old pod will just die (die as in
>> > forever, deleted, erased, terminated including your data).  
>> 
>> I'm not a k8s expert (actually I never really used it), but I believe
>> what you'd want in this care are StatefulSets:
>> 
>> https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
>
> The problem starts with the container engine: Docker restarts really
> often for a lot of reasons (bugs, too much load, updates). This will
> kill all your containers.
>
> So in short: Docker is really dangerous in case you want to have 24/7
> online.
>
> If the container layer is unstable, you can't build a stable service on
> top of it.

How does LXE solve the issue of undesired restarts? I imagine that the
restarts are triggered by the k8s control plane by connecting to the
kubelet which in turns triggers some imperative CRI API which says
"Please restart this pod". If that's the case, does LXE somehow ignore
the restart request? I'm confused about this part.


More information about the lxc-devel mailing list