This document provides an overview of containers and Kubernetes (k8s). It discusses the advantages of containers over virtual machines, popular container orchestration frameworks including Kubernetes, and what Kubernetes does. Specifically, it describes how Kubernetes schedules containers into pods, organizes pods into clusters, exposes groups of pods as services, and uses ingress to load balance traffic. It also covers how Kubernetes provides scalability by restarting pods, starting more replicas, and expanding the cluster as needed.
13. @CesarTronLozai
KUBERNETES
WHY KUBERNETES (K8S)?
▸Built on the foundation of Google internal tool (Borg)
▸No cloud or architecture tie in, works “everywhere”
▸Native hosting on AWS, Azure and GCE
▸Rich declarative API (vs imperative API)
▸Open Source, large and active community
40. @CesarTronLozai
KUBERNETES & JAVA
START YOUR OWN KUBERNETES
JOURNEY
@cesarTronLozai
https://kubernetes.io/
https://medium.com/@cesar.tronlozai
https://learnk8s.io/start-kubernetes-nodejs/
41. @CesarTronLozai
KUBERNETES & JAVA
START YOUR OWN KUBERNETES
JOURNEY
▸ Install Minikube
▸ Create a cluster in the cloud
▸ Learn about RBAC
▸ k9s
AS A PLATFORM
ENGINEER
AS A DEVELOPER
▸ Learn about k8s resources
▸ Learn about Helm, K8s operators
▸ Google Skaffold
▸ telepresence.io
▸ k9s
I will use container/docker but they are different
Jar: 10MB
Jdk: 50MB
Alpine: 10MB
Total: 70MB
Just be aware that Docker can’t just replace VMs
Techniques for isolation:
namespaces (mount, network) reduce scope of resources
Control groups: enforces rules (e.g. memory, process will be killed if over hard memory limit)
I’m not an expert
Just be aware that Docker can’t just replace VMs
how do you run multiple replicas
How do you check for health and rest
How do you make it available on the internet
All of the issues Orchestration
2019: 58k starts, 20k forks
Google
THoughtworks radar: Adopt, use by many clients
Cloud Native Computing Foundation serves as the vendor-neutral home for many of the fastest-growing projects on GitHub, including Kubernetes, Prometheus and Envoy, fostering collaboration
between the industry’s top developers, end users, and vendors.
CNCF is an open source software foundation dedicated to making cloud native computing universal and sustainable. Cloud native computing uses an open source software stack to deploy applications as microservices, packaging each part into its own container, and dynamically orchestrating those containers to optimize resource utilization. Cloud native technologies enable software developers to build great products faster.