11-10-2016, 12:23 PM
I just received my first two Pine boards (2GB ram models). My dream is to network these together for use as a Docker Swarm cluster that would host various applications that I develop -- sort of a home-grown replacement for AWS or Docker Cloud. Although I am pretty familiar with Docker, I am rather new at devices like Pine boards. Would anyone be able to help me understand what I need to do to get a reasonably performant cluster that can scale as I purchase more Pine boards?
Here are some questions/thoughts I have:
1) OS
I was thinking Debian base here.
2) Shared Storage
I want shared storage to store docker volumes so that every board in the cluster can mount the volumes into containers.
My first thought was to buy a 1 or 2 TB external hard drive, but:
a) How do i connect all the boards to the drive? Do I need to have the drive connected to one board and then share the mount over the network?
b) What can I expect for IO latency? I want to be able to run postgres database containers against the volumes on the external drive. How will that perform?
3) microSD storage per board
This hits a limit on my docker knowledge -- i'm not sure if i need to have internal storage for all the images that I want my swarm to run, or whether the images can be stored on the shared storage from 1) and just loaded into memory when i instantiate containers. If the images must be kept on the microsd, I guess i would need 32 or 64 GB. But if the images can be kept on shared storage, then i imagine i would only need a microsd large enough for the OS and whatever disk space the docker daemon needs to do its job.
4) Accessing over the internet via SSH
I was thinking instead of buying a static IP, which would require business class from my cable company, to use a service like http://www.noip.com/. I want to be able to SSH into this cluster via the domain name, and of course be able to hit web applications over HTTP.
This is as far as I have gotten so far. I am sure there are gaps in my understanding above. Also please point out to me anything I am NOT thinking of that is crucial to my goal of a personal docker swarm cluster -- any help is appreciated!!!
Here are some questions/thoughts I have:
1) OS
I was thinking Debian base here.
2) Shared Storage
I want shared storage to store docker volumes so that every board in the cluster can mount the volumes into containers.
My first thought was to buy a 1 or 2 TB external hard drive, but:
a) How do i connect all the boards to the drive? Do I need to have the drive connected to one board and then share the mount over the network?
b) What can I expect for IO latency? I want to be able to run postgres database containers against the volumes on the external drive. How will that perform?
3) microSD storage per board
This hits a limit on my docker knowledge -- i'm not sure if i need to have internal storage for all the images that I want my swarm to run, or whether the images can be stored on the shared storage from 1) and just loaded into memory when i instantiate containers. If the images must be kept on the microsd, I guess i would need 32 or 64 GB. But if the images can be kept on shared storage, then i imagine i would only need a microsd large enough for the OS and whatever disk space the docker daemon needs to do its job.
4) Accessing over the internet via SSH
I was thinking instead of buying a static IP, which would require business class from my cable company, to use a service like http://www.noip.com/. I want to be able to SSH into this cluster via the domain name, and of course be able to hit web applications over HTTP.
This is as far as I have gotten so far. I am sure there are gaps in my understanding above. Also please point out to me anything I am NOT thinking of that is crucial to my goal of a personal docker swarm cluster -- any help is appreciated!!!