From 3c50ce9d8796ab1dfbaa0a6aa2e937f7c5f3df6c Mon Sep 17 00:00:00 2001 From: Tina Zhang Date: Thu, 25 Jan 2018 22:34:06 +0000 Subject: [PATCH] Add kube-apiserver, kube-controller-manager, kube-scheduler and etcd to glossary. (#6600) * Move master component definitions to glossary * review comments * Update controller.yaml Making a trivial change to un-stuck Travis * Update controller.yaml Removing trivial change --- _data/glossary/controller.yaml | 12 ++++++++++++ _data/glossary/etcd.yaml | 11 +++++++++++ _data/glossary/kube-apiserver.yaml | 12 ++++++++++++ _data/glossary/kube-controller-manager.yaml | 14 ++++++++++++++ _data/glossary/kube-scheduler.yaml | 13 +++++++++++++ docs/concepts/overview/components.md | 16 +++++++--------- .../administer-cluster/configure-upgrade-etcd.md | 2 +- 7 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 _data/glossary/controller.yaml create mode 100644 _data/glossary/etcd.yaml create mode 100644 _data/glossary/kube-apiserver.yaml create mode 100644 _data/glossary/kube-controller-manager.yaml create mode 100644 _data/glossary/kube-scheduler.yaml diff --git a/_data/glossary/controller.yaml b/_data/glossary/controller.yaml new file mode 100644 index 0000000000..b5a5f3d088 --- /dev/null +++ b/_data/glossary/controller.yaml @@ -0,0 +1,12 @@ +id: controller +name: Controller +full-link: /docs/admin/kube-controller-manager/ +related: +- controller-manager +tags: +- architecture +- fundamental +short-description: > + A control loop that watches the shared state of the cluster through the {% glossary_tooltip text="apiserver" term_id="kube-apiserver" %} and makes changes attempting to move the current state towards the desired state. +long-description: > + Examples of controllers that ship with Kubernetes today are the replication controller, endpoints controller, namespace controller, and serviceaccounts controller. diff --git a/_data/glossary/etcd.yaml b/_data/glossary/etcd.yaml new file mode 100644 index 0000000000..a5e862ba85 --- /dev/null +++ b/_data/glossary/etcd.yaml @@ -0,0 +1,11 @@ +id: etcd +name: etcd +full-link: /docs/tasks/administer-cluster/configure-upgrade-etcd/ +tags: +- architecture +- storage +short-description: > + Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data. +long-description: > + Always have a backup plan for etcd's data for your Kubernetes cluster. + For in-depth information on etcd, see [etcd documentation](https://github.com/coreos/etcd/blob/master/Documentation/docs.md). diff --git a/_data/glossary/kube-apiserver.yaml b/_data/glossary/kube-apiserver.yaml new file mode 100644 index 0000000000..788d65f798 --- /dev/null +++ b/_data/glossary/kube-apiserver.yaml @@ -0,0 +1,12 @@ +id: kube-apiserver +name: kube-apiserver +full-link: /docs/reference/generated/kube-apiserver/ +aka: +- apiserver +tags: +- architecture +- fundamental +short-description: > + Component on the master that exposes the Kubernetes API. It is the front-end for the Kubernetes control plane. +long-description: > + It is designed to scale horizontally -- that is, it scales by deploying more instances. See [Building High-Availability Clusters](/docs/admin/high-availability/). diff --git a/_data/glossary/kube-controller-manager.yaml b/_data/glossary/kube-controller-manager.yaml new file mode 100644 index 0000000000..577fec68ee --- /dev/null +++ b/_data/glossary/kube-controller-manager.yaml @@ -0,0 +1,14 @@ +id: kube-controller-manager +name: kube-controller-manager +full-link: /docs/reference/generated/kube-controller-manager/ +aka: +- controller-manager +related: +- controller +tags: +- architecture +- fundamental +short-description: > + Component on the master that runs {% glossary_tooltip text="controllers" term_id="controller" %}. +long-description: > + Logically, each {% glossary_tooltip text="controller" term_id="controller" %} is a separate process, but to reduce complexity, they are all compiled into a single binary and run in a single process. diff --git a/_data/glossary/kube-scheduler.yaml b/_data/glossary/kube-scheduler.yaml new file mode 100644 index 0000000000..126212abf7 --- /dev/null +++ b/_data/glossary/kube-scheduler.yaml @@ -0,0 +1,13 @@ +id: kube-scheduler +name: kube-scheduler +full-link: /docs/reference/generated/kube-scheduler/ +aka: +- scheduler +tags: +- architecture +short-description: > + Component on the master that watches newly created pods that have no node assigned, and selects a node for them to run on. +long-description: > + Factors taken into account for scheduling decisions include individual and collective resource requirements, + hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference + and deadlines. diff --git a/docs/concepts/overview/components.md b/docs/concepts/overview/components.md index debb1f98b6..df86e25c8e 100644 --- a/docs/concepts/overview/components.md +++ b/docs/concepts/overview/components.md @@ -22,16 +22,19 @@ the same VM, and do not run user containers on this VM. See ### kube-apiserver -[kube-apiserver](/docs/admin/kube-apiserver/) exposes the Kubernetes API. It is the front-end for the -Kubernetes control plane. It is designed to scale horizontally -- that is, it scales by deploying more instances. See [Building High-Availability Clusters](/docs/admin/high-availability/). +{% glossary_definition term_id="kube-apiserver" length="all" %} ### etcd -[etcd](/docs/tasks/administer-cluster/configure-upgrade-etcd/) is used as Kubernetes' backing store. All cluster data is stored here. Always have a backup plan for etcd's data for your Kubernetes cluster. +{% glossary_definition term_id="etcd" length="all" %} + +### kube-scheduler + +{% glossary_definition term_id="kube-scheduler" length="all" %} ### kube-controller-manager -[kube-controller-manager](/docs/admin/kube-controller-manager/) runs controllers, which are the background threads that handle routine tasks in the cluster. Logically, each controller is a separate process, but to reduce complexity, they are all compiled into a single binary and run in a single process. +{% glossary_definition term_id="kube-controller-manager" length="all" %} These controllers include: @@ -56,11 +59,6 @@ The following controllers have cloud provider dependencies: * Service Controller: For creating, updating and deleting cloud provider load balancers * Volume Controller: For creating, attaching, and mounting volumes, and interacting with the cloud provider to orchestrate volumes -### kube-scheduler - -[kube-scheduler](/docs/admin/kube-scheduler/) watches newly created pods that -are not assigned to any node, and selects a node for them to run on. - ### addons Addons are pods and services that implement cluster features. The pods may be managed diff --git a/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/docs/tasks/administer-cluster/configure-upgrade-etcd.md index 13f4974d63..330c14a409 100644 --- a/docs/tasks/administer-cluster/configure-upgrade-etcd.md +++ b/docs/tasks/administer-cluster/configure-upgrade-etcd.md @@ -5,7 +5,7 @@ approvers: title: Operating etcd clusters for Kubernetes --- -etcd is a strong, consistent, and highly-available key value store which Kubernetes uses for persistent storage of all of its API objects. This documentation provides specific instruction on operating, upgrading, and rolling back etcd clusters for Kubernetes. For in-depth information on etcd, see [etcd documentation](https://github.com/coreos/etcd/blob/master/Documentation/docs.md). +{% glossary_definition term_id="etcd" length="all" prepend="etcd is a "%}