{"id":18351148,"url":"https://github.com/simagix/k8s-rpi-demo","last_synced_at":"2026-02-01T02:02:26.959Z","repository":{"id":114864835,"uuid":"52627466","full_name":"simagix/k8s-rpi-demo","owner":"simagix","description":"Demo of Kubernetes on Raspberry PI cluster","archived":false,"fork":false,"pushed_at":"2016-03-06T03:43:22.000Z","size":355,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-16T07:50:37.733Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simagix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-26T19:27:17.000Z","updated_at":"2016-02-26T19:27:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"1e24b4da-28b4-4964-adab-37aa174a99ea","html_url":"https://github.com/simagix/k8s-rpi-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simagix/k8s-rpi-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simagix%2Fk8s-rpi-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simagix%2Fk8s-rpi-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simagix%2Fk8s-rpi-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simagix%2Fk8s-rpi-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simagix","download_url":"https://codeload.github.com/simagix/k8s-rpi-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simagix%2Fk8s-rpi-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28964425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T01:25:30.373Z","status":"online","status_checked_at":"2026-02-01T02:00:08.102Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T21:29:39.419Z","updated_at":"2026-02-01T02:02:26.922Z","avatar_url":"https://github.com/simagix.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demo of Kubernetes on Raspberry PI\n![Raspberry PI Cluster](raspberry_poster.png)\n### Application Flow\n![Workflow](components.png)\n### Modules\n- simagix/mobile-signature\n- simagix/signature-map\n- mqtt broker (mosquitto or mqtt://test.mosquitto.org)\n\n### Kubernetes\nStart web apps using kubectl\n```\nexport EXTERNAL_IP=192.168.1.2\nkubectl run mosquitto --image=simagix/mosquitto-rpi --port=1883\nkubectl expose rc mosquitto --port=1883 --target-port=1883 --external-ip=$EXTERNAL_IP\nkubectl run mobile-signature --image=simagix/mobile-signature-rpi --port=3300 --env=\"MQTT_BROKER=mqtt://$EXTERNAL_IP\"\nkubectl expose rc mobile-signature --port=3300 --target-port=3300 --external-ip=$EXTERNAL_IP\nkubectl run signature-map --image=simagix/signature-map-rpi --port=3301 --env=\"MQTT_BROKER=mqtt://$EXTERNAL_IP\"\nkubectl expose rc signature-map --port=3301 --target-port=3301 --external-ip=$EXTERNAL_IP\n```\n\n### Get Info\n```\nkubectl get nodes\nkubectl get pods\nkubectl get rc\nkubectl get svc\n```\n\n### Scale\n```\nkubectl scale rc busybox --replicas=5\nkubectl scale rc mobile-signature --replicas=1\nkubectl scale rc signature-map --replicas=2\n```\n\n```\n$ kubectl get pods -o wide\nNAME                     READY     STATUS    RESTARTS   AGE       NODE\nbusybox-iown8            1/1       Running   0          1m        192.168.1.5\nk8s-master-127.0.0.1     3/3       Running   6          4d        127.0.0.1\nmobile-signature-zflym   1/1       Running   0          56s       192.168.1.5\nsignature-map-14zj2      1/1       Running   0          41s       192.168.1.5\n```\n\n### Stop Services\n```\nkubectl delete svc signature-map\nkubectl delete rc signature-map\n#kubectl delete pod signature-map-\u003csome_id\u003e\nkubectl delete svc mobile-signature\nkubectl delete rc mobile-signature\n#kubectl delete pod mobile-signature-\u003csome_id\u003e\nkubectl delete svc mosquitto\nkubectl delete rc mosquitto\n```\n\n### Failover\nPull a cable from a slave\n```\n$ kubectl get pods -o wide\nNAME                     READY     STATUS    RESTARTS   AGE       NODE\nbusybox-iown8            1/1       Running   0          6m        192.168.1.5\nk8s-master-127.0.0.1     3/3       Running   6          4d        127.0.0.1\nmobile-signature-zflym   1/1       Running   0          6m        192.168.1.5\nsignature-map-14zj2      1/1       Running   0          6m        192.168.1.5\n```\nWait about 2 minutes\n```\n$ kubectl get pods -o wide\nNAME                     READY     STATUS    RESTARTS   AGE       NODE\nbusybox-8ecog            1/1       Running   0          3m        127.0.0.1\nk8s-master-127.0.0.1     3/3       Running   6          4d        127.0.0.1\nmobile-signature-ctswr   1/1       Running   0          3m        127.0.0.1\nsignature-map-3l1zj      1/1       Running   0          3m        127.0.0.1\n```\n\n### Docker\nStart web apps using docker command.\n```\ndocker run -p 3300:3300 -it -e MQTT_BROKER=mqtt://192.168.1.2 simagix/mobile-signature-rpi\ndocker run -p 3301:3301 -it -e MQTT_BROKER=mqtt://192.168.1.2 simagix/signature-map-rpi\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimagix%2Fk8s-rpi-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimagix%2Fk8s-rpi-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimagix%2Fk8s-rpi-demo/lists"}