Last active
October 30, 2019 02:33
-
-
Save ryanj/5b51b44948449c454e0cb1115b6ca9b4 to your computer and use it in GitHub Desktop.
Red Hat at #LISA19 in PDX http://bit.ly/rhlisa19
This file contains 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 data-markdown> | |
# Extending Kubernetes with the Operator Pattern | |
By @RyanJ | |
[bit.ly/rhlisa19](http://bit.ly/rhlisa19) | |
https://www.usenix.org/conference/lisa19/presentation/jarvinen | |
</section> | |
<section id='brought-to-you-by' data-background='black' data-markdown> | |
brought to you by | |
[![Red Hat logo](https://i.imgur.com/ArZFG3e.png "")](https://redhat.com) | |
</section> | |
<section data-markdown> | |
Welcome to | |
> “RyanJ’s Spooky Hall of Tortured Metaphors!” | |
</section> | |
<section data-markdown> | |
## Overview | |
* Part 1 - Orientation: noting the problem space | |
* Part 2 - Operators in practice: test, build, share | |
* Part 3 - The Future: Community, Hubs, OLM | |
</section> | |
<section data-markdown> | |
## Part1 - Disambiguation of terms | |
Dualing problem spaces: | |
* distributed solutions (dev) | |
* distributed systems / platforms (ops) | |
</section> | |
<section data-markdown> | |
### An Epic Tale of Adventure | |
> 10x devs vs five-nines admins in a quest to vanquish mismanaged state, once and for all | |
</section> | |
<section data-markdown> | |
### Reality sets in: | |
“Lab conditions” Kubernetes car vs Mad Max reality | |
</section> | |
<section data-markdown> | |
## "But, it works in my cluster!" | |
https://www.youtube.com/watch?v=kpsjKZUQEbs | |
</section> | |
<section data-markdown> | |
### Greenfield Tools of Choice (Ops): | |
* IaaS | |
* Etcd (stateful consensus store) | |
* Kubernetes (platform API) | |
* and a mysterious compatibility matrix of 10-20 additional cloud services (logs, metrics, traces, security?) | |
</section> | |
<section data-markdown> | |
### Greenfield Tools of Choice (Dev): | |
* “cloud-native” tools and solutions | |
* sufficient access to infrastructure deps | |
* reliable reproduction of the problem space (platform conditions) | |
</section> | |
<section data-markdown> | |
## Operators | |
1. Custom Controllers (extend the platform logic, behavior) | |
2. Custom Resource Definitions (extend core platform APIs w/ new declarative interfaces) | |
Result: reproducible, declarative infra deps w/ active mgmt capabilities | |
</section> | |
<section data-markdown> | |
The Operator Pattern is: | |
1. A way to pave over developer rabbit holes of any size, burying skeletons, snowflakes, and bikesheds in the process? | |
2. A clear way to carve up dependencies, enabling experts to get involved at the right layer of the stack | |
</section> | |
<section data-markdown> | |
## Part 2 - Try it | |
Login with your email address and a password of "openshift": | |
bit.ly/rhlisa19#/12 | |
* https://lab-build-an-operator-workshops.apps.cluster-lisa2019-cd19.lisa2019-cd19.open.redhat.com | |
* https://lab-build-an-operator-workshops.apps.cluster-lisa19-1fa5.lisa19-1fa5.open.redhat.com | |
</section> | |
<section data-markdown> | |
## Part 3 - The Future | |
Community, | |
Hubs, | |
OLM | |
</section> | |
<section data-markdown> | |
> “Think Autonomously” | |
</section> | |
<section data-markdown> | |
## OperatorHub | |
http://OperatorHub.io | |
</section> | |
<section data-markdown> | |
> "Kubernetes, take me home!" | |
</section> | |
<section data-markdown> | |
![failover](https://pbs.twimg.com/media/EH6PkpUUwAEXqXm?format=jpg&name=small) | |
https://twitter.com/ryanj/status/1188545226085810176 | |
</section> | |
<section data-markdown> | |
### Operator Lifecycle Manager (OLM) | |
Include mechanisms for refreshing that knowledge over time | |
https://github.com/operator-framework/operator-lifecycle-manager | |
</section> | |
<section data-markdown> | |
> “MISSION ACCOMPLISHED!” | |
</section> | |
<section data-markdown> | |
#### Possible complications: | |
* Namespacing and multi tenancy implications | |
* May lead to multi-cluster madness | |
</section> | |
<section data-markdown> | |
### Follow up tasks: | |
* Ops: http://try.openshift.com | |
* Dev: http://learn.openshift.com | |
* DevOps: http://learn.openshift.com/operatorframework | |
</section> | |
<section id='ebook'> | |
<h3>Free O'Reilly Ebook</h3> | |
<p><a href="https://www.openshift.com/deploying-to-openshift/"><img src="https://www.openshift.com/hubfs/images/openshift-legacy/promotions/deploying-to-openshift/deploying-to-openshift.png" style="margin-left:auto;margin-right:auto;width:45%;display:block;box-shadow:none;align:center;"></a></p> | |
<p><a href="https://www.openshift.com/deploying-to-openshift/">Deploying to OpenShift</a></p> | |
</section> | |
<section id='thank-you'> | |
<h1>Thank You!</h1> | |
<p><img style="width:33%;" alt="RyanJ" src="https://tek.phparch.com/wp-content/uploads/sites/7/2018/05/ryan-jarvinen-headshot-e1525184794614-531x424.jpg" /></p> | |
<p><a href="https://twitter.com/ryanj">@RyanJ</a></p> | |
<br/> | |
<h4 class="fragment grow"><a href="http://bit.ly/rhlisa19">bit.ly/rhlisa19</a></h4> | |
</section> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment