Kubernetes is open-source container-centric platform for automating deployment, scaling, and operations of application containers across clusters of hosts.
3. About Me
● Software Engineer @ Red Hat
● Develop tools for Developers like you!
● CI/CD
● Previous Life:
○ Tech Support Engineer
○ Linux Admin
○ Django developer
4.
5. What is Kubernetes?
● Open-source platform
● Deploy application containers across clusters of hosts
● Container-centric infrastructure
● Features:
○ Quickly deploy applications
○ Scale the applications
○ Rolling updates
● Physical and Virtual machines
● Google, Red Hat, Intel, Puppet, CoreOS, etc.
7. Pods
● Smallest deployable units that can be created and managed in k8s
● Group of containers scheduled on the same host
● Share resources like volumes, IP address
● Containers within a pod can find each other via localhost
● Can also communicate using standard IPC
● Containers in different pods have distinct IP addresses and can not
communicate by IPC.
9. Labels
● Key/Value pairs that are attached to objects, such as pods
● Used to organize and select subsets of objects
● Example labels:
○ "release" : "stable", "release" : "canary"
○ "environment" : "dev", "environment" : "qa", "environment" :
"production"
11. Replication Controllers (rc)
● Ensures a specified number of pod “replicas” are running
● If there are more pods, it’ll kill some
● If there are less pods, it’ll start more
● Manages all the pods with labels which match the “selector”
● Increase/Decrease number of replicas on the fly
13. Services
● Pod IP addresses cannot be relied upon!
● What if pods (backend) provide some service to other pods (frontend)
and backend pods suddenly die?
● Services define logical set of Pods
● Set of Pods targeted by a Service is determined by “selector” (same
concept as rc)
15. Deployments
● Provides declarative updates for Pods and Replica Sets (next gen RC)
● Used to bring up Pods and Replica Sets
● Canary deployments
16. Volumes
● Just another directory accessible to the Pod
● Ceases to exist when Pod ceases to exist
● Support for many volume types; Pod can use any number of them
simultaneously
● Mounted at the specified paths within the image
19. Persistent Volume
● A piece of networked storage in the cluster provisioned by an
administrator
● Lifecycle independent of any individual pod that uses the PV
● Types:
○ GCEPersistentDisk
○ RBD (Ceph)
○ Glusterfs
○ NFS
○ iSCSI
○ …