- Check Our Docker Install and Config
- Starting a Nginx Web Server
- Debrief: What Happens When We Run a Container
- Container VS. VM: It's Just a Process
- Windows Containers: Docker Is No Longer Just Linux
- Assignment: Manage Multiple Containers Containers
- What's Going On In Containers: CLI Process Monitoring
- Getting a Shell Inside Containers: No Need for SSH
- Docker Networks: Concepts for Private and Public Comms in Containers
- FIXME: Change In Official Nginx Image Removes Ping
- Docker Networks: CLI Management of Virtual Networks
- Docker Networks: DNS and How Containers Find Each Other
- Assignment: Using Containers for CLI Testing
- FIXME: Bug in alpine affects nslookup
- Assignment: DNS Round Robin Test
- What's In An Image (and What Isn't)
- The Mighty Hub: Using Docker Hub Registry Images
- Images and Their Layers: Discover the Image Cache
- Image Tagging and Pushing to Docker Hub
- Building Images: The Dockerfile Basics
- Building Images: Running Docker Builds
- Building Images: Extending Official Images
- Assignment: Build Your Own Dockerfile and Run Containers From It
- Using Prune to Keep Your Docker System Clean
- Container Lifetime & Persistent Data
- Persistent Data: Data Volumes
- Shell Differences for Path Expansion
- Persistent Data: Bind Mounting
- Assignment: Database Upgrades with Named Volumes
- Assignment: Edit Code Running In Containers With Bind Mounts
- Database Passwords in Containers
- Docker Compose and The docker-compose.yml File
- Trying Out Basic Compose Commands
- Assignment: Build a Compose File For a Multi-Container Service
- Adding Image Building to Compose Files
- Assignment: Compose For Run-Time Image Building and Multi-Container Development
- Swarm Mode: Built-In Orchestration
- Create Your First Service and Scale It Locally
- UI Change For Service Create/Update
- Docker Machine Bug With Swarm
- Creating a 3-Node Swarm Cluster
- Kubernetes = popular with Orchestration.
- Container Orchestration = Make many server acts like one
- Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
- Runs on the top docker as a set of APIs in Containers.
- Many clouds for it for you.
- Many "vendors" make a distribution of it.
- It provides API/CLI to manage containers across servers.
- By reviewing swarm mode: built-in orchestration.
- Orchestration: Next logical steps in journey tofaster DevOps.
- We need to understand the reason orchestration is required.
- Not every solution needs orchestration.
- Servers + Change Rate = Advantages of Orchestration.
- Next make a decision to choose orchestration.
- While Kubernetes make decision to use which distribution for example, cloud or self management like Docker Enterprise, OpenShift, Rancher, Canonical and VMWare PKS) and we do not usually need the pure upstream.
- These two both are containers orchestrators.
- Both had solid platform with vendors backing.
- Swarm is easir to deploy and manage.
- Kubernetes have many features and moe flexibility.
- It comes with Docker woth single vendor platform.
- It has easier to troubleshoot.
- It has secure defult.
- It has easier orchestrators to deploy and manage yourself.
- It can runs anywhere in docker like, local or cloud or datacenter as well as ARM or windows or 32-bit.
- The cloud would deploy and manage Kubernetes for you.
- The infrastructure vendors are making their own distribution.
- It has widest adoption and community.
- It is flexible to cover widest sets of use cases.
- It has first vendor support.
- It has CTO/CIO Checkbox.
- Check out Kubernetes or k8's Components.
- The whole orchestration system is Kubernetes.
- k8 or kube for short.
- KubeCTL: CLI to configure Kubernetes and manage the apps.
- We can also say this cube controls.
- Node.js is basically usd for Single Server in Kubernetes Cluster.
- Kublet means Kubernetes basically runs agent on nodes.
- Control Plane has a set of containers that manage the clusters. This includes API server, Scheduler, Controller Manager and more.
- It also sometimes known as master.
- It is a series of containers, CLI and configuration.
- There are many ways to install, but we can focus on any easy Installation.
- Docker Desktop needs to be enable in the settings.
- It needs to setup everythings inside the Docker to make exisiting on Linux VM.
- Docker has a ToolBox on Windows which is called MiniKube.
- It uses VirtualBox to make Linux VMs.
- We can also use our own Linux Host or VM called MicroK8s.
- We can also install right on the OS.
- Install Tips for minikube and MicroK8s
-
POD: One or more Containers running together on one Node of basic unit of deployment and the containers are always in Pods.
-
Controller: For creating and updating pods and other objects and there were many types of controllers like, deployment, ReplicaSet, CronJob, Job, StatefulSet and DaemonSet.
-
Service: Its service Networks EndPoints to connect to a Pod.
-
Namespace: It can filtered groups of objects in cluster with Secrets, ConfigMag and many more.
- It is evolving and it has CLI.
- There is also YAML pro and cons.
- We can use to Run and Create the CLI.
- We can get 3 ways to create pods from the KubeCTL CLI
- kubectl run : We can change to be only for Pod Creation on 1.18.
- kubectl create : We can create some resources via YAML or CLI files.
- kubectl apply : We can create anything via YAML