Posts

Showing posts from 2020

Stream IoT data to S3 - the simple way

Image
First, a short introduction to infinimesh , an Internet of Things (IoT) platform which runs completely in Kubernetes :  infinimesh enables the seamless integration of the entire IoT ecosystem independently from any cloud technology or provider. infinimesh easily manages millions of devices in a compliant, secure, scalable and cost-efficient way without vendor lock-ins. We released some plugins over the last weeks - a task we had on our roadmap for a while. Here is what we have so far: Elastic Connect infinimesh IoT seamless into Elastic . Timeseries Redis-timeseries with Grafana for Time Series Analysis and rapid prototyping, can be used in production when configured as a Redis cluster and ready to be hosted via Redis-Cloud . SAP Hana All code to connect infinimesh IoT Platform to any SAP Hana instance Snowflake All code to connect infinimesh IoT Platform to any Snowflake instance. Cloud Connect All code to connect infinimesh IoT Platform to Public Cloud Provider AWS, GCP and Azu

Embedded Linux won't reboot - how to fix and repair

I have a lot of embedded systems running in our lab or in my home, all of them either as Raspberries or selfmade PCB with Yocto. Sometimes I can't reboot some systems, I think its the journald which causes some issues with SSD Cards, the error-message usually is: Failed to open /dev/initctl Anyhow, if you have this issue - a reboot can be force-forced: systemctl --force --force reboot Since a forced reboot does not sync the journal, the system typically comes up with a damaged FS. The remote fsck can be initiated by extending the command above with sudo tune2fs -i 1m /dev/DISK && touch /forcefsck && systemctl --force --force reboot (assumed you have access to a shell, via SSH or local access). When all goes fine, the system comes up with a clean FS. All this fuss comes from the SSD r/w actions, a well designed IoT embedded devices should have a flash mem part for the running OS.

How to fix "Problem with MergeList /var/lib/apt/lists/"

Sometimes, and more often, an update on RaspberryPi hangs with: "Problem with MergeList ..." sudo mv /var/lib/apt/extended_states /var/lib/apt/extended_states_tmp && rm -rf /var/lib/apt/lists/* -vf && sudo apt-get update solves the issue.

Kubernetes - delete all pods with a certain status

"How to delete all pods with a status like Error" - that is a question I often get. The DevOps answer is a one-liner, filtering by status.reason and the status we want to query, es example: kubectl get po -A --all-namespaces -o json | jq '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted")) | "kubectl delete po \(.metadata.name) -n \(.metadata.namespace)"' | xargs -n 1 bash -c In that case we delete all pods with the Status "Evicted". But it works for every status based filtering.