Your Developers Can Be Heroes on Kubernetes

Post on 22-Jan-2018

226 views 5 download

Transcript of Your Developers Can Be Heroes on Kubernetes

1

YOUR DEVELOPERS CAN BE HEROES ON KUBERNETES

Richard Li and Rafael Schloming

2

Agenda

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

3

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

microservices

4

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

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.

6

Kubernetes (User) Primer

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.

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

9

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

10

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

11

Three components of deploying a service …

service.yaml deployment.yaml

service dependencies cloud resources

+

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

13

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

14

What about developing software on Kubernetes?

15

A typical development workflow

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

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)

17

Iterate based on feedback

The most agile organizations accelerate this feedback loop.

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.

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

20

Microservices creates a strong incentive to accelerate your DevOps maturity.

21

Development must produce runnable services, not just packages.

22

Let’s see an actual working example of a developer workflow in 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 hello@datawire.io.

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 hello@datawire.io.