From 0a4eeee9c416cec789152baa20de05448498f21c Mon Sep 17 00:00:00 2001 From: codyc Date: Fri, 12 Apr 2019 14:34:30 -0500 Subject: [PATCH 1/5] Provides snippet for PLEG --- content/en/docs/concepts/_index.md | 2 +- .../reference/command-line-tools-reference/kubelet.md | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index 6416de4594784..d53c31df3629b 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -17,7 +17,7 @@ The Concepts section helps you learn about the parts of the Kubernetes system an To work with Kubernetes, you use *Kubernetes API objects* to describe your cluster's *desired state*: what applications or other workloads you want to run, what container images they use, the number of replicas, what network and disk resources you want to make available, and more. You set your desired state by creating objects using the Kubernetes API, typically via the command-line interface, `kubectl`. You can also use the Kubernetes API directly to interact with the cluster and set or modify your desired state. -Once you've set your desired state, the *Kubernetes Control Plane* works to make the cluster's current state match the desired state. To do so, Kubernetes performs a variety of tasks automatically--such as starting or restarting containers, scaling the number of replicas of a given application, and more. The Kubernetes Control Plane consists of a collection of processes running on your cluster: +Once you've set your desired state, the *Kubernetes Control Plane* using the Pod Lifecycle Event Generator (PLEG) works to make the cluster's current state matches the desired state. To do so, Kubernetes performs a variety of tasks automatically--such as starting or restarting containers, scaling the number of replicas of a given application, and more. The Kubernetes Control Plane consists of a collection of processes running on your cluster: * The **Kubernetes Master** is a collection of three processes that run on a single node in your cluster, which is designated as the master node. Those processes are: [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) and [kube-scheduler](/docs/admin/kube-scheduler/). * Each individual non-master node in your cluster runs two processes: diff --git a/content/en/docs/reference/command-line-tools-reference/kubelet.md b/content/en/docs/reference/command-line-tools-reference/kubelet.md index fbb70e26b35e4..b4bbb54044c1a 100644 --- a/content/en/docs/reference/command-line-tools-reference/kubelet.md +++ b/content/en/docs/reference/command-line-tools-reference/kubelet.md @@ -29,6 +29,16 @@ is checked every 20 seconds (also configurable with a flag). HTTP server: The kubelet can also listen for HTTP and respond to a simple API (underspec'd currently) to submit a new manifest. +#### Pod Lifecycle Event Generator (PLEG) + +The Pod Lifecycle Event Generator is a function of the kubelet that creates a list of +the states for all containers and pods then compares it to the previous states of the +containers and pods in a process called Relisting. This allows the PLEG to know which +pods and containers need to be synced. In versions prior to 1.2, this was accomplished +by polling and was CPU intensive. By changing to this method, this significantly reduced +resource utilization allowing for better container density. + + ``` kubelet [flags] ``` From a79539e08c357619444ab91d37acb18689410c38 Mon Sep 17 00:00:00 2001 From: codyc Date: Mon, 15 Apr 2019 17:23:53 -0500 Subject: [PATCH 2/5] Define more resource usage monitoring solutions --- .../resource-usage-monitoring.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 928992232ad39..08412d1b27053 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -75,6 +75,14 @@ Prometheus provides a robust query language and a built-in dashboard for querying and visualizing your data. Prometheus is also a supported data source for [Grafana](https://prometheus.io/docs/visualization/grafana/). +### Sysdig +[Sysdig](http://sysdig.com) provides full spectrum container and platform intelligence, and is a +true container native solution. Sysdig pulls together data from system calls, kubernetes events, +prometheus metrics, statsD, JMX and more into a single pane that gives you a comprehensive picture +of your environment. Sysdig also provides an API to query for providing robust and customizable +solutions. Sysdig is built on opensource, [Sysdig and Sysdig Inspect](https://sysdig.com/opensource/inspect/) give you the +ability to freely perform troubleshooting, performance analyis and forensics. + ### Google Cloud Monitoring Google Cloud Monitoring is a hosted monitoring service you can use to From 42061bea986c3f65ed9f9432e5a1134a1c672b17 Mon Sep 17 00:00:00 2001 From: codyc Date: Tue, 16 Apr 2019 11:16:23 -0500 Subject: [PATCH 3/5] Clarification on create-cluster --- .../kubernetes-basics/create-cluster/cluster-intro.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html b/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html index a203274a6c5a8..070171bd7c250 100644 --- a/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html +++ b/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html @@ -29,7 +29,8 @@

Objectives

Kubernetes Clusters

- Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit. The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way. Kubernetes is an open-source platform and is production-ready. + Kubernetes coordinates clusters of computers. These computers work as a single unit. Kubernetes allows you to deploy applications in containers to a cluster. It does this without tying them to a single machine. To use this deployment model, we first disconnect applications from their individual hosts. In other words, we put them in containers. Such applications are more flexible and available. In past deployment models, we would install applications onto specific machines + as packages. These apps would be integrated into the host. Kubernetes distributes and schedules these containers. Kubernetes is open-source and ready to go live.

A Kubernetes cluster consists of two types of resources:

    @@ -49,7 +50,7 @@

    Summary:

- Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters. + Kubernetes is a production-grade, open-source platform that schedules and executes container clusters

From c51ea9d7a24f750399a444a784024d43c2efdf6e Mon Sep 17 00:00:00 2001 From: codyc Date: Fri, 19 Apr 2019 13:59:36 -0500 Subject: [PATCH 4/5] Revert "Clarification on create-cluster" This reverts commit 42061bea986c3f65ed9f9432e5a1134a1c672b17. --- .../kubernetes-basics/create-cluster/cluster-intro.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html b/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html index 070171bd7c250..a203274a6c5a8 100644 --- a/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html +++ b/content/en/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html @@ -29,8 +29,7 @@

Objectives

Kubernetes Clusters

- Kubernetes coordinates clusters of computers. These computers work as a single unit. Kubernetes allows you to deploy applications in containers to a cluster. It does this without tying them to a single machine. To use this deployment model, we first disconnect applications from their individual hosts. In other words, we put them in containers. Such applications are more flexible and available. In past deployment models, we would install applications onto specific machines - as packages. These apps would be integrated into the host. Kubernetes distributes and schedules these containers. Kubernetes is open-source and ready to go live. + Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit. The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way. Kubernetes is an open-source platform and is production-ready.

A Kubernetes cluster consists of two types of resources:

    @@ -50,7 +49,7 @@

    Summary:

- Kubernetes is a production-grade, open-source platform that schedules and executes container clusters + Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.

From ddb60ff4ad2dac3b388f754225ce4ec99be5bc28 Mon Sep 17 00:00:00 2001 From: Jennifer Rondeau Date: Fri, 19 Apr 2019 15:05:02 -0400 Subject: [PATCH 5/5] copyedit --- .../debug-application-cluster/resource-usage-monitoring.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 08412d1b27053..ddbe374ccdb25 100644 --- a/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/en/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -77,10 +77,10 @@ data source for [Grafana](https://prometheus.io/docs/visualization/grafana/). ### Sysdig [Sysdig](http://sysdig.com) provides full spectrum container and platform intelligence, and is a -true container native solution. Sysdig pulls together data from system calls, kubernetes events, -prometheus metrics, statsD, JMX and more into a single pane that gives you a comprehensive picture +true container native solution. Sysdig pulls together data from system calls, Kubernetes events, +Prometheus metrics, statsD, JMX, and more into a single pane that gives you a comprehensive picture of your environment. Sysdig also provides an API to query for providing robust and customizable -solutions. Sysdig is built on opensource, [Sysdig and Sysdig Inspect](https://sysdig.com/opensource/inspect/) give you the +solutions. Sysdig is built on Open Source. [Sysdig and Sysdig Inspect](https://sysdig.com/opensource/inspect/) give you the ability to freely perform troubleshooting, performance analyis and forensics. ### Google Cloud Monitoring