Skip to content

Conversation

@paigecalvert
Copy link
Contributor

@paigecalvert paigecalvert commented Feb 25, 2025

@paigecalvert paigecalvert requested a review from a team as a code owner February 25, 2025 18:59
@replicated-ci replicated-ci added type::docs Improvements or additions to documentation type::feature labels Feb 25, 2025
@netlify
Copy link

netlify bot commented Feb 25, 2025

Deploy Preview for replicated-docs ready!

Name Link
🔨 Latest commit bc19b26
🔍 Latest deploy log https://app.netlify.com/sites/replicated-docs/deploys/67c9fba957e03a0008b456f3
😎 Deploy Preview https://deploy-preview-3077--replicated-docs.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.

@netlify
Copy link

netlify bot commented Feb 25, 2025

Deploy Preview for replicated-docs-upgrade ready!

Name Link
🔨 Latest commit bc19b26
🔍 Latest deploy log https://app.netlify.com/sites/replicated-docs-upgrade/deploys/67c9fba9234e4e0008edecd8
😎 Deploy Preview https://deploy-preview-3077--replicated-docs-upgrade.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.

@paigecalvert paigecalvert marked this pull request as draft February 25, 2025 21:52
@paigecalvert paigecalvert marked this pull request as ready for review March 4, 2025 20:37
Any Helm extensions that were included in the [`extensions`](/reference/embedded-config#extensions) field of the Embedded Cluster Config are also installed. The namespace or namespaces where Helm extensions are installed is defined by the vendor in the Embedded Cluster Config.

Embedded Cluster deploys built-in extensions to provide capabilities such as application management and storage. These extensions are deployed by default and do not require configuration.
Finally, Embedded Cluster also installs the Local Artifact Mirror (LAM). In air gap installations, the LAM is used to store and update images.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ not sure if this might imply that the LAM is only installed in air gap installations, but it looked kind of weird to explicitly state it's installed in both online and air gap without then having to say "it doesn't do anything in online installs right now"

I also thought it might not be that big of a deal to be vague about the online situation for the LAM since we do elsewhere say that the LAM port requirements apply to both online and air gap installs

Additionally, for installations that include disaster recovery with Velero, the Velero Node Agent also runs on each node in the cluster. The Node Agent is a Kubernetes DaemonSet that performs backup and restore tasks such as creating snapshots and transferring data during restores. */}
The built-in extensions installed by Embedded Cluster include:

* **Embedded Cluster Operator**: The Operator is used for reporting purposes as well as some clean up operations.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ would the Operator be considered an extension? Seemed like it since it's installed alongside the others but wasn't sure

* For installations that include disaster recovery, the Velero pod is deployed on one node. The Velero Node Agent runs on each node in the cluster. The Node Agent is a Kubernetes DaemonSet that performs backup and restore tasks such as creating snapshots and transferring data during restores.
* For air gap installations, two replicas of the air gap image registry are deployed.

Any Helm [`extensions`](/reference/embedded-config#extensions) that you include in the Embedded Cluster Config are installed in the cluster depending on the given chart and whether or not it is configured to be deployed with high availability. No newline at end of file
Copy link
Contributor Author

Choose a reason for hiding this comment

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

depending on the given chart and whether or not it is configured to be deployed with high availability.

Updated this to remove the implication that this is something that can be configured in Embedded Cluster

* A single replica of the KOTS Admin Console is deployed and runs on a controller node.
* Three replicas of rqlite are deployed in the kotsadm namespace. Rqlite is used by KOTS to store information such as support bundles, version history, application metadata, and other small amounts of data needed to manage the application.
* For installations that include disaster recovery, the Velero pod is deployed on one node. The Velero Node Agent runs on each node in the cluster. The Node Agent is a Kubernetes DaemonSet that performs backup and restore tasks such as creating snapshots and transferring data during restores.
* For air gap installations, two replicas of the air gap image registry are deployed.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ air gap registry deployed as 2 replicas


As shown in the diagram above, in HA installations with Embedded Cluster:
* A single replica of the Embedded Cluster Operator is deployed and runs on a controller node.
* A single replica of the KOTS Admin Console is deployed and runs on a controller node.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ update the clarify that kots and the operator are both deployed as single replicas and run on "a controller node" (instead of saying "the primary node")

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated so that image registry is running on 2 nodes instead of 3

sgalsaleh
sgalsaleh previously approved these changes Mar 6, 2025
As shown in the diagram above, in multi-node installations, the Embedded Cluster Operator, KOTS, and the image registry for air gap installations are all installed on one controller node.

{/* [V2 ARCHITECTURE CONTENT] Finally, after the built-in extensions and any Helm extensions are installed, The Embedded Cluster binary deploys a second systemd service on the node named `APP_SLUG-manager` (for example, `gitea-manager`). This manager service orchestrates Embedded Cluster and communicates with the KOTS instance running in the cluster through a websocket.
For installations that include disaster recovery with Velero, the Velero Node Agent runs on each node in the cluster. The Node Agent is a Kubernetes DaemonSet that performs backup and restore tasks such as creating snapshots and transferring data during restores.
Copy link
Member

Choose a reason for hiding this comment

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

any reason this isn't mentioned in the single-node stuff too?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it was because I wrote this with the purpose of explaining how the node agent is the component that runs on all the nodes in multi-node installs (versus single node installs where that's not relevant).

The basic info about the Velero extension though (ie, agnostic of install type) is over in the Built-In Extensions section: https://deploy-preview-3077--replicated-docs-upgrade.netlify.app/vendor/embedded-overview#built-in-extensions

I could update that section with this velero pod v agent info

Copy link
Member

Choose a reason for hiding this comment

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

i'm not particular about it. i assumed it was describing all that's in the diagram, but that's fine if not.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah the single node section used to list out all the extensions in the diagram, but I replaced that with "After all the Kubernetes components for the cluster are available, the Embedded Cluster binary then installs the Embedded Cluster built-in extensions. For more information about these extensions, see Built-In Extensions below." since these descriptions of the extensions were not really specific to single-node

@paigecalvert paigecalvert merged commit 6ee8c60 into main Mar 6, 2025
5 checks passed
@paigecalvert paigecalvert deleted the ec-v2-arch branch March 6, 2025 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type::docs Improvements or additions to documentation type::feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants