Fork me on GitHub
#docker
<
2018-02-01
>
pablore16:02:05

I have a docker question: *Context*: At work, we manage a whole lot of kiosks computers in our client locations. These kiosks are running docker containers with our software using docker-compose. *The problem*: In some situations, it is necessary to reset the system by using docker-compose down and docker-compose up -d. But that requires sshing to the computer and doing the commands by hand, and some clients don’t even have ssh enabled. The numbers of kiosks we are managing are increasing each week and this kind of manual work is becoming too much.

pablore16:02:57

One solution is to migrate from docker-compose to kubernetes pods, but it is no clear how to make this transition

mpenet16:02:04

you could use something like ansible to manage these and do it in a single command

mpenet16:02:57

for sure it's simpler than going the kubernetes way

gonewest81816:02:44

I think the main issue is how to trigger the remote execution when the customer doesn’t allow remote ssh.

mpenet16:02:56

yeah that's a problem

mpenet16:02:24

otherwise sounds like something that could be done with a cron job

gonewest81816:02:14

I was thinking that too, but could be an issue where the customer service team needs to coordinate with users. (“System reboot in 10 minutes, save your work” in the old days)

pablore16:02:12

never heard of ansible before

pablore16:02:08

Other solution is to install a service that listens to the server and execute docker commands

gonewest81817:02:01

Right. Earlier you said you thought about migrating to kubernetes, is that because of the ability to restart things?

pablore17:02:37

no only to restart, but also to manage updates, get logs, etc

gonewest81817:02:50

I see. Well, we attempted something similar by running OpenShift (v1.0, the pre-Kubernetes one) on a customer site a couple of startups ago. Our experience was exactly like the famous jwz quote: “Now you have two problems.”

gonewest81817:02:42

Plus, if it’s really a “kiosk”… do you have the resources available to run all the k8s machinery well?

pablore17:02:22

Ansible is a huge tool, the learning curve is steep

gonewest81818:02:43

k8s = “kubernetes”, like a16z = “Andreessen Horowitz” or i18n = “internationalization”

pablore18:02:56

mind blown

gonewest81819:02:11

I’m tempted to ask if you can move whatever processing is happening on the kiosks to the backend, and let the kiosks do front-end work only.

jgh20:02:01

j3s = james

pablore21:02:19

@gonewest818 impossible, the kiosks have to be able to work offline and independently from the server. The connection from the server is only to share statistics, change configurations and trigger some events

gklijs22:02:21

@pablore maybe you can have some health check to know if docker needs a restart, and run a cronjob, restarting when needed?

Ivan23:02:54

I worked in such a system, managing remote devices (RPi mostly) for kiosks, and we used the http://resin.io platform.