Post on 22-May-2020
transcript
Demystifying Kubernetes: An introduction for Sysadmins & co.
Federica Teodori
Project Manager
fteodori@suse.com
Miquel Sabaté
Software Engineer
msabate@suse.com
2
In the beginning, there was ...
● A developer● An application● Many problems
3
/ˌpanəˈsiːə/nouna solution or remedy for all difficulties or diseases.
4
Live long and prosper!
5
Reality check:
6
The “orchestration” problem
● Isn't really anything new ● Not “containers only” problems● Distributed DC. Highly Available applications, load balancers ...● Do we really need to reinvent the wheel yet another time?
7
Orchestrate!
8
Kubernetes facts:
● Container orchestrator● Open source● Based on rock solid papers● Opinionated solution: has an answer to most questions● Created by Google, now part of the CNCF● Big and active community● Battle-tested with real-world production scenarios
9
Concepts: container
● Contains an application and its required environment● Isolated, so load balancing, connectivity, storage, etc. becomes a challenge● The most basic unit from the Kubernetes point of view
10
Concepts: pod
● A runnable unit of work● It can be just one container, or multiple related containers● Kubernetes connects pods to the network and the cluster environment.
11
Concepts: replication controller
● Manages pods● Makes sure that a specific number of “replicas” are running at the same time
12
Concepts: service
● An abstraction that tells to Kubernetes what is your application providing
• This information is also given to all pods and replication controllers.● The IP and port of a service always stays the same
• Managed by Kubernetes
• Integrated service discovery
13
Concepts: volume
● A location where containers can access and store data● There are lots of storage backends: local storage, Ceph, etc.
14
Concepts: label
● A way to identify anything● Open-ended: the meaning of a label is up to the administrator
15
Concepts: namespace
● Grouping mechanism● A degree of isolation for the different parts of your cluster
16
Architecture
17
Cool, how do I deploy it?
18
You simply need to...
● Install certificates on each node.● Install, configure and make sure that the following work together on
multiple nodes:● etcd● All the Kubernetes binaries: kube-proxy, kubelet, kube-controller-manager,
kube-scheduler, kube-apiserver.● flannel● Docker
● That’s a total of 5 extra configuration files for each master, plus 4 for each minion, and another one for etcd.
● Read for quite some hours “Getting started” guides.
19
What are we doing?
20
SUSE & Kubernetes:
● Main focus: Reduce administration overhead
- SUSE OpenStack Cloud 7 and Magnum
- SUSE Containers as a Service Platform
21
Questions ?