Wednesday, July 30, 2014

Getting Started with Kubernetes / Docker on Fedora

EDIT 9/16/2014 ***********************

I have taken these instructions and put them on the kubernetes github repo:

Kubernetes Gitub

End EDIT ******************

These are my notes on how to get started evaluating a Fedora / Docker / kubernetes environment.  I'm going to start with two hosts.  Both will run Fedora rawhide.  The goal is to stand up both hosts with kubernetes / Docker and use kubernetes to orchestrate the deployment of a couple of simple applications.  Derek Carr has already put together a great tutorial on getting a kubernetes environment up using vagrant.  However, that process is quite automated and I need to set it all up from scratch.

Install Fedora rawhide using the instructions from here.  I just downloaded the boot.iso file and used KVM to deploy the Fedora rawhide hosts.  My hosts names are: fed{1,2}.

The kubernetes package provides four services: apiserver, controller, kubelet, proxy.  These services are managed by systemd unit files. We will break the services up between the hosts.  The first host, fed1, will be the kubernetes master.  This host will run the apiserver and controller.  The remaining host, fed2 will be minions and run kubelet, proxy and docker.

This is all changing rapidly, so if you walk through this and see any errors or something that needs to be updated, please let me know via comments below.

So let's get started.

Thursday, July 3, 2014

Getting Started with go

I have been following the progress of Jason and his 180 day coding challenge.  I'm going to try something similar except that I'm going to work on go.  The only problem is, that I can't start for 10 days because of some PTO that I have to take starting tomorrow.  Having said that, I'm throwing down the gauntlet now and when I get back, I'll post everyday on my progress.  A few rules, per Jason's post above - yes, I did steal these directly from him with one change on the first rule:

  1. Every business day for a minimum of 30 minutes, I must write code or learn about the tool-chain used in the development process. Documentation about the code does not count.
  2. The resulting code must be useful, or it should be code that points towards something that eventually will be. No tweaking indentation, no code re-formatting, and if at all possible no re-factoring. (All these things are permitted, but not as the exclusive work of the day.) Tutorials and working through code examples as a means to learn are allowed.
  3. All code must be written before midnight, and after 6AM.
  4. The code must be Open Source and posted on Github.
My current status:

I have signed up for the Pluralsight on-line go class here. So far, I have made it to the "Variables, Types and Pointers" section.  We just haven't written much code yet.  So I won't count that.

In addition, I have downloaded and installed IntelliJ IDEA 13.1.3 IDE, community edition.  The on-line class they use this so I figured I'd give it a try.  It was relatively easy to set up, I should write a quick post on what I did for reference.  I'm also going to evaluate the vim plug-ins out there for writing go more efficiently.

So, When I get back I plan on kicking this off full steam ahead.