Skip to content

Commit

Permalink
Merge pull request #31 from netboxlabs/nbe-docs
Browse files Browse the repository at this point in the history
Updates to NBE docs
  • Loading branch information
rboucher-me authored Aug 1, 2024
2 parents e6d9640 + dc0ab6e commit b44180e
Show file tree
Hide file tree
Showing 6 changed files with 136 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,20 +1,4 @@
# Embedded Cluster

### Requirements

#### Host system requirements

- 4 Virtual CPU (vCPU)
- 8 GB Memory (RAM)
- 40 GB SSD free disk space

#### Host operating system

- Linux (Kernel versions 4.3 and above)

#### Architecture

- x86-64
# NetBox Enterprise Embedded Cluster Installation

### Deploying the cluster

Expand Down
17 changes: 17 additions & 0 deletions docs/netbox-enterprise/nbe-ec-requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# NetBox Enterprise Embedded Cluster Requirements

### Host system requirements

The following are the _minimum_ system requirements for a deployment of NetBox Enterprise running two replicas. For larger environments with more replicas, additional resources should be allocated.

- 4 Virtual CPU (vCPU)
- 8 GB Memory (RAM)
- 40 GB SSD free disk space

### Host operating system

- Linux (Kernel versions 4.3 and above)

### Architecture

- x86-64
47 changes: 47 additions & 0 deletions docs/netbox-enterprise/nbe-kots-installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# NetBox Enterprise KOTS Installation

### Deploying NetBox

Access the NetBox Enterprise admin console and configure NetBox

Open the provided URL in a browser. A prompt will require the password created in Step 2:

![enterprise-admin-console](../images/netbox-enterprise/admin-console.png)

A wizard will guide the configuration of NetBox for the environment:

![configure-netbox-enterprise](../images/netbox-enterprise/configure-netbox-enterprise.png)

Required configuration information includes:

- Version of NetBox to deploy:

![netbox-enterprise-version](../images/netbox-enterprise/netbox-enterprise-version.png)

- Built-in or external PostgreSQL:

![netbox-enterprise-postgres](../images/netbox-enterprise/netbox-enterprise-postgres.png)

- Built-in or external S3-Compatible object store:

![netbox-enterpise-storage](../images/netbox-enterprise/netbox-enterprise-s3.png)

- Advanced settings to configure plugins and SSO remote authentication:

![netbox-enterprise-overides](../images/netbox-enterprise/netbox-enterprise-overides.png)

The deployment of NetBox Enterprise will then proceed:

![netbox-enterprise-deploy](../images/netbox-enterprise/netbox-enterprise-deploy.png)

The `Unavailable` status will change to `Ready` once the deployment is complete and NetBox has fully initialized:

![netbox-enterprise-ready](../images/netbox-enterprise/netbox-enterprise-ready.png)

### Verify

NetBox Enterprise should now be fully deployed.

![netbox-enterprise-login](../images/netbox-enterprise/netbox-enterprise-login.png)

![netbox-enterprise-home](../images/netbox-enterprise/netbox-enterprise-app-home.png)
64 changes: 64 additions & 0 deletions docs/netbox-enterprise/nbe-kots-requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# NetBox Enterprise KOTS Requirements

### System requirements

To install NetBox Enterprise on an existing cluster, the cluster must meet the following requirements:

#### Admin console minimum requirements

Existing clusters that have LimitRanges specified must support the following minimum requirements for the Admin Console:

- **CPU resources and memory**: The Admin Console pod requests 100m CPU resources and 100Mi memory
- **Disk space**: The Admin Console requires a minimum of 5GB of disk space on the cluster for persistent storage, including 4GB for S3-compatible object store
- **1GB for rqlite PersistentVolume**: The Admin Console requires 1GB for a rqlite StatefulSet to store version history, application metadata, and other small amounts of data needed to manage the application

#### Supported operating systems

The following are the supported operating systems for nodes:

- Linux AMD64
- Linux ARM64

#### Available StorageClass

The cluster must have an existing StorageClass available. KOTS creates the required stateful components using the default StorageClass in the cluster.

#### Kubernetes version compatibility

The version of Kubernetes running on the cluster must be compatible with the version of KOTS:

|KOTS Versions |Kubernetes Compatibility|
|--- |--- |
|v1.105.2 and later |v1.29, v1.28, v1.27 |
|v1.102.1 to v1.105.1 |v1.28, v1.27 |
|v1.100.0 to v1.102.0 |v1.27 |

#### OpenShift version compatibility

For Red Hat OpenShift clusters, the version of OpenShift must use a supported Kubernetes version.

#### Port forwarding

To support port forwarding, Kubernetes clusters require that the SOcket CAT (socat) package is installed on each node.

### RBAC Requirements

The user that runs the installation command must have at least the minimum role-based access control (RBAC) permissions that are required by KOTS. If the user does not have the required RBAC permissions, then an error message displays: `Current user has insufficient privileges to install Admin Console`.

The required RBAC permissions vary depending on if the user attempts to install KOTS with cluster-scoped access or namespace-scoped access:

- Cluster-scoped RBAC Requirements (Default)
- Namespace-scoped RBAC Requirements

#### Cluster-scoped RBAC Requirements (Default)

By default, KOTS requires cluster-scoped access. With cluster-scoped access, a Kubernetes ClusterRole and ClusterRoleBinding are created that grant KOTS access to all resources across all namespaces in the cluster.

To install KOTS with cluster-scoped access, the user must meet the following RBAC requirements:

- The user must be able to create workloads, ClusterRoles, and ClusterRoleBindings.
- The user must have cluster-admin permissions to create namespaces and assign RBAC roles across the cluster.

#### Namespace-scoped RBAC Requirements

KOTS can be installed with namespace-scoped access rather than the default cluster-scoped access. With namespace-scoped access, a Kubernetes Role and RoleBinding are automatically created that grant KOTS permissions only in the namespace where it is installed. Please contact us for more details.
2 changes: 1 addition & 1 deletion docs/netbox-enterprise/nbe-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ NetBox Enterprise supports two different deployment models to best address varyi

The Embedded Cluster (EC) installation provides a fully managed, hands-off installation experience for installing NetBox Enterprise, including deploying and managing an underlying Kubernetes cluster. A bare Linux operating system with adequately sized compute resources is the only requirement. Embedded Cluster deployments deliver all the components and dependencies required to deploy and operate NetBox, including databases, application servers, application load balancers, and object stores. Embedded Cluster deployments still provide the flexibility of leveraging external components, such as a PostgreSQL cluster or an S3 Object Store.

See the [Installing NetBox Enterprise Embedded Cluster](nbe-ec.md) guide for more details.
See the [NetBox Enterprise Embedded Cluster Installation](nbe-ec-installation.md) guide for more details.

### KOTS installation

Expand Down
8 changes: 6 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,12 @@ nav:
- Scheduled Maintenance: "maintenance.md"
- Enterprise:
- Overview: "netbox-enterprise/nbe-overview.md"
- Deployment models:
- Embedded Cluster: "netbox-enterprise/nbe-ec.md"
- Embedded Cluster:
- Requirements: "netbox-enterprise/nbe-ec-requirements.md"
- Installation: "netbox-enterprise/nbe-ec-installation.md"
- KOTS:
- Requirements: "netbox-enterprise/nbe-kots-requirements.md"
- Installation: "netbox-enterprise/nbe-kots-installation.md"
- Integrations:
- NetBox Ansible Collection: "netbox-integrations/netbox-ansible-collection.md"
- pyATS: "netbox-integrations/pyats.md"
Expand Down

0 comments on commit b44180e

Please sign in to comment.