Please enable JavaScript.
Coggle requires JavaScript to display documents.
Containerization (Orchestrator Tools (Kubernetes (Software (Pods (One or…
Containerization
Orchestrator Tools
Kubernetes
Hardware
Node
Single machine in your cluster, can be physical or virtual
-
-
-
-
-
Persistent Volumes
Since programs running on a cluster aren't guaranteed to run on a specific node, data can't be saved locally.
Local or cloud drives can be attached to cluster as persistent volume. This volumes are not associated with any particular node.
Software
Containers
-
Ability to create self-contained Linux execution environments with any program and all its dependencies
Should limit one process per container, if possible
-
Pods
-
-
Containers can easily communicate with other containers in the same pod as though they were on the same machine while maintaining a degree of isolation from others
-
Should remain as small as possible, typically holding only a main process and its tightly-coupled helper containers (usually mentioned as side-cars)
Deployments
-
When a deployment is added to the cluster, it will automatically spin up the requested number of pods and then monitor them.
No need to deal with pods manually, just declare the desired state of the system and will be managed for you automatically
We can have specific strategies, like canary deployments
Execute multiple deployments.yaml with different docker images, and use a loadbalancer as a service.
-
Service
-
-
Can be think as load balancers for pods: services provide an IP address that consumers can use and will balance the requests among the pods that are under it
-
-
-
What is?
Is a open-source system for automating deployment, scaling and management of containerized applications
Since it's open-source, allows you to create your own building blocks to enhance what’s already on the platform.
Takes a declare state of what/how you want your microservices and makes it happen across different machines (pool of resources)
Docs
-
Failure strategy
-
You can automatically resize the controllers back again, when you need to rollback
-
Benefits
-
Solving Outages
A manual infrastructure management process causes headaches for coding teams because someone has to remain alert in case any outages happen. If your app is down, with an automated platform such as Kubernetes, you can automate patches and updates to solve these outages.
Server Usage Efficiency
If your apps are not packed efficiently onto servers, you may be overpaying for capacity. Kubernetes maximizes the efficiency of your server usage to ensure you’re not overdoing it or under doing it.
-
-
-
OpenShift (RedHat)
Forrester: Red Hat provides built-in logging and metrics and Prometheus dashboards but lacks a unified operations console.
Forrester: OpenShift is well- integrated with Red Hat Enterprise Linux, Ansible, OpenStack, and JBoss middleware.
-
Marathon
Container Orchestration platform for Mesosphere's Datacenter Operating System (DC/OS) based on Apache Mesos
-
Azure Container Service
Allows you to quickly deploy a production ready Kubernetes, DC/OS or Docker Swarm cluster.
Rancher
-
Rancher centrally manages all this clusters in order to ensure security and accelerate transformation
Forrester: It includes highly customizable access controls, policy enforcement, resource isolation, and image scanning
Forrester: Rancher’s unified multicluster Kubernetes management platform supports many public and on-premises infrastructure platforms
Forrester: Is best for firms seeking an open source, cross-cloud Kubernetes control plane
-
-
Containers
Docker (CE and EE)
-
-
-
-
-
what is containerd
Used by docker, kubernetes CRI and others
Everything that you need to build a container platform without having to deal with the underlying OS details
It was designed to be used by container platforms that want to abstract away syscalls or OS specific functionality to run containers in any OS.
-
What is?
Open platform for developers and sysadmins to build, ship and run distributed applications, whether on laptops, data center VMs or the cloud. No more "works on my machine" :smiley:
-
-
rkt
-
-
-
Developed with a principle of "secure-by-default" and includes a number of important security features like support for SELinux, TPM measurement and running app containers in hardware isolated VMs.
-
-
-
LXD (LXC)
LXD vs Docker
-
Docker is best compared to an onion, where all internal layers are read-only and only the last layer is writeable
Docker allows easy prototyping as well as reusability of the work made by others with adding your own changes on top if desired
Docker doesn't allow easily to an administrator remotely log into the container and just add some monitoring, backup, etc.
-
LXD allows you to have access to a virtual server like a hypervisor, but without the operating systems being duplicated
-
Docker is light-weight, simplistic and is well-suited for isolating applications from each other.
Hypervisor, docker and LXD coexistance
Hypervisor make sure Windows runs on top of an Ubuntu host (linux containers can not support windows on top)
-
LXD will be best for all your standard linux workloads that you just want to move as is, without the need to update the applications or the tools that get integrated into them
LXD containers are much better equipped than docker and are much closer to a complete operating system environment with networking and storage interfaces. You can run multiple Docker containers nested inside LXD, if you want.
LXD containers supports network bridges, macvlan and multiple other options.
LXD containers and your host all form a private network of their own and can communicate with each other as if they are talking to different computers over a network
LXD aims to be a OS container, instead of just application container
Docker Machine
A tool for provisioning and managing your Dockerized hosts (hosts with Docker Engine on them). Docker Machine has its own command line client docker-machine and the Docker Engine client, docker.
-
These virtual systems can be local (as when you use Machine to install and run Docker Engine in VirtualBox on Mac or Windows) or remote (as when you use Machine to provision Dockerized hosts on cloud providers).
RancherOS
By containerizing system services and leveraging Docker container management tools, the operating system provides a very reliable and easy to manage container-ready environment
System services are defined by Docker Compose and automatically configured using cloud-init, reducing administrative burden. Unneeded libraries and services are eliminated, resulting in a significantly reduced footprint and minimizing the hassle of updating, patching and maintaining a container host operating system.
-
mobyproject
-
-
-
Not recommended for:
Application developers looking for an easy way to run their applications in containers. We recommend Docker CE instead.
Enterprise IT and development teams looking for a ready-to-use, commercially supported container platform. We recommend Docker EE instead.
-
Configuration Managers
-
Kapitan (Kubernetes, Terraform, etc.)
-
-
-
-
OpenStack
What is?
It’s a set of tools that allows large enterprises, to run their own AWS-like cloud services inside their data centers.
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
Competition
When it was founded, OpenStack still had a few competitors, like CloudStack and Eucalyptus. OpenStack, thanks to the backing of major companies and its fast-growing community, quickly became the only game in town, though.
Trend
Today, only a few of the early players remain standing, and the top players are now the likes of Red Hat, Canonical and Rackspace.
Some of the early players went out of business, some shut down their OpenStack units and others sold to the remaining players.
Open-source project in transition — one that has passed through the trough of disillusionment and hit the plateau of productivity, but that is now looking for its next mission. Bryce and Collier admit that they don’t have all the answers, but if there’s one thing that’s clear, it’s that both the OpenStack project and foundation are far from dead.
-
-
Docker Management
portainer.io
-
Portainer gives you a detailed overview of your Docker environments and allows you to manage your containers, images, networks and volumes.
-
-