- Integrate edge devices into cluster network (working on)
Kuberneteswill assign a pod address pool for the virtual nodearhat'role- Create DNS/hosts records for
Kubernetesservices in edge devices. - Create network listeners for these services.
- Create an iptables/ipvs based proxy to redirect local network traffic to
arhatlisteners. - Redirect data received from listeners to
aranya.
- Create DNS/hosts records for
aranya's role- Receive application data transmitted by
arhat. - Find and establish network connection(s) to the in cluster services, redirect the application traffic to it.
- Receive application data transmitted by
- Then we can:
- Improve the cloud secuirty by accessing cloud services without any thing in cluster exposed to public Internet.
- Improve the robustness of edge devices by always using DNS names.
gRPC(already supported)MQTT(working on)- MQTT is the protocol designed to save IoT devices from synchronized TCP communications with a pub/sub model, this model presents new challenge to us for realtime sequential communication such as shell execution in remote edge device.
CoAP(no plan for now)- Due to the same reason for MQTT, even worse with UDP.
Cap'n Proto (RPC)(no plan for now)- no schedule for now
docker(already supported)dockeris the most common container runtime, most developer familiar them with Linux container for the first time thanks to the help ofdockerDocker CEis available for multiple system platforms and computer archs, includingLinux arm/arm64andmacOS, which is nice if you want to getarhatup and running without any deep dive into container world.
containerd(working on)containerdis the realdockerruntime do container related jobs, it's light weighted.containerd's official release currently lacks multi-platform builds.
podman(working on)podmanis the container runtime maintained byRedHat, withPodmodel which is designed byCoreOSpodmancan be embedded intoarhatbut onlyLinuxhost will be supported
cri(no plan for now)crirepresentsContainer Runtime Interfacewhich is the container runtime api definition designed forKubernetes