Skip to content

Commit 709d72d

Browse files
authored
Merge pull request #2849 from replicatedhq/move-ec
Move EC to top level
2 parents 8133206 + 6e58bf0 commit 709d72d

File tree

65 files changed

+854
-1045
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+854
-1045
lines changed

docs/enterprise/cluster-management-add-nodes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Adding Nodes to kURL Clusters
22

3-
This topic describes how to add primary and secondary nodes to an embedded cluster provisioned with Replicated kURL.
3+
This topic describes how to add primary and secondary nodes to a Replicated kURL cluster.
44

55
## Overview
66

7-
You can generate commands in the Replicated KOTS Admin Console to join additional primary and secondary nodes to embedded kURL clusters. Primary nodes run services that control the cluster. Secondary nodes run services that control the pods that host the application containers. Adding nodes can help manage resources to ensure that the application runs smoothly.
7+
You can generate commands in the Replicated KOTS Admin Console to join additional primary and secondary nodes to kURL clusters. Primary nodes run services that control the cluster. Secondary nodes run services that control the pods that host the application containers. Adding nodes can help manage resources to ensure that the application runs smoothly.
88

99
For high availability clusters, Kubernetes recommends using at least three primary nodes, and that you use an odd number of nodes to help with leader selection if machine or zone failure occurs. For more information, see [Creating Highly Available Clusters with kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/) in the Kubernetes documentation.
1010

Lines changed: 23 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
# Deleting the Admin Console and Removing Applications
22

3-
This topic describes how to remove installed applications and delete the Replicated Admin Console from a cluster. See the following sections:
4-
* [Remove an Application](#remove-an-application)
5-
* [Delete the Admin Console](#delete-the-admin-console)
3+
This topic describes how to remove installed applications and delete the Replicated Admin Console from a cluster.
64

75
## Remove an Application
86

7+
This section describes how to remove an application instance that was installed with KOTS in an existing cluster.
8+
9+
### About Removing an Installed Application Instance
10+
911
The Replicated KOTS CLI `kots remove` command removes the reference to an installed application from the Admin Console. When you use `kots remove`, the Admin Console no longer manages the application because the record of that application’s installation is removed. This means that you can no longer manage the application through the Admin Console or through the KOTS CLI.
1012

1113
By default, `kots remove` does not delete any of the installed Kubernetes resources for the application from the cluster. To remove both the reference to an application from the Admin Console and remove any resources for the application from the cluster, you can run `kots remove` with the `--undeploy` flag.
1214

1315
It can be useful to remove only the reference to an application from the Admin Console if you want to reinstall the application, but you do not want to recreate the namespace or other Kubernetes resources. For example, if you installed an application using an incorrect license file and need to reinstall with the correct license.
16+
17+
### Procedure
1418

1519
To remove an application:
1620

@@ -46,43 +50,39 @@ To remove an application:
4650
4751
## Delete the Admin Console
4852
49-
When you install an application with the Admin Console, Replicated KOTS also creates the Kubernetes resources for the Admin Console itself on the cluster. The Admin Console includes Deployments and Services, Secrets, and other resources such as StatefulSets and PersistentVolumeClaims.
50-
51-
By default, KOTS also creates Kubernetes ClusterRole and ClusterRoleBinding resources that grant permissions to the Admin Console on the cluster level. These `kotsadm-role` and `kotsadm-rolebinding` resources are managed outside of the namespace where the Admin Console is installed. Alternatively, when the Admin Console is installed with namespace-scoped access, KOTS creates Role and RoleBinding resources inside the namespace where the Admin Console is installed.
52-
53-
If you need to completely delete the Admin Console and an application installation, such as during testing, follow one of these procedures depending on the type of cluster where you installed the Admin Console:
54-
55-
* **Existing cluster**: Manually delete the Admin Console Kubernetes objects and resources from the cluster. See [Delete from an Existing Cluster](#existing) below.
56-
* **Embedded cluster**: Remove Kubernetes from the VM where the cluster is installed. See [Delete from an Embedded Cluster](#embedded) below.
53+
This section describes how to remove the KOTS Admin Console from an existing cluster.
5754
58-
:::note
59-
These procedures do not uninstall the KOTS CLI. To uninstall the KOTS CLI, see [Uninstall](https://docs.replicated.com/reference/kots-cli-getting-started#uninstall) in _Installing the KOTS CLI_.
60-
:::
55+
### About Deleting the Admin Console from an Existing Cluster
6156
62-
### Delete from an Existing Cluster {#existing}
57+
When you install an application, KOTS creates the Kubernetes resources for the Admin Console itself on the cluster. The Admin Console includes Deployments and Services, Secrets, and other resources such as StatefulSets and PersistentVolumeClaims.
6358
64-
In existing cluster installations, if the Admin Console is not installed in the `default` namespace, then you delete the Admin Console by deleting the namespace where it is installed.
59+
By default, KOTS also creates Kubernetes ClusterRole and ClusterRoleBinding resources that grant permissions to the Admin Console on the cluster level. These `kotsadm-role` and `kotsadm-rolebinding` resources are managed outside of the namespace where the Admin Console is installed. Alternatively, when the Admin Console is installed with namespace-scoped access, KOTS creates Role and RoleBinding resources inside the namespace where the Admin Console is installed.
6560
66-
If you installed the Admin Console with namespace-scoped access, then the Admin Console Role and RoleBinding RBAC resources are also deleted when you delete the namespace. Alternatively, if you installed with the default cluster-scoped access, then you manually delete the Admin Console ClusterRole and ClusterRoleBindings resources from the cluster.
61+
In existing cluster installations, if the Admin Console is not installed in the `default` namespace, then you delete the Admin Console by deleting the namespace where it is installed.
6762
68-
The application vendor can require, support, or not support namespace-scoped installations. For more information, see [supportMinimalRBACPrivileges](/reference/custom-resource-application#supportminimalrbacprivileges) and [requireMinimalRBACPrivileges](/reference/custom-resource-application#requireminimalrbacprivileges) in _Application_.
63+
If you installed the Admin Console with namespace-scoped access, then the Admin Console Role and RoleBinding RBAC resources are also deleted when you delete the namespace. Alternatively, if you installed with the default cluster-scoped access, then you manually delete the Admin Console ClusterRole and ClusterRoleBindings resources from the cluster. For more information, see [supportMinimalRBACPrivileges](/reference/custom-resource-application#supportminimalrbacprivileges) and [requireMinimalRBACPrivileges](/reference/custom-resource-application#requireminimalrbacprivileges) in _Application_.
6964
7065
For more information about installing with cluster- or namespace-scoped access, see [RBAC Requirements](/enterprise/installing-general-requirements#rbac-requirements) in _Installation Requirements_.
7166
72-
To delete the Admin Console from an existing cluster:
67+
### Procedure
68+
69+
To completely delete the Admin Console from an existing cluster:
7370
7471
1. Run the following command to delete the namespace where the Admin Console is installed:
7572
76-
:::note
77-
* You cannot delete the `default` namespace.
78-
* This command deletes everything inside the specified namespace, including the Admin Console Role and RoleBinding resources if you installed with namespace-scoped access.
73+
:::important
74+
This command deletes everything inside the specified namespace, including the Admin Console Role and RoleBinding resources if you installed with namespace-scoped access.
7975
:::
8076
8177
```
8278
kubectl delete ns NAMESPACE
8379
```
8480
Replace `NAMESPACE` with the name of the namespace where the Admin Console is installed.
8581
82+
:::note
83+
You cannot delete the `default` namespace.
84+
:::
85+
8686
1. (Cluster-scoped Access Only) If you installed the Admin Console with the default cluster-scoped access, run the following commands to delete the Admin Console ClusterRole and ClusterRoleBinding from the cluster:
8787
8888
```
@@ -93,28 +93,4 @@ To delete the Admin Console from an existing cluster:
9393
kubectl delete clusterrolebinding kotsadm-rolebinding
9494
```
9595
96-
### Delete from an Embedded Cluster {#embedded}
97-
98-
If you installed on a cluster created by Replicated kURL, KOTS installs the Admin Console in the `default` namespace. Kubernetes does not allow the `default` namespace to be deleted.
99-
100-
To delete the Admin Console from an embedded cluster, use the kURL `tasks.sh` `reset` command to remove Kubernetes from the system.
101-
102-
:::important
103-
The `reset` command is intended to be used only on development servers. It has the potential to leave your machine in an unrecoverable state. It is not recommended unless you are able to discard this server and provision a new one.
104-
:::
105-
106-
Instead of using the `reset` command, you can also discard your current VM (if you are using one) and recreate the VM with a new OS to reinstall the Admin Console and an application.
107-
108-
For more information about the `reset` command, see [Resetting a Node](https://kurl.sh/docs/install-with-kurl/managing-nodes#reset-a-node) in the kURL documentation.
109-
110-
To delete the Admin Console from an embedded cluster:
111-
112-
1. Run the following command to remove Kubernetes from the system:
113-
114-
```
115-
curl -sSL https://k8s.kurl.sh/latest/tasks.sh | sudo bash -s reset
116-
```
117-
118-
1. Follow the instructions in the output of the command to manually remove any files that the `reset` command does not remove.
119-
120-
If the `reset` command is unsuccessful, discard your current VM, and recreate the VM with a new OS to reinstall the Admin Console and an application.
96+
1. (Optional) To uninstall the KOTS CLI, see [Uninstall](https://docs.replicated.com/reference/kots-cli-getting-started#uninstall) in _Installing the KOTS CLI_.

docs/enterprise/image-registry-kurl.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Image Registry for kURL Clusters
1+
# Working with the kURL Image Registry
22

33
This topic describes the Replicated kURL registry for kURL clusters.
44

@@ -26,7 +26,7 @@ For more information, see [admin-console garbage-collect-images](/reference/kots
2626

2727
## Disable Image Garbage Collection
2828

29-
Image garbage collection is enabled by default for embedded kURL clusters that use the kURL registry.
29+
Image garbage collection is enabled by default for kURL clusters that use the kURL registry.
3030

3131
To disable image garbage collection:
3232

@@ -56,8 +56,8 @@ The kURL registry image garbage collection feature has following limitations:
5656

5757
To prevent this from happening, include the optional images in the `additionalImages` list of the Application custom resource. For more information, see [`additionalImages`](/reference/custom-resource-application#additionalimages) in _Application_.
5858

59-
* **Shared Image Registries**: The image garbage collection process assumes that the registry is not shared with any other instances of Replicated KOTS, nor shared with any external applications. If the embedded kURL registry is used by another external application, disable garbage collection to prevent image loss.
59+
* **Shared Image Registries**: The image garbage collection process assumes that the registry is not shared with any other instances of Replicated KOTS, nor shared with any external applications. If the built-in kURL registry is used by another external application, disable garbage collection to prevent image loss.
6060

61-
* **Customer Supplied Registries**: Image garbage collection is supported only when used with the embedded kURL registry. If the KOTS instance is configured to use a different registry, disable garbage collection to prevent image loss.
61+
* **Customer Supplied Registries**: Image garbage collection is supported only when used with the built-in kURL registry. If the KOTS instance is configured to use a different registry, disable garbage collection to prevent image loss.
6262

6363
* **Application Rollbacks**: Image garbage collection has no effect when the `allowRollback` field in the KOTS Application custom resource is set to `true`. For more information, see [Application](/reference/custom-resource-application) in _KOTS Custom Resources_.

docs/enterprise/image-registry-settings.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ This topic describes how to configure private registry settings in the Replicate
88

99
Using a private registry lets you create a custom image pipeline. Any proprietary configurations that you make to the application are shared only with the groups that you allow access, such as your team or organization. You also have control over the storage location, logging messages, load balancing requests, and other configuration options.
1010

11-
Private registries can be used with online or air gap clusters. For embedded kURL clusters, if the Replicated kURL installer spec includes the kURL Registry add-on, then the embedded registry is used to host the application images. For more information about the kURL Registry add-on, see [Image Registry for kURL Clusters](image-registry-kurl).
11+
Private registries can be used with online or air gap clusters. For kURL clusters, if the Replicated kURL installer spec includes the kURL Registry add-on, then the built-in kURL registry is used to host the application images. For more information, see [Working with the kURL Image Registry](image-registry-kurl).
1212

1313
## Prerequisites
1414

15-
Your domain must support a Docker V2 protocol. For more information, see [Private Registry Requirements](installing-general-requirements#private-registry-requirements) in _Installation Requirements_.
15+
Your domain must support a Docker V2 protocol. For more information, see [Compatible Image Registries](installing-general-requirements#registries) in _KOTS Installation Requirements_.
1616

1717
## Configure Private Registries in Online Clusters
1818

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import ConfigValuesExample from "../partials/configValues/_configValuesExample.mdx"
2+
import ConfigValuesProcedure from "../partials/configValues/_config-values-procedure.mdx"
3+
4+
# Installing with Embedded Cluster from the Command Line
5+
6+
This topic describes how to install an application with Replicated Embedded Cluster from the command line.
7+
8+
## Overview
9+
10+
You can use the command line to install an application with Replicated Embedded Cluster. A common use case for installing from the command line is to automate installation, such as performing headless installations as part of CI/CD pipelines.
11+
12+
To install from the command line, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Any preflight checks defined for the application run automatically during headless installations from the command line rather than being displayed in the Admin Console.
13+
14+
## Prerequisite
15+
16+
Create a ConfigValues YAML file to define the configuration values for the application release. The ConfigValues file allows you to pass the configuration values for an application from the command line with the install command, rather than through the Admin Console UI. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment.
17+
18+
The KOTS ConfigValues file includes the fields that are defined in the KOTS Config custom resource for an application release, along with the user-supplied and default values for each field, as shown in the example below:
19+
20+
<ConfigValuesExample/>
21+
22+
<ConfigValuesProcedure/>
23+
24+
## Online (Internet-Connected) Installation
25+
26+
To install with Embedded Cluster in an online environment:
27+
28+
1. Follow the steps provided in the Vendor Portal to download and untar the Embedded Cluster installation assets. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded).
29+
30+
1. Run the following command to install:
31+
32+
```bash
33+
sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \
34+
--config-values PATH_TO_CONFIGVALUES \
35+
--admin-console-password ADMIN_CONSOLE_PASSWORD
36+
```
37+
38+
Replace:
39+
* `APP_SLUG` with the unique slug for the application.
40+
* `LICENSE_FILE` with the customer license.
41+
* `ADMIN_CONSOLE_PASSWORD` with a password for accessing the Admin Console.
42+
* `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file.
43+
44+
## Air Gap Installation
45+
46+
To install with Embedded Cluster in an air-gapped environment:
47+
48+
1. Follow the steps provided in the Vendor Portal to download and untar the Embedded Cluster air gap installation assets. For more information, see [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap).
49+
50+
1. Ensure that the Embedded Cluster installation assets are available on the air-gapped machine, then run the following command to install:
51+
52+
```bash
53+
sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \
54+
--config-values PATH_TO_CONFIGVALUES \
55+
--admin-console-password ADMIN_CONSOLE_PASSWORD \
56+
--airgap-bundle PATH_TO_AIRGAP_BUNDLE
57+
```
58+
59+
Replace:
60+
* `APP_SLUG` with the unique slug for the application.
61+
* `LICENSE_FILE` with the customer license.
62+
* `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file.
63+
* `ADMIN_CONSOLE_PASSWORD` with a password for accessing the Admin Console.
64+
* `PATH_TO_AIRGAP_BUNDLE` with the path to the Embedded Cluster `.airgap` bundle for the release.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import EmbeddedClusterRequirements from "../partials/embedded-cluster/_requirements.mdx"
2+
import EmbeddedClusterPortRequirements from "../partials/embedded-cluster/_port-reqs.mdx"
3+
import FirewallOpenings from "../partials/install/_firewall-openings.mdx"
4+
5+
# Embedded Cluster Installation Requirements
6+
7+
This topic lists the installation requirements for Replicated Embedded Cluster. Ensure that the installation environment meets these requirements before attempting to install.
8+
9+
## System Requirements
10+
11+
<EmbeddedClusterRequirements/>
12+
13+
## Port Requirements
14+
15+
<EmbeddedClusterPortRequirements/>
16+
17+
## Firewall Openings for Online Installations
18+
19+
<FirewallOpenings/>

docs/enterprise/installing-embedded.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Before you install, complete the following prerequisites:
1010

1111
<Prerequisites/>
1212

13-
* Ensure that the required domains are accessible from servers performing the installation. See [Firewall Openings for Online Installations](/enterprise/installing-general-requirements#firewall-openings-for-online-installations).
13+
* Ensure that the required domains are accessible from servers performing the installation. See [Firewall Openings for Online Installations](/enterprise/installing-embedded-requirements#firewall-openings-for-online-installations).
1414

1515
## Install
1616

docs/enterprise/installing-existing-cluster-airgapped.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import PushKotsImages from "../partials/install/_push-kotsadm-images.mdx"
1414
import PlaceholderRoCreds from "../partials/install/_placeholder-ro-creds.mdx"
1515
import KotsVersionMatch from "../partials/install/_kots-airgap-version-match.mdx"
1616

17-
# Air Gap Installation in Existing Clusters
17+
# Air Gap Installation in Existing Clusters with KOTS
1818

1919
<IntroExisting/>
2020

@@ -26,7 +26,7 @@ Complete the following prerequisites:
2626

2727
<PrereqsExistingCluster/>
2828

29-
* Ensure that there is a compatible Docker image registry available inside the network. For more information about Docker registry compatibility, see [Private Registry Requirements](/enterprise/installing-general-requirements#private-registry-requirements).
29+
* Ensure that there is a compatible Docker image registry available inside the network. For more information about Docker registry compatibility, see [Compatible Image Registries](/enterprise/installing-general-requirements#registries).
3030

3131
KOTS rewrites the application image names in all application manifests to read from the on-premises registry, and it re-tags and pushes the images to the on-premises registry. When authenticating to the registry, credentials with `push` permissions are required.
3232

0 commit comments

Comments
 (0)