Ridiculously Quick Way to Get Started With Rancher

If you wanted to dive into the world of managing Kubernetes at scale, Rancher is a great solution. But how and where do you get started? What if I told you there was a ridiculously quick way to get started with rancher? And by ridiculously quick I mean in under a minute. Here we go!

I’ve been a Mac person for about 20 years but given the corporate prevalence of Windows (and some cases Linux) I needed a way to standardize how I develop and run code. The best solution I’ve found so far for local development is multipass from Canonical, the folks that brought you Ubuntu. It is the fastest and most seamless way to run Ubuntu VMs on any operating system. Create, run, manage, and destroy VMs at will with only a few commands. Naturally, multipass was my first option for a local Rancher instance.

Multipass and Docker

I will not go into multipass in this blog post, but this handy snippet is what I use for pretty much all new VMs. The reason I keep this handy (I even have a macro for it) is almost everything I do these days is based on Docker. I use --cloud-init to install docker during creation and I’m off to the races

multipass launch --cloud-init - --disk 20G --mem 4G --cpus 2 --name docker-rancher <<EOF
groups:
- docker
snap:
  commands:
  - [install, docker]
runcmd:
- adduser ubuntu docker
EOF

Run that command in your terminal and you’ll have a VM with Docker installed in under a minute.

multipass shell docker-rancher to open the VMs shell.

Installing Rancher

Ridiculously Quick Way to Get Started With Rancher. Rancher logo.

Installing rancher is just as easy following “Getting Started with Rancher in 2 Easy Steps” from their official page. Step 1 is what we have done above, “prepare a Linux Host”

Step 2 is what we’ll execute in the VM. Since we added a docker user to our VM, we do not need to run docker with elevated privileges (e.g. sudo)

docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

Execute that command and a few seconds later you have a fully functioning rancher instance in a local VM. It does not get much easier than that!

Learning Docker

If you’re looking to get started with Docker locally, use the same snippet! The Rancher part is the only thing specific to this effort. If you’re looking to get started with Docker in general, check out my Getting Started with Docker post.

Getting Started with Docker

I’ve had two people ask me this week on how to learn Docker. Or even where to get started. Fortunately, that is a really easy question to answer. What is even better is the answer is free!

Rather than jumping right to a paid online course or special in person training that typical runs about $2,000, the team at Docker have put together a classroom. A one stop shop to get you rolling. For free. No installations. Seriously. Nothing to install, nothing to hunt for, nothing to wrestle with (I’m looking at you installing Docker on a corporate Windows machine)

The hard part has been solved. Check out Play with Docker Classroom and stop trying to figure out how to learn docker and start learning it now!

How to Nurture High-Performance Teams

High-performance teams within an organization are invaluable to business growth, cultural strength, and empowered individual contributors. It makes sense: working within a group of people who have complementary skills and are able to collectively deliver on goals is motivating and productive.

Source: How to Nurture High-Performance Teams

How to Solve Any Problem

I find most people fail at solving a problem because they first do not understand how to fundamentally solve any problem.

This is a copy/paste from the original source where I found it. I did not want to lose the content as it looks like that site has been abandoned.

How To Solve It is a short volume by mathematician George Polya describing various methods of problem solving. The book has achieved classic status in its field because of its considerable influence.

In reading Polya’s book, I found distinct parallels to popular self development resources throughout history. Although the book outlines techniques used in mathematical problem solving, the same formulas can be applied to the practice of goal setting.

Continue reading “How to Solve Any Problem”

You Do Not Understand Agile

Agile is not a proper noun. Agile is not a person, place, or thing. You do not do agile. You are agile. Here are some tips.

Agile is not a proper noun. Agile is not a person, place, or thing. You do not do agile. You are agile.

What Is It?

My simple explanation of agile is: You have a vision of what you want to accomplish and the ability to make decisions. Assemble a group of smart, dedicated, and capable people to start figuring out how to do it and validate your assumptions and outputs along the way.

It’s as simple as that. That is agility. The understanding and acceptance that you will not know everything in advance but as long as you have a team of capable people with a set of top-level goals and a single voice that can make decisions, you’ll figure out the rest as you go.

Continue reading “You Do Not Understand Agile”

Code Coverage vs Test Coverage

When organizations mandate “code coverage” numbers, like 95%, they’re barking up the wrong tree. Just because a line of code has been touched during testing, doesn’t mean it’s been tested; you’re only fooling yourself. Every time I tell someone the last product I created had 93% test coverage, they say “wow, that’s great!”. Then my follow up statement is “Yeah, it sounds great, but bugs still crept into covered areas”.
Continue reading “Code Coverage vs Test Coverage”

I was wrong about tracking actual hours in Scrum

I once made a statement about closing out project management tickets that went something like “The actual hours a story / task took are the only metrics that matter”. At the time, we had a ton hoops to jump through to close a story out due to our tooling choices. We ignored most of them, but the actual hours field was something I told the team I valued. My thinking at the time was this would definitively show us if we’re coming up with accurate estimates and if we missed our estimates, where did we spend that time. This would give us solid data points to use across sprints and act as a spring board for future planning sessions. In reality it ends up being fruitless and does little to build a better team.
I generally follow Scrum when leading agile teams, but I’m not prescriptive about it in any way. “Whatever works for the team” is another sound byte you’ll routinely hear me say and along those lines is where I had my epiphany. Just like being agile is about enabling the team, estimation and time in Scrum is all about the sprint. “How many stories can get done this sprint” is the real question around how long something will take. That’s it. It’s a scheduling exercise to maximize effective use of fixed time. It’s just an estimate! Where that time went during the story / task completion is immaterial for planning. Sure, it makes for a good conversation during the retrospective and leads to a fancy spreadsheet some dude in khakis can email around, but tracking actual hours in Scrum does little improve the estimation process of the team and certainly doesn’t increase the teams productivity. If neither of those things are happening as a result of tracking actuals, then I submit it is a pointless venture.

Which Ruby Iibrary for a Static Website

I’ve been toying with the idea of taking on side projects, specifically helping people bring their web application ideas to market in the form of a minimal viable product. I have become very efficient at taking white board concepts and turning them into working software in a short amount of time. Production quality at that, not just prototypes or throwaway code. I’ve talked to a lot of people with good ideas that have similar problems, “I could get this going if I could only code!” Well, I think I can make that happen. First stop is standing up a static website for marketing.
Continue reading “Which Ruby Iibrary for a Static Website”

MadCow 5×5 Week 3 In Review

General

I keep having to have the realization, epiphany, or whatever you want to call it that I’m only in it for strength, not size / mass. The only thing I should care about during this 12 week MadCow 5×5 program are numbers, specifically the numbers in my spreadsheet that put me at an estimated 1000lbs+ total. Continue reading “MadCow 5×5 Week 3 In Review”

Switching to a week in review format

I jumped the gun a bit with that last post. For a 12 week program that has 3 workouts a week, that would be 36 entries, way too many. Once a week is fine, basically a “week in review” of my progress. These posts are for myself really, a way to force me to reflect on my goals, my progress, and serve as a basic gut check. What’s special about this mesocycle is the calculated total at the end is 1000+ lbs, which I’ve been saying for a while is my target, but I’ve had a few set backs and lost focus more times than I would like to admit.