docker

pablore 2018-02-01T16:10:05.000327Z

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.

pablore 2018-02-01T16:28:57.000144Z

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

mpenet 2018-02-01T16:43:04.000413Z

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

mpenet 2018-02-01T16:43:57.000530Z

for sure it's simpler than going the kubernetes way

gonewest818 2018-02-01T16:44:44.000175Z

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

mpenet 2018-02-01T16:45:56.000223Z

yeah that's a problem

mpenet 2018-02-01T16:46:24.000524Z

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

gonewest818 2018-02-01T16:47:14.000141Z

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)

pablore 2018-02-01T16:49:12.000636Z

never heard of ansible before

pablore 2018-02-01T16:51:08.000064Z

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

gonewest818 2018-02-01T17:02:01.000758Z

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

pablore 2018-02-01T17:14:37.000262Z

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

gonewest818 2018-02-01T17:28:50.000186Z

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.”

gonewest818 2018-02-01T17:29:39.000197Z

http://regex.info/blog/2006-09-15/247#comment-3085

gonewest818 2018-02-01T17:30:42.000333Z

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

pablore 2018-02-01T17:32:37.000413Z

k8s?

pablore 2018-02-01T17:38:22.000359Z

Ansible is a huge tool, the learning curve is steep

gonewest818 2018-02-01T18:20:43.000454Z

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

pablore 2018-02-01T18:21:56.000021Z

mind blown

gonewest818 2018-02-01T19:34:11.000953Z

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.

jgh 2018-02-01T20:07:01.000190Z

j3s = james

pablore 2018-02-01T21:19:19.000593Z

@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

gonewest818 2018-02-01T21:22:44.000791Z

I see.

gklijs 2018-02-01T22:25:21.000268Z

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

Ivan 2018-02-01T23:17:54.000050Z

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