Kubernetes(K8s) is an open-source container-orchestration system for automating application deployment, scaling, and management. It's all about automation of operational tasks. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation(CNCF).
Google was one of the early contributors to Linux container technology. Google's internal platform, Borg was the predecessor to Kubernetes and the lessons learned from developing Borg over the years became the primary influence behind much of the Kubernetes technology. It helps you fully implement and rely on a container-based infrastructure in production environments.
K3s is a lightweight, easy to install Kubernetes distribution geared towards resource-constrained environments and low touch operations. Some use cases in which k3s really shines are edge, ARM, IoT, and CI. K3s is a fully CNCF (Cloud Native Computing Foundation) certified Kubernetes offering. This means that you can write your YAML to operate against a regular “full-fat” Kubernetes and they’ll also apply against a k3s cluster.
Kubernetes key usages:
1. Orchestrate containers across multiple hosts
2. Control and automate application deployments and updates.
3. Make better use of hardware to maximize resources needed to run your enterprise apps.
4. Mount and add storage to run stateful apps.
5. Scale containerized applications and their resources on the fly.
Kubernetes jargon:
Master: The machine that controls Kubernetes nodes. This is where all task assignments originate.
Node: These machines perform the requested, assigned tasks. The Kubernetes master controls them.
Pod: Basic execution unit in Kubernetes. A group of one or more containers deployed to a single node. All containers in a pod share an IP address, IPC, hostname, and other resources. Pods abstract network and storage away from the underlying container. This lets you move containers around the cluster more easily.
Replication controller: This controls how many identical copies of a pod should be running somewhere on the cluster.
Service: This decouples work definitions from the pods. Kubernetes service proxies automatically get service requests to the right pod—no matter where it moves to in the cluster or even if it’s been replaced.
Kubelet: This service runs on nodes and reads the container manifests and ensures the defined containers are started and running.
kubectl: This is the command line configuration tool for Kubernetes.
ref:
Kubernetes official website - https://kubernetes.io/
github Cloud computing source code -
1. K8s source code(written in gloang) - https://github.com/kubernetes/kubernetes
2. K3s source code(written in gloang) - https://github.com/rancher/k3s
3. Docker source code(written in glang) - https://github.com/docker, https://github.com/docker/docker.github.io
4. Cloud Native Computing Foundation (CNCF) projects source code - https://github.com/cncf
5. Apache Kafka(written in java): Open-source stream-processing software platform source code - https://github.com/apache/kafka
6. The Apache Kafka C/C++ library - https://github.com/edenhill/librdkafka
A tour of the kubernetes source code part one: from kubectl to api server - https://developer.ibm.com/opentech/2017/06/21/tour-kubernetes-source-code-part-one-kubectl-api-server/
Kubernetes community - https://kubernetes.io/community/
Kubernetes Getting stated - https://kubernetes.io/docs/setup/
Kubernetes concepts - https://kubernetes.io/docs/concepts/
Kubernetes overview - https://thenewstack.io/kubernetes-an-overview/
Kubernetes Client libraries - https://kubernetes.io/docs/reference/using-api/client-libraries/
Debugging network stalls on Kubernetes - https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes/
Kubernetes components -
1. https://kubernetes.io/docs/concepts/overview/components/
2. https://medium.com/jorgeacetozi/kubernetes-master-components-etcd-api-server-controller-manager-and-scheduler-3a0179fc8186
Kubernetes Cluster Architecture - https://netapp-trident.readthedocs.io/en/stable-v19.01/dag/kubernetes/kubernetes_cluster_architecture_considerations.html
Kubernetes Infrastructure - https://docs.okd.io/latest/architecture/infrastructure_components/kubernetes_infrastructure.html
Kubernetes Networking - https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb
Introducing k3s: The Lightweight Kubernetes Distribution Built for the Edge - https://rancher.com/blog/2019/2019-02-26-introducing-k3s-the-lightweight-kubernetes-distribution-built-for-the-edge/
Kubernetes internals -
1. Kubernetes internals links - https://github.com/shubheksha/kubernetes-internals
2. Kubernetes in Action online book - https://livebook.manning.com/book/kubernetes-in-action/chapter-11/
3. https://dev.to/ishankhare07/kubernetes-internals-14nk
4. https://people.cs.umu.se/~larsson/2019/01/kubernetes-internals-running-a-pod/
What's Kubernetes -
1. https://www.redhat.com/en/topics/containers/what-is-kubernetes
2. https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Aaron Schlesinger Kubernetes client sample code -
1. https://github.com/arschles
2. https://github.com/aarons-talks/2017-KubeCon-EU
Kubernetes Youtube Videos -
1. Kubernetes Deconstructed - https://www.youtube.com/watch?v=90kZRyPcRZw
2. Kubernetes Architecture Made Easy - https://www.youtube.com/watch?v=_3NUI5vasPk
3. Kubernetes Design Principles: Understand the Why - https://www.youtube.com/watch?v=ZuIQurh_kDk
4. Inside Kubernetes An Architectural Deep Dive - https://www.youtube.com/watch?v=d5Rmu3fboiQ&t=389s
5. Kubernetes Storage SIG - https://www.youtube.com/watch?v=PcMairR7-4U
Google was one of the early contributors to Linux container technology. Google's internal platform, Borg was the predecessor to Kubernetes and the lessons learned from developing Borg over the years became the primary influence behind much of the Kubernetes technology. It helps you fully implement and rely on a container-based infrastructure in production environments.
K3s is a lightweight, easy to install Kubernetes distribution geared towards resource-constrained environments and low touch operations. Some use cases in which k3s really shines are edge, ARM, IoT, and CI. K3s is a fully CNCF (Cloud Native Computing Foundation) certified Kubernetes offering. This means that you can write your YAML to operate against a regular “full-fat” Kubernetes and they’ll also apply against a k3s cluster.
Kubernetes key usages:
1. Orchestrate containers across multiple hosts
2. Control and automate application deployments and updates.
3. Make better use of hardware to maximize resources needed to run your enterprise apps.
4. Mount and add storage to run stateful apps.
5. Scale containerized applications and their resources on the fly.
Kubernetes jargon:
Master: The machine that controls Kubernetes nodes. This is where all task assignments originate.
Node: These machines perform the requested, assigned tasks. The Kubernetes master controls them.
Pod: Basic execution unit in Kubernetes. A group of one or more containers deployed to a single node. All containers in a pod share an IP address, IPC, hostname, and other resources. Pods abstract network and storage away from the underlying container. This lets you move containers around the cluster more easily.
Replication controller: This controls how many identical copies of a pod should be running somewhere on the cluster.
Service: This decouples work definitions from the pods. Kubernetes service proxies automatically get service requests to the right pod—no matter where it moves to in the cluster or even if it’s been replaced.
Kubelet: This service runs on nodes and reads the container manifests and ensures the defined containers are started and running.
kubectl: This is the command line configuration tool for Kubernetes.
ref:
Kubernetes official website - https://kubernetes.io/
github Cloud computing source code -
1. K8s source code(written in gloang) - https://github.com/kubernetes/kubernetes
2. K3s source code(written in gloang) - https://github.com/rancher/k3s
3. Docker source code(written in glang) - https://github.com/docker, https://github.com/docker/docker.github.io
4. Cloud Native Computing Foundation (CNCF) projects source code - https://github.com/cncf
5. Apache Kafka(written in java): Open-source stream-processing software platform source code - https://github.com/apache/kafka
6. The Apache Kafka C/C++ library - https://github.com/edenhill/librdkafka
A tour of the kubernetes source code part one: from kubectl to api server - https://developer.ibm.com/opentech/2017/06/21/tour-kubernetes-source-code-part-one-kubectl-api-server/
Kubernetes community - https://kubernetes.io/community/
Kubernetes Getting stated - https://kubernetes.io/docs/setup/
Kubernetes concepts - https://kubernetes.io/docs/concepts/
Kubernetes overview - https://thenewstack.io/kubernetes-an-overview/
Kubernetes Client libraries - https://kubernetes.io/docs/reference/using-api/client-libraries/
Debugging network stalls on Kubernetes - https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes/
Kubernetes components -
1. https://kubernetes.io/docs/concepts/overview/components/
2. https://medium.com/jorgeacetozi/kubernetes-master-components-etcd-api-server-controller-manager-and-scheduler-3a0179fc8186
Kubernetes Cluster Architecture - https://netapp-trident.readthedocs.io/en/stable-v19.01/dag/kubernetes/kubernetes_cluster_architecture_considerations.html
Kubernetes Infrastructure - https://docs.okd.io/latest/architecture/infrastructure_components/kubernetes_infrastructure.html
Kubernetes Networking - https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb
Introducing k3s: The Lightweight Kubernetes Distribution Built for the Edge - https://rancher.com/blog/2019/2019-02-26-introducing-k3s-the-lightweight-kubernetes-distribution-built-for-the-edge/
Kubernetes internals -
1. Kubernetes internals links - https://github.com/shubheksha/kubernetes-internals
2. Kubernetes in Action online book - https://livebook.manning.com/book/kubernetes-in-action/chapter-11/
3. https://dev.to/ishankhare07/kubernetes-internals-14nk
4. https://people.cs.umu.se/~larsson/2019/01/kubernetes-internals-running-a-pod/
What's Kubernetes -
1. https://www.redhat.com/en/topics/containers/what-is-kubernetes
2. https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Aaron Schlesinger Kubernetes client sample code -
1. https://github.com/arschles
2. https://github.com/aarons-talks/2017-KubeCon-EU
Kubernetes Youtube Videos -
1. Kubernetes Deconstructed - https://www.youtube.com/watch?v=90kZRyPcRZw
2. Kubernetes Architecture Made Easy - https://www.youtube.com/watch?v=_3NUI5vasPk
3. Kubernetes Design Principles: Understand the Why - https://www.youtube.com/watch?v=ZuIQurh_kDk
4. Inside Kubernetes An Architectural Deep Dive - https://www.youtube.com/watch?v=d5Rmu3fboiQ&t=389s
5. Kubernetes Storage SIG - https://www.youtube.com/watch?v=PcMairR7-4U