Container:
A lightweight and portable executable image that contains software and all of its dependencies
Cluster:
A set of machines, called nodes, that run containerized applications managed by Kubernetes
PoD:0
A point of delivery/point-of-deployment, or PoD, is "a module of network,
compute, storage, and application components that work together to
deliver networking services. The PoD is a repeatable design pattern, and its components maximize the modularity, scalability, and manageability of data centers." [1]
Docker:
Docker is a software technology providing operating-system-level virtualization also known as containers.
kubernetes(k8s):
K8s:K eightcharacters(ubernete) s:
The REST API is the fundamental fabric of Kubernetes. All operations and
communications between components.To write applications using the
Kubernetes REST API,
you do not need to implement the API calls and request/response types yourself.
You can use a client library for the programming language you are using.
https://kubernetes.io/docs/reference/kubectl/docker-cli-to-kubectl/
"K3s":
K8s is a general-purpose container orchestrator,
while K3s is a purpose-built container orchestrator for running
Kubernetes on bare-metal servers. Kubernetes uses kubelet, an agent
running on each Kubernetes node to perform a control loop of the
containers running on that node. This agent runs inside the container
Orchestrator:
HelmsMan:
HelmChart:
Helm: This is steering or device used for ship/boat (
a tiller or wheel for steering a ship or boat).
Few Common Infra:
NATS and NATS Streaming:
KAFKA:
Cisco Contiv:
Kafka generally scales very well, so measuring the
throughput of a single broker with a single producer and single consumer
isn’t particularly meaningful. In reality, we’d be running a cluster
with several brokers and partitioning our topics across them.
For as young as it is, NATS Streaming has solid performance
(which shouldn’t come as much of a surprise considering the history of
NATS itself), and I imagine it will only get better with time as the
NATS team continues to optimize. In some ways, NATS Streaming bridges
the gap between the commit log as made popular by Kafka and the
conventional message queue as made popular by protocols like JMS, AMQP,
STOMP, and the like.
https://blogs.cisco.com/cloud/why-contiv
Few Common DB:
Readb
REST API:
Docker is basically using the OS-level virtualization, Linux
namespaces and control groups, for example. Its overhead is very thin
compared to a virtualization technique, like Hypervisor used by virtual
machines.
Docker is container based technology and containers are just user
space of the operating system. At the low level, a container is just a
set of processes that are isolated from the rest of the system, running
from a distinct image that provides all files necessary to support the
processes. It is built for running applications. In Docker, the
containers running share the host OS kernel.
A Virtual Machine, on the other hand, is not based on container
technology. They are made up of user space plus kernel space of an
operating system. Under VMs, server hardware is virtualized. Each VM has
Operating system (OS) & apps. It shares hardware resource from the
host.
VMs & Docker – each comes with benefits and demerits. Under a VM
environment, each workload needs a complete OS. But with a container
environment, multiple workloads can run with 1 OS. The bigger the OS
footprint, the more environment benefits from containers. With this, it
brings further benefits like Reduced IT management resources, reduced
size of snapshots, quicker spinning up apps, reduced & simplified
security updates, less code to transfer, migrate and upload workloads.
Deep on Docker:
https://en.wikipedia.org/wiki/Docker_(software)
https://medium.com/@kasunmaduraeng/docker-namespace-and-cgroups-dece27c209c7
https://www.linux.com/news/understanding-and-securing-linux-namespaces/
https://en.wikipedia.org/wiki/Linux_namespaces
https://www.youtube.com/watch?v=fqMOX6JJhGo
Deep Kubernetes (K8s):
https://kubernetes.io/docs/concepts/overview/components/
DevOps:
https://searchitoperations.techtarget.com/definition/DevOps
Namespace:
https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces
https://www.nginx.com/blog/what-are-namespaces-cgroups-how-do-they-work/
https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking#macvlan
Docker Networking:
https://www.youtube.com/watch?v=j_UUnlVC2Ss
https://kodekloud.com/tutorials/
https://argus-sec.com/docker-networking-behind-the-scenes/
https://legacy.netdevconf.info/1.2/slides/oct7/01_ahern_microservice_net_vrf_on_host.pdf
https://people.kernel.org/dsahern/management-vrf-and-dns
Linux VRF:
https://www.kernel.org/doc/html/latest/networking/vrf.html
https://www.ibm.com/docs/en/was-nd/9.0.5?topic=machines-aliasing-network-interface-card-loopback-device
https://wiki.linuxfoundation.org/networking/start
Yaml basic:
https://en.wikipedia.org/wiki/YAML
Json basic:
https://www.youtube.com/watch?v=nPciTVMIDU4
https://www.crio.do/blog/what-is-json/?utm_source=adwords&gclid=CjwKCAjwz5iMBhAEEiwAMEAwGJQBNKrkP_gpm1XHo2iBRrLzb5CUpy8f4q6CncSyiCqVVrRtILvauxoCDpEQAvD_BwE
asn.1 vs json reason and history
https://news.ycombinator.com/item?id=8871604
Cloud Vs Cloud-Native
VPP