Week 13_Kubernetes
Tambahan:
Kubernetes Explained IBM Technology Kubernetes Explained
Kubernetes Key Component and Concept
https://prakashkumar0301.medium.com/kubernetes-key-component-and-concept-68c18e21cb95
Docker schedulers
Docker Swarm Citadel CoreOS Fleet
Lattice from CF incubator Clocker (via blueprints) ...
Kubernetes
Kubernetes
Overview
Docker application orchestration Google GCE, rackspace, Azure providers Deployable on CoreOS
Container replication HA services
Relevance
It's the next big trend for managing virtualized infrastructure
It's become the industry standard for deploying containers in production It can run any containerized application
Objective
The main objective of Kubernetes is to hide the complexity of managing a fleet of containers by providing REST APIs for the required functionalities.
Applications to be available 24/7
To deploy new versions of those applications several times a day
Features
1. Automated Scheduling
Kubernetes provides advanced scheduler to launch container on cluster nodes
2. Self Healing Capabilities
Rescheduling, replacing and restarting the containers which are died.
3. Automated rollouts and rollback
Kubernetes supports rollouts and rollbacks for the desired state of the containerized application 4. Horizontal Scaling and Load Balancing
Kubernetes can scale up and scale down the application as per the requirements
Architecture
Master-slave architecture
A cluster is a set of machines, called nodes, that run containerized applications managed by Kubernetes A cluster has at last one worker node and at least one master node.
Master node, hosts a collection of processes to maintain the desired state of the cluster
Slave nodes, simply as nodes, have the necessary processes to run the containers and be managed by the master
3 Components:
Master nodes Worker nodes ETCD
Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data.
Master Node
Responsible for managing the kubernetes cluster It is the entry point for all administrative task Can be more than one master node in the cluster Only one of them will be leader
Kubernetes used etcd Master node components:
API server Scheduler
Controller Manager etcd
Worker Node
Worker node components:
Container runtime Kubelete
Kube-proxy
kubelet
An agent that runs on each node in the cluster. It makes sure that containers are running in a Pod.
kube-proxy
kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept.
Addons
Addons use Kubernetes resources to implement cluster features
Providing cluster-level features, namespaced resources for addons belong within the kube-system namespace.
DNS Web UI
Container Resource Monitoring Cluster-level Logging
Master-Node communication
Communication paths between the master (apiserver) and the Kubernetes cluster intent is to allow users to customize their installation to harden the network configuration 1 Cluster to Master
2 Master to Cluster
Kubernetes objects & workloads
Pods
Pods are the smallest deployable units of computing that you can create and manage in Kubernetes.
A Pod is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers.
Replication controllers & replication sets Deployment
Stateful sets Daemon sets Jobs & cron jobs
A CronJob creates Jobs on a repeating schedule.
CronJob is meant for performing regular scheduled actions such as backups, report generation, and so on.