Last active
May 4, 2017 17:52
-
-
Save coresolve/ba84cbea98e8848b7b21cd7c4fa18f63 to your computer and use it in GitHub Desktop.
Config Management is an Antipattern
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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 | |
[](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