From ebabefb9031c523b24e2a7cf1b7e7cb3bda7e5b8 Mon Sep 17 00:00:00 2001 From: nhennigan Date: Thu, 14 Nov 2024 11:26:53 -0800 Subject: [PATCH 1/2] fix pic order in a previous PR the order of the arch docs got mixed up. Back in correct places now --- docs/src/snap/reference/architecture.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/src/snap/reference/architecture.md b/docs/src/snap/reference/architecture.md index 44981a45b..08cd8a34b 100644 --- a/docs/src/snap/reference/architecture.md +++ b/docs/src/snap/reference/architecture.md @@ -10,7 +10,7 @@ current design of {{product}}, following the [C4 model]. This overview of {{product}} demonstrates the interactions of Kubernetes with users and with other systems. -![cluster2][] +![cluster5][] Two actors interact with the Kubernetes snap: @@ -51,7 +51,7 @@ distribution. We have identified the following: Looking more closely at what is contained within the K8s snap itself: -![cluster3][] +![cluster1][] The `k8s` snap distribution includes the following: @@ -72,7 +72,7 @@ The `k8s` snap distribution includes the following: K8sd is the component that implements and exposes the operations functionality needed for managing the Kubernetes cluster. -![cluster4][] +![cluster2][] At the core of the `k8sd` functionality we have the cluster manager that is responsible for configuring the services, workload and features we deem @@ -104,7 +104,7 @@ This functionality is exposed via the following interfaces: Canonical `k8s` Charms encompass two primary components: the [`k8s` charm][K8s charm] and the [`k8s-worker` charm][K8s-worker charm]. -![cluster1][] +![cluster4][] Charms are instantiated on a machine as a Juju unit, and a collection of units constitutes an application. Both `k8s` and `k8s-worker` units are responsible @@ -140,8 +140,8 @@ and flexible {{product}} deployment managed through Juju. [cluster1]: https://assets.ubuntu.com/v1/dfc43753-cluster1.svg [cluster2]: https://assets.ubuntu.com/v1/0e486a5d-cluster2.svg -[cluster3]: https://assets.ubuntu.com/v1/24fd1773-cluster3.svg [cluster4]: https://assets.ubuntu.com/v1/24fd1773-cluster4.svg +[cluster5]: https://assets.ubuntu.com/v1/bcfe150f-overview.svg [C4 model]: https://c4model.com/ From ac1df5d0e3967878164f964ef58f31862c47c519 Mon Sep 17 00:00:00 2001 From: nhennigan Date: Thu, 14 Nov 2024 13:29:59 -0800 Subject: [PATCH 2/2] clarify k8sd diagram fix typos in diagram and help clarify in text and on diagram difference in deploying with Juju vs snap --- docs/src/assets/k8sd-component.puml | 6 +++--- docs/src/snap/reference/architecture.md | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/src/assets/k8sd-component.puml b/docs/src/assets/k8sd-component.puml index f95cd278c..3e39ce90b 100644 --- a/docs/src/assets/k8sd-component.puml +++ b/docs/src/assets/k8sd-component.puml @@ -16,13 +16,13 @@ Container(K8sSnapDistribution.State, "State", $techn="", $descr="Datastores hold Container(K8sSnapDistribution.KubernetesServices, "Kubernetes Services", $techn="", $descr="API server, kubelet, kube-proxy, scheduler, kube-controller", $tags="", $link="") Container_Boundary("K8sSnapDistribution.K8sd_boundary", "K8sd", $tags="") { - Component(K8sSnapDistribution.K8sd.CLI, "CLI", $techn="CLI", $descr="The CLI the offered", $tags="", $link="") + Component(K8sSnapDistribution.K8sd.CLI, "CLI", $techn="CLI", $descr="The CLI offered", $tags="", $link="") Component(K8sSnapDistribution.K8sd.APIviaHTTP, "API via HTTP", $techn="REST", $descr="The API interface offered", $tags="", $link="") - Component(K8sSnapDistribution.K8sd.CLustermanagement, "CLuster management", $techn="", $descr="Management of the cluster with the help of MicroCluster", $tags="", $link="") + Component(K8sSnapDistribution.K8sd.CLustermanagement, "Cluster management", $techn="", $descr="Management of the cluster with the help of MicroCluster", $tags="", $link="") } Rel(K8sAdmin, K8sSnapDistribution.K8sd.CLI, "Sets up and configured the cluster", $techn="", $tags="", $link="") -Rel(CharmK8s, K8sSnapDistribution.K8sd.APIviaHTTP, "Orchestrates the lifecycle management of K8s", $techn="", $tags="", $link="") +Rel(CharmK8s, K8sSnapDistribution.K8sd.APIviaHTTP, "Orchestrates the lifecycle management of K8s when deployed with Juju", $techn="", $tags="", $link="") Rel(K8sSnapDistribution.K8sd.CLustermanagement, K8sSnapDistribution.KubernetesServices, "Configures", $techn="", $tags="", $link="") Rel(K8sSnapDistribution.KubernetesServices, K8sSnapDistribution.State, "Uses by default", $techn="", $tags="", $link="") Rel(K8sSnapDistribution.K8sd.CLustermanagement, K8sSnapDistribution.State, "Keeps state in", $techn="", $tags="", $link="") diff --git a/docs/src/snap/reference/architecture.md b/docs/src/snap/reference/architecture.md index 08cd8a34b..a24c5ff6a 100644 --- a/docs/src/snap/reference/architecture.md +++ b/docs/src/snap/reference/architecture.md @@ -19,7 +19,8 @@ Two actors interact with the Kubernetes snap: access to the cluster. That initial user is able to configure the cluster to match their needs and of course create other users that may or may not have admin privileges. The K8s admin is also able to maintain workloads running - in the cluster. + in the cluster. If you deploy {{product}} from a snap, this is how the cluster + is manually orchestrated. - **K8s user**: A user consuming the workloads hosted in the cluster. Users do not have access to the Kubernetes API server. They need to access the cluster @@ -139,7 +140,7 @@ and flexible {{product}} deployment managed through Juju. [cluster1]: https://assets.ubuntu.com/v1/dfc43753-cluster1.svg -[cluster2]: https://assets.ubuntu.com/v1/0e486a5d-cluster2.svg +[cluster2]: https://assets.ubuntu.com/v1/f634743e-k8sd.svg [cluster4]: https://assets.ubuntu.com/v1/24fd1773-cluster4.svg [cluster5]: https://assets.ubuntu.com/v1/bcfe150f-overview.svg