Testing and development
The first thing on our list, is a basic computer. For my server, I grabbed my old laptop. It’s about fifteen plus years old, and has an AMD Athlon X2 processor with 3 gigabytes of memory. We don’t need to worry about a working operating system, all we need to know is, does it turn on.
Mine did turn on, and after about 30 mins, actually went into Windows Vista. Great! The next thing on our list, a working internet connection, it’s also probably wise to point out that our computer needs an ethernet port that works as well…I cannot imagine a computer that does not have this, but worth noting. I do, infact, have a working internet connection.
Last but not least, we need an operating system. Since this blog is about building a dockerized server, the OS flavor is RancherOS. RancherOS is a great place to run Docker and Kubernetes. It’s an ultra-lightweight Linux distribution which enables you to boot Your containers in seconds as well as run Docker, Kubernetes and Rancher at Scale in production. If you want a simpler experience…choose your own flavor of linux…
After a few months of testing and learning, it was time to move what I learned into production. For this, I went with an HP ProLiant ML10 Gen9. Compared to my old laptop, which I still use, this was a monster of a machine. Cost was about $390 after taxes, brand new. I got a 6th gen quad core i3 Intel processor, 8gb of ram, and a 3TB hard drive. Pretty sure I also bought the last one, because it went discontinued after I bought it. Having figured out all I needed to know on my old laptop in regards to setup, I figured it would be a breeze to set this machine up, not so…
I ran into 2 issues I hadn’t yet experienced.
I couldn’t get the boot stick to be recognized, and this new machine refused to boot from it. I lost about a day figuring this one out, but apparently newer servers ship with UEFI boot and not the old BIOS that I am used to. After finally figuring this out, the problem was solved by going into the boot settings and switching to legacy boot. Now, I was booting to the stick and ready to start installing the OS.
There is a lot of configuration you need to do at this point, one of which involves putting an ssh-key into the config file before install. Problem is, the key is ridiculously long and could never be typed, and for the life of me I never figured out how to do this preinstall. Once you load the OS, you can copy paste the key, because after install, you are connecting to the machine through an ssh tunnel, so you can just create a key on one machine and then paste it into the config. I’d love to know how other people handle this one.
The second issue, RancherOS doesn’t want to install on a hard drive that is larger than 2TB. I wish it just said that…I couldn’t find a work around and refused to use a 3TB HDD as a 2TB and waiste all that space. My solution was sitting in an old machine I had in my attic, so I salvaged an old 80gb hard drive from a machine that hadn’t seen the light of day in 20 years, and viola…everything installed, and then I mounted the 3TB to the system. This works out better, it keeps the OS and images for the containers on a seperate HD, and I can now backup the images to another HD, as well as keep all the data seperate from the OS HD.