Skip to content

Commit c42424b

Browse files
Add selfhost doc for openshift
Signed-off-by: Arnob Kumar Saha <arnob@appscode.com>
1 parent 4782b92 commit c42424b

6 files changed

Lines changed: 119 additions & 83 deletions

File tree

478 KB
Loading

docs/platform/selfhost-setup/install/cloud-demo.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Before beginning the installation, identify your target infrastructure and clust
3434
* **Target IP:** Provide the static IP addresses for your cluster nodes or load balancer.
3535
* **Cluster Type:** Determine if you are installing on **AWS EKS Cluster** or **Red Hat OpenShift Cluster**.
3636

37+
> For Red Hat OpenShift clusters, see the [Deploying KubeDB Platform in OpenShift Cluster](openshift-cluster.md) guide.
38+
3739
#### Additional configuration for EKS cluster
3840

3941
See [Additional configuration for EKS cluster](common-config.md#additional-configuration-for-eks-cluster) in the Common Configuration guide for the EBS CSI / AWS Load Balancer Controller prerequisites and the commands to fetch the Kube API server endpoint, subnet IDs, and EIP allocation IDs.

docs/platform/selfhost-setup/install/onprem-demo.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ Before beginning the installation, identify your target infrastructure and clust
3333
* **Enable DNS:** Toggle this to allow the installer to manage or integrate with your DNS provider.
3434
* **Target IP:** Provide the static IP addresses for your cluster nodes or load balancer.
3535
* **Cluster Type:** Determine if you are installing on **Red Hat OpenShift Cluster**.
36+
37+
> For Red Hat OpenShift clusters, see the [Deploying KubeDB Platform in OpenShift Cluster](openshift-cluster.md) guide.
38+
3639
### 3. Global Administrative Settings
3740
See [Global Administrative Settings](common-config.md#global-administrative-settings) in the Common Configuration guide for the System Admin account fields (display name, email, password, and initial organization).
3841

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
layout: docs
3+
menu:
4+
docsplatform_{{.version}}:
5+
identifier: selfhost-openshift-cluster
6+
name: OpenShift Cluster
7+
parent: selfhosted-installer
8+
weight: 6
9+
menu_name: docsplatform_{{.version}}
10+
section_menu_id: selfhost-setup
11+
---
12+
13+
# Deploying KubeDB Platform in OpenShift Cluster
14+
15+
This guide describes how to deploy the **KubeDB Platform** on a **Red Hat OpenShift** cluster. The deployment types available to you depend on how you want to reach the platform:
16+
17+
* **IP mode** — choose this when you want to access the platform over a **static IP**. Available deployment types: **Cloud Demo** and **Onprem Demo**.
18+
* **DNS mode** — choose this when you want to access the platform over a **DNS name**. Available deployment types: **Onprem Demo** and **Self Hosted Production**.
19+
20+
Regardless of the mode, an OpenShift deployment always requires you to toggle the **Install on Red Hat OpenShift cluster?** option and provide the **Kube API Server** endpoint.
21+
22+
### Prerequisites
23+
24+
See [Prerequisites](common-config.md#prerequisites) in the Common Configuration guide for the minimum cluster requirements and the optional k3s setup note.
25+
26+
### 1. Visit the AppsCode Self-Hosted Page
27+
28+
Navigate to [AppsCode Self-Hosted](https://appscode.com/selfhost). Here you will find your previously generated self-hosted installers. <br>
29+
Click on the `Create New Installer` button to get started.
30+
31+
### 2. Enable OpenShift and Set the Kube API Server
32+
33+
This is the common requirement for every OpenShift deployment, irrespective of the mode you chose above.
34+
35+
* Toggle on the **Install on Red Hat OpenShift cluster?** option.
36+
* Set the **Kube API Server** field with your cluster's API server endpoint.
37+
38+
Run the following command against your OpenShift cluster to fetch the API server endpoint:
39+
40+
```bash
41+
oc whoami --show-server
42+
```
43+
44+
You can also read it from your current kubeconfig context:
45+
46+
```bash
47+
kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}'
48+
```
49+
50+
Paste the returned URL (for example, `https://api.<cluster-name>.<base-domain>:6443`) into the **Kube API Server** field.
51+
52+
### 3. Choose the Deployment Mode
53+
54+
Pick the `Deployment Type` based on how you want to access the platform, and give it a name in the installer name section. The specifics for each mode are below.
55+
56+
#### IP mode (IP preferred)
57+
58+
Use this mode when you want to reach the platform through a static IP instead of a DNS name. In this mode you can choose either **Cloud Demo** or **Onprem Demo** as the deployment type.
59+
60+
* **DNS & Connectivity:**
61+
* **Enable DNS:** Leave this toggle **off** since access is over an IP.
62+
* **Target IP:** At this point the load balancer does not exist yet, so just provide any random IP to proceed with creating the installer.
63+
64+
> [!IMPORTANT]
65+
> The LoadBalancer IP is not known yet, so the random Target IP must be fixed later (see [Deploy KubeDB Platform](#5-deploy-kubedb-platform)).
66+
67+
Once OpenShift is enabled and the Kube API Server is set, follow the standard configuration sections for the deployment type you picked. See the [Cloud Demo](cloud-demo.md) or [Onprem Demo](onprem-demo.md) guide for the full walkthrough of these sections.
68+
69+
#### DNS mode (DNS preferred)
70+
71+
Use this mode when you want to reach the platform through a DNS name. In this mode you can choose either **Onprem Demo** or **Self Hosted Production** as the deployment type, the latter being the recommended setup for production.
72+
73+
* **DNS & Connectivity:**
74+
* **Enable DNS:** Toggle this **on** so the installer can manage or integrate with your DNS provider.
75+
* **Target IP:** At this point the load balancer does not exist yet, so just provide any random IP to proceed with creating the installer.
76+
77+
> [!IMPORTANT]
78+
> The LoadBalancer IP is not known yet, so the random Target IP and the DNS `A` record must be fixed later (see [Deploy KubeDB Platform](#5-deploy-kubedb-platform)).
79+
80+
Once OpenShift is enabled and the Kube API Server is set, follow the standard configuration sections for the deployment type you picked. See the [Onprem Demo](onprem-demo.md) or [Self Hosted Production](selfhosted-production.md) guide for the full walkthrough of these sections.
81+
82+
> [!NOTE]
83+
> This guide only covers the fields that are **specific to an OpenShift deployment**. Each deployment type has many more configuration sections (Global Administrative Settings, Registry, Monitoring, TLS, Ingress & Gateway, NATS, and more). For the complete field-by-field walkthrough, follow the guide for the deployment type you choose:
84+
> * **[Cloud Demo](cloud-demo.md)**
85+
> * **[Onprem Demo](onprem-demo.md)**
86+
> * **[Self Hosted Production](selfhosted-production.md)**
87+
88+
### 4. Generate Installer and Documentation
89+
90+
Click the "Deploy" button to submit your information. AppsCode will generate the installer and provide the necessary documentation.
91+
92+
### 5. Deploy KubeDB Platform
93+
94+
Follow the documentation provided by AppsCode to deploy the KubeDB Platform on your OpenShift cluster. For an OpenShift deployment the generated instructions are ordered specifically, and you must pause partway through to fix the placeholder Target IP:
95+
96+
1. **Create the LoadBalancer service.** The first part of the generated instructions creates the platform's LoadBalancer service in the `ace` namespace.
97+
2. **Wait for the external IP.** The LoadBalancer takes some time to get an external IP assigned. Run `kubectl get svc -n ace` until the `EXTERNAL-IP` column is populated, then copy that IP.
98+
3. **Reconfigure the installer.** Update the **Target IP** with the assigned LoadBalancer IP and regenerate the installer. For **DNS mode**, also create or update the DNS `A` record so your domain points to this IP.
99+
4. **Run the remaining install steps.** Continue with the rest of the generated instructions (flux install, `helm upgrade`, and the ACE install) using the reconfigured values.
100+
101+
<br/>
102+
<img width="80%" src="../images/ip-reconfigure-openshift.png">
103+
104+
### 6. Explore the Deployed Platform
105+
106+
Once deployed, access the **KubeDB Platform** using the configured IP (IP mode) or domain (DNS mode). Log in with the admin account credentials provided during the creation process.
107+
108+
<br/>
109+
<img width="50%" src="../images/ace-dashboard.png">
110+
111+
## Get Support
112+
113+
If you encounter any challenges during the deployment or have questions, reach out to AppsCode support for assistance.

docs/platform/selfhost-setup/install/openshift-demo.md

Lines changed: 0 additions & 82 deletions
This file was deleted.

docs/platform/selfhost-setup/install/selfhosted-production.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Before beginning the installation, identify your target infrastructure and clust
4747
* **DNS & Connectivity:**
4848
* **Enable DNS:** Toggle this to allow the installer to manage or integrate with your DNS provider.
4949
* **Target IP:** Provide the static IP addresses for your cluster nodes or load balancer.
50-
* **Cluster Type:** Determine if you are installing on **AWS EKS Cluster** or **Red Hat OpenShift Cluster**. For openshift cluster toggle Red Hat OpenShift cluster and give Kube API Server endpoint
50+
* **Cluster Type:** Determine if you are installing on **AWS EKS Cluster** or **Red Hat OpenShift Cluster**. For openshift cluster toggle Red Hat OpenShift cluster and give Kube API Server endpoint. See the [Deploying KubeDB Platform in OpenShift Cluster](openshift-cluster.md) guide.
5151
* **Credential-Less Mode:** Enable this if you are using IAM roles for service accounts (IRSA) to avoid manual secret management.
5252
<br/>
5353
<img width="50%" src="../images/selfhost-deployment-option.png">

0 commit comments

Comments
 (0)