From 29b72ddf4b26d4f4e8a964362376a701445c89f2 Mon Sep 17 00:00:00 2001 From: "Louise K. Schmidtgen" Date: Thu, 9 Jan 2025 17:05:24 +0200 Subject: [PATCH] Choosing an installation method documentation (#933) --- docs/canonicalk8s/index.md | 1 + docs/src/capi/explanation/index.md | 1 + .../capi/explanation/installation-methods.md | 2 + docs/src/charm/explanation/index.md | 1 + .../charm/explanation/installation-methods.md | 2 + docs/src/snap/explanation/index.md | 1 + .../snap/explanation/installation-methods.md | 68 +++++++++++++++++++ 7 files changed, 76 insertions(+) create mode 100644 docs/src/capi/explanation/installation-methods.md create mode 100644 docs/src/charm/explanation/installation-methods.md create mode 100644 docs/src/snap/explanation/installation-methods.md diff --git a/docs/canonicalk8s/index.md b/docs/canonicalk8s/index.md index 91b768cf8..ebe25f04b 100644 --- a/docs/canonicalk8s/index.md +++ b/docs/canonicalk8s/index.md @@ -21,6 +21,7 @@ Home :maxdepth: 6 src/about.md +Choose an installation method Deploy from Snap package Deploy with Juju Deploy with Cluster API diff --git a/docs/src/capi/explanation/index.md b/docs/src/capi/explanation/index.md index d4ad076be..7579ef258 100644 --- a/docs/src/capi/explanation/index.md +++ b/docs/src/capi/explanation/index.md @@ -14,6 +14,7 @@ Overview :glob: about +installation-methods.md security capi-ck8s.md in-place-upgrades.md diff --git a/docs/src/capi/explanation/installation-methods.md b/docs/src/capi/explanation/installation-methods.md new file mode 100644 index 000000000..f98c2a69c --- /dev/null +++ b/docs/src/capi/explanation/installation-methods.md @@ -0,0 +1,2 @@ +```{include} ../../snap/explanation/installation-methods.md +``` diff --git a/docs/src/charm/explanation/index.md b/docs/src/charm/explanation/index.md index 9b4652cf2..660f34826 100644 --- a/docs/src/charm/explanation/index.md +++ b/docs/src/charm/explanation/index.md @@ -12,6 +12,7 @@ Overview ```{toctree} :titlesonly: about +installation-methods.md channels security ``` diff --git a/docs/src/charm/explanation/installation-methods.md b/docs/src/charm/explanation/installation-methods.md new file mode 100644 index 000000000..f98c2a69c --- /dev/null +++ b/docs/src/charm/explanation/installation-methods.md @@ -0,0 +1,2 @@ +```{include} ../../snap/explanation/installation-methods.md +``` diff --git a/docs/src/snap/explanation/index.md b/docs/src/snap/explanation/index.md index 5c95b7d39..567236c22 100644 --- a/docs/src/snap/explanation/index.md +++ b/docs/src/snap/explanation/index.md @@ -12,6 +12,7 @@ Overview ```{toctree} :titlesonly: about +installation-methods.md certificates channels clustering diff --git a/docs/src/snap/explanation/installation-methods.md b/docs/src/snap/explanation/installation-methods.md new file mode 100644 index 000000000..100d6a226 --- /dev/null +++ b/docs/src/snap/explanation/installation-methods.md @@ -0,0 +1,68 @@ +# Choosing an installation method + +{{ product }} can be installed in a variety of ways, depending on your needs and +preferences. All installation methods provide a fully functional cluster with +upstream Kubernetes and additional built-in features such as networking, ingress +and storage. Your choice may be influenced by the cluster size, the +environment you are deploying to, and the life cycle management tools that you +prefer to use. The following sections describe the different installation +methods: + +## Snap + +The {{ product }} snap is a self-contained, simple to install package. It can +be installed on any Linux distribution that supports the +[snapd] service, such as +[Ubuntu]. If you're using a non-Linux system, we recommend creating virtual +machines using [Multipass] or [LXD]. [Snaps] come with the advantage of +automatic and atomic updates making it easy for users to install, maintain and +update their software. + +If you are looking for a straightforward way to get started with {{ product }}, +and your cluster will not grow beyond a few nodes, using the snap is +the recommended installation method. Follow the [getting-started guide] to +install {{ product }} using the snap. + +## Juju + +[Juju] is an open-source orchestration engine that allows you to +deploy, configure, scale and operate {{ product }} on any infrastructure. Juju +uses charms which are encapsulated reusable software packages to define how +applications are deployed and related to each other. At its core, {{ product }} +comprises of two Juju charms: a [control plane charm] and a [worker charm]. +Additionally, the Juju charm ecosystem provides further integrations, for +example an observability stack. + +If you are looking to deploy {{ product }} in a public/private cloud +environment, on metal, in VMs or on your local machine you can take advantage of +Juju's powerful lifecycle management. Get started with a simple deployment of +the {{ product }}'s charms using the [juju-cli guide] or leverage +[Terraform's Juju provider] by following the [installing-with-terraform] +guide. + +## Cluster API (CAPI) + +[Cluster API] is a Kubernetes sub-project that provides declarative APIs for +creating, configuring, and managing multiple Kubernetes clusters. + +If you plan to deploy and operate a large deployment with multiple +Kubernetes clusters, you can use the {{ product }}'s CAPI providers. Follow the +[CAPI guide] to deploy and operate {{ product }} with +the help of the CAPI providers. + + + +[Ubuntu]: https://help.ubuntu.com/ +[Snaps]: https://snapcraft.io/docs +[snapd]: https://snapcraft.io/docs/installing-snapd +[Multipass]: https://canonical.com/multipass +[LXD]: https://canonical.com/lxd +[Juju]: https://juju.is +[juju-cli guide]: /src/charm/tutorial/getting-started.md +[control plane charm]: https://charmhub.io/k8s +[worker charm]: https://charmhub.io/k8s-worker +[getting-started guide]: /src/snap/tutorial/getting-started.md +[Terraform's Juju provider]: https://github.com/juju/terraform-provider-juju/ +[installing-with-terraform]: /src/charm/howto/install-terraform.md +[CAPI guide]: /src/capi/tutorial/getting-started.md +[Cluster API]: https://cluster-api.sigs.k8s.io/