Skip to content

Instantly share code, notes, and snippets.

@coresolve
Last active May 4, 2017 17:52
Show Gist options
  • Save coresolve/ba84cbea98e8848b7b21cd7c4fa18f63 to your computer and use it in GitHub Desktop.
Save coresolve/ba84cbea98e8848b7b21cd7c4fa18f63 to your computer and use it in GitHub Desktop.
Config Management is an Antipattern
<section>
<section id='A look at configuration management'>
<h2>We Are Outnumbered.</h2>
<p><a href="http://www.internetlivestats.com/internet-users/"><img style="width:50%;" src="http://i2.kym-cdn.com/photos/images/facebook/001/120/130/83c.png"/></a>
<h4 class='fragment grow'><p>3,650,000,000 Internet Users in the world.</h4></a></p>
</section>
<section id='presented-by' data-markdown>
presented by
[![CoreOS Logo](http://i.imgur.com/DRm4KEq.png "")](https://coreos.com)
*Continuously ready to face the challenges of a modern world*
Join us in our goal to *Secure the Internet* by chosing solutions that are designed with Continuous Security in mind
</section>
</section>
<section id='overview' data-markdown>
## Overview
To run kubernetes locally on your laptop, you'll need to install:
1. [kubectl](#/kubectl)
2. [minikube](#/minikube)
3. [docker](#/docker)
4. [Optional tooling for advanced users](#/go)
</section>
<section id='kubectl'>
<h3>install kubectl</h3>
<p>linux amd64:</p>
<pre><code contenteditable>curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
</code></pre>
<p>osx amd64:</p>
<pre><code contenteditable>curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
</code></pre>
<p>To verify <code>kubectl</code> availability:</p>
<pre><code contenteditable>kubectl version</code></pre>
<p><a href="https://kubernetes.io/docs/tasks/kubectl/install/">official <code>kubectl</code> setup notes</a></p>
</section>
<section id='minikube'>
<h3>install minikube</h3>
<p>linux/amd64:</p>
<pre><code contenteditable>curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.18.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/</code></pre>
<p>osx:</p>
<pre><code contenteditable>curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.18.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/</code></pre>
<p>to verify <code>minikube</code> availability:</p>
<pre><code contenteditable>minikube start</code></pre>
<p><a href="https://github.com/kubernetes/minikube/releases">official <code>minikube</code> setup notes</a></p>
</section>
<section id='minikube-virt'>
<h4>minikube troubleshooting</h4>
<p>If your minikube environment does not boot correctly:</p>
<ol>
<li>Minikube requires an OS virtualization back-end</li>
<li>Most OSes include some support for virtualization</li>
<li>You can use the <a href="https://github.com/kubernetes/minikube#quickstart"><code>--vm-driver</code></a> flag to select a specific virt provider</li>
</ol>
<pre><code contenteditable>minikube start --vm-driver=virtualbox</code></pre>
<p>Check the project <a href="https://github.com/kubernetes/minikube#requirements"><code>README</code></a> for more information about <a href="https://github.com/kubernetes/minikube#requirements">supported virtualization options</a></p>
</section>
<section id='minikube-rkt'>
<h5><b>ADVANCED CHALLENGE OPTION</b></h5>
<h3>rkt-powered minikube (optional)</h3>
<p>To start <code>minikube</code> with <code>rkt</code> enabled, try:</p>
<pre><code contenteditable>minikube start --network-plugin=cni --container-runtime=rkt</code></pre>
<p>to verify:</p>
<pre><code contenteditable>minikube ssh
docker ps # expect no containers here
rkt list # list running containers</code></pre>
</section>
<section id='docker'>
<h3>install the docker cli</h3>
<p>Download and install binary from <a href="https://store.docker.com/search?offering=community&type=edition">"the docker store"</a></p>
<p>Or, use a package manager to install:</p>
<pre><code contenteditable>brew install docker</code></pre>
<p>To verify <code>docker</code> availability:</p>
<pre><code contenteditable>docker version</code></pre>
<p>To <a href="https://github.com/kubernetes/minikube#reusing-the-docker-daemon">reference minikube's docker daemon from your host</a>, run:</p>
<pre><code contenteditable>eval $(minikube docker-env)</code></pre>
</section>
<section id='go'>
<h5><b>ADVANCED CHALLENGE OPTION</b></h5>
<h3>install go (optional)</h3>
<p>Download and install binary from <a href="https://golang.org/doc/install">golang.org</a></p>
<p>Or, use a package manager to install:</p>
<pre><code contenteditable>brew install go
export GOPATH=$HOME/src/go
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin</code></pre>
<p>To verify <code>go</code> availability:</p>
<pre><code contenteditable>go version</code></pre>
</section>
<section id='next-steps'>
<h3>Congratulations on completing:</h3>
<p>
<a href="http://bit.ly/k8s-minikube">
<b>Local Kubernetes Environments with <code>minikube</code></b>
<h5 class='fragment grow'><code>bit.ly/k8s-minikube</code></h5>
</a>
</p>
<br/>
<h4><i>Next Steps</i></h4>
<p>Continue learning with other <a href="http://bit.ly/k8s-workshops"><code>k8s-workshops</code></a>:</p>
<ol>
<li><a href="http://bit.ly/k8s-kubectl"><b>Kubernetes Command-Line Basics with <code>kubectl</code></b><br/>bit.ly/k8s-kubectl</a></li>
<li><a href="http://bit.ly/k8s-miniarch"><b>Kubernetes Architecture (adapted for <code>minikube</code>)</b><br/>bit.ly/k8s-miniarch</a></li>
<li><a href="http://bit.ly/operatorpattern"><b>Extending Kubernetes with the Operator Pattern</b><br/>bit.ly/operatorpattern</a></li>
</ol>
</section>
<!--
<section id='thank-you' data-markdown>
# Thank You!
</section>
<section id='ready' data-markdown>
# *Ready?*
</section>
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment