Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zero to Kubernetes — Developer's Gym Singapore

Zero to Kubernetes — Developer's Gym Singapore

You've heard of Docker and Kubernetes, and you can tell that they are the next big thing to learn.

You want to master Kubernetes, but where should you start?

Enter Zero to Kubernetes: a step-by-step course on how to architect, develop and deploy applications in Kubernetes.

This course walks you through the full path from coding an application to deploying it to a production-grade Kubernetes cluster.

## You will learn how to

- Write a note-taking application in Node.js or Java
- Package the app as a Docker image
- Deploy the containerised application to a local Minikube cluster
- Refactor your application to make it stateless and scalable
- Deploy the improved application to a production-grade Kubernetes cluster on AWS

## This workshop is for

- Docker and Kubernetes beginners
- Developers who build and architect cloud-native applications
- DevOps and system administrators

## Prerequisites

- Java or Node.js installed
- Minikube and kubectl
- Docker
- Git, curl

This workshop is Windows, macOS and Ubuntu friendly.

You will be using the Learnk8s Academy for this workshop. You will need a valid email address to access the content.

https://learnk8s.io/academy

## About the trainer

Daniele is an instructor at Learnk8s, where he teaches Kubernetes and containers to small and large enterprises.

Daniele Polencic

September 28, 2019
Tweet

More Decks by Daniele Polencic

Other Decks in Technology

Transcript

  1. JS

  2. JS

  3. JS

  4. JS

  5. JS

  6. JS

  7. JS

  8. JS

  9. Write the knote app Connect to th DB Create the

    container Run it as a container Your turn
  10. ?

  11. Load balancer Ingress Pod 1 Pod 2 Load balancer front-end

    Front-end service Pod 5 Load balancer backend Backend service Incoming traffic
  12. ~$ cat deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: app

    spec: selector: matchLabels: name: app template: metadata: labels: name: app spec: containers: - name: nginx image: nginx:1.7.9 ~$ _
  13. ~$ cat deployment.json { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": {

    "name": "app" }, "spec": { "selector": { "matchLabels": { "name": "app" } }, "template": { "metadata": { "labels": { "name": "app" } }, "spec": {