Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reword glossary entry for cluster #48686

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TransitivityPaul
Copy link

Clarified definition, especially wrt to control plane running on cluster members, the distinction between worker and control-plane nodes, and separation of control plane and workload in production environments.

Description

Issue

Closes: #

Clarified definition, especially wrt to control plane running on cluster members, the distinction between worker and control-plane nodes, and separation of control plane and workload in production environments.
Copy link

linux-foundation-easycla bot commented Nov 11, 2024

CLA Signed

  • ✅login: TransitivityPaul / (b84ac14)

The committers listed above are authorized under a signed CLA.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Nov 11, 2024
@k8s-ci-robot
Copy link
Contributor

Welcome @TransitivityPaul!

It looks like this is your first PR to kubernetes/website 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/website has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign chanieljdan for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Nov 11, 2024
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Nov 11, 2024
Copy link

netlify bot commented Nov 11, 2024

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit b84ac14
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/673245bcb5029200082de10c
😎 Deploy Preview https://deploy-preview-48686--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this PR, and we appreciate the effort you've made to make our docs better.

I think we'll want to tweak this further before we can merge it.

nodes and the Pods in the cluster. In production environments, the control plane usually
runs across multiple computers and a cluster usually runs multiple nodes, providing
fault-tolerance and high availability.
Machines may be physical or virtual. Machines that host pods are referred to as {{< glossary_tooltip text="nodes" term_id="node" >}}. Nodes that host workloads are referred to as worker nodes. There must be at least one worker node within a cluster.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this isn't correct. A cluster with zero worker nodes isn't very useful, but it's still technically a cluster (maybe you are auto scaling).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah - OK. I kept this as it was part of the previous definition :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revise accordingly.

fault-tolerance and high availability.
Machines may be physical or virtual. Machines that host pods are referred to as {{< glossary_tooltip text="nodes" term_id="node" >}}. Nodes that host workloads are referred to as worker nodes. There must be at least one worker node within a cluster.

Control plane components run on one or more of the machines within the cluster. They may execute directly in the context of the operating system of a machine, or within pods. When control plane components run within pods on a machine, the machine may also be referred to as a control plane node.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this isn't correct. You can run the control plane within the cluster, but we actually recommend not doing that for the very best resilience.

Copy link
Author

@TransitivityPaul TransitivityPaul Nov 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK - All of the architecture diagrams show the control plane as being a part of the cluster. I don't mind either way as long as we're consistent. :). This is profoundly important from an architectural perspective. Is this the right place for that discussion?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Control plane:

  • always part of the cluster
  • optional to run it on nodes
  • if you run it on a separate server, the thing you run on a separate server is (if healthy) still logically a control plane, and that logical thing is part of the cluster

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. I could co-host my control plane instance, with a bunch of other control planes for other clusters, on the same machines. I could host my control plane within another cluster that has it's own control plane.... etc. In tuo capite fiat! Will nudge this and other PRs to reflect. Thx.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do update this when you have time to.


Control plane components run on one or more of the machines within the cluster. They may execute directly in the context of the operating system of a machine, or within pods. When control plane components run within pods on a machine, the machine may also be referred to as a control plane node.

In production environments, the cluster typically consists of multiple machines, with the control plane components and workloads distributed across them for scale, resilience and high availability. It is a best practice in production environments to have workloads hosted on machines that do not host control plane components.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't formally recommend this topology; we think that a control plane that runs separately from the cluster is an even more resilient choice. However it is up to the cluster operator to make that call, not this project.

It is a best practice in production environments to have workloads hosted on machines that do not host control plane components.

True, but doesn't belong in the glossary. Instead, hyperlink to the page that makes the recommendation.

aka:
tags:
- fundamental
- operation
---
A set of worker machines, called {{< glossary_tooltip text="nodes" term_id="node" >}},
that run containerized applications. Every cluster has at least one worker node.
A set of machines hosting containerized {{< glossary_tooltip text="workloads" term_id="workload" >}}, in the form of {{< glossary_tooltip text="pods" term_id="pod" >}}, and the {{< glossary_tooltip text="control plane" term_id="control-plane" >}} that manages them.
Copy link
Contributor

@sftim sftim Nov 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can do better. Try this:

Suggested change
A set of machines hosting containerized {{< glossary_tooltip text="workloads" term_id="workload" >}}, in the form of {{< glossary_tooltip text="pods" term_id="pod" >}}, and the {{< glossary_tooltip text="control plane" term_id="control-plane" >}} that manages them.
A {{< glossary_tooltip text="control plane" term_id="control-plane" >}} and a set of worker machines that the
control plane manages. A Kubernetes cluster lets you run containerized {{< glossary_tooltip text="workloads" term_id="workload" >}}
as {{< glossary_tooltip text="pods" term_id="pod" >}}.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This depends on the other comment...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 14 seems to be missing something?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I revised. BTW you can accept suggestions as is, but you can also incorporate the spirit of the feedback and apply your own edits.

@sftim
Copy link
Contributor

sftim commented Nov 11, 2024

/retitle Reword glossary entry for cluster

@k8s-ci-robot k8s-ci-robot changed the title Update cluster.md per issue #48556 Reword glossary entry for cluster Nov 11, 2024
@sftim
Copy link
Contributor

sftim commented Nov 11, 2024

/sig architecture

@k8s-ci-robot k8s-ci-robot added the sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. label Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants