your developers can be heroes on kubernetes

24
1 YOUR DEVELOPERS CAN BE HEROES ON KUBERNETES Richard Li and Rafael Schloming

Upload: datawire

Post on 22-Jan-2018

226 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Your Developers Can Be Heroes on Kubernetes

1

YOUR DEVELOPERS CAN BE HEROES ON KUBERNETES

Richard Li and Rafael Schloming

Page 2: Your Developers Can Be Heroes on Kubernetes

2

Agenda

Why Kubernetes Kubernetes (User) Primer The Developer Workflow on Kubernetes Q&A

Page 3: Your Developers Can Be Heroes on Kubernetes

3

Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications.

microservices

Page 4: Your Developers Can Be Heroes on Kubernetes

4

In a short period of time, Kubernetes has built a significant community and base of users.

Page 5: Your Developers Can Be Heroes on Kubernetes

5

1. Kubernetes enables a move to a container/service model, which can improve your development agility and velocity.

2. Kubernetes enables infrastructure as configuration, versus infrastructure as code.

Page 6: Your Developers Can Be Heroes on Kubernetes

6

Kubernetes (User) Primer

Page 7: Your Developers Can Be Heroes on Kubernetes

7

Kubernetes works like a thermostat.

Declarative. Define your desired state.

Infinite loop. Continuously adjust the observed state of the infrastructure to map to the desired state.

Page 8: Your Developers Can Be Heroes on Kubernetes

8

A typical Kubernetes cluster

Node

Pod

ContainerContainer

Pod

ContainerContainer

Node

Pod

ContainerContainer

Pod

ContainerContainer

Node

Pod

ContainerContainer

Pod

ContainerContainer

Node

Pod

ContainerContainer

Pod

ContainerContainer

Page 9: Your Developers Can Be Heroes on Kubernetes

9

A deployment is a declarative definition of pod(s) configuration.

Page 10: Your Developers Can Be Heroes on Kubernetes

10

A service defines a logical set of Pods and a policy on how that service can be accessed.

Page 11: Your Developers Can Be Heroes on Kubernetes

11

Three components of deploying a service …

service.yaml deployment.yaml

service dependencies cloud resources

+

Page 12: Your Developers Can Be Heroes on Kubernetes

12

kubectl explain

% kubectl explain secrets DESCRIPTION: Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.

FIELDS: apiVersion <string> APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources

Page 13: Your Developers Can Be Heroes on Kubernetes

13

Let’s deploy a trivial Hello, World service in Kubernetes from a Docker container.

Page 14: Your Developers Can Be Heroes on Kubernetes

14

What about developing software on Kubernetes?

Page 15: Your Developers Can Be Heroes on Kubernetes

15

A typical development workflow

Write code; commit. Build, test, package. Deploy.

Page 16: Your Developers Can Be Heroes on Kubernetes

16

How does this workflow translate to Kubernetes?

Create service, and edit some code

Build Docker image containing service and its OS dependencies

Push Docker image into a Docker Registry

Write Kubernetes YAML for service and its runtime dependencies

Deploy service and its dependencies into Kubernetes

Iterate based on feedback

Provision runtime dependencies (e.g., database)

Page 17: Your Developers Can Be Heroes on Kubernetes

17

Iterate based on feedback

The most agile organizations accelerate this feedback loop.

Page 18: Your Developers Can Be Heroes on Kubernetes

18

Iterate based on feedback

Automate your workflow with custom scripts & CI.1 2

Staff your operations group to create deployment configuration files, provision resources, and handle deployment.

Page 19: Your Developers Can Be Heroes on Kubernetes

19

Iterate based on feedback

Automate your workflow with custom scripts & CI.1 2

Staff your operations group to create deployment configuration files, provision resources, and handle deployment.

Development delivers features

Operations gates releases

Page 20: Your Developers Can Be Heroes on Kubernetes

20

Microservices creates a strong incentive to accelerate your DevOps maturity.

Page 21: Your Developers Can Be Heroes on Kubernetes

21

Development must produce runnable services, not just packages.

Page 22: Your Developers Can Be Heroes on Kubernetes

22

Let’s see an actual working example of a developer workflow in Kubernetes.

Page 23: Your Developers Can Be Heroes on Kubernetes

23

Kubernetes Services Acceleration Program

TRAINING

Kubernetes 101. What are the changes you need to

accelerate your adoption of Kubernetes and services?

ARCHITECTURE WORKSHOP

Understand your current and desired development

workflow, and recommend choices for your stack.

DELIVERY

We’ll work on-site or remotely with your team to

set up / update your Kubernetes infrastructure using state-of-the-art OSS

tools.

HANDOFF

Documentation and training, and online support.

Contact us for a free, 30 minute consultation at [email protected].

Page 24: Your Developers Can Be Heroes on Kubernetes

24

Ambassador, an API Gateway designed for Kubernetes services: getambassador.io Forge, a fast build system for

Kubernetes services: forge.sh Loom, self-service provisioning for

Kubernetes services: loom.run Telepresence, fast, local

development of services against a remote Kubernetes cluster: telepresence.io

Contact us for a free, 30 minute consultation at [email protected].