Skip to content

Tech Writer Copy Edit & Revisions #98

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 14, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions docs/akamai-app-platform/introduction.md
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@ sidebar_label: Introduction

## What is Akamai App Platform

Akamai App Platform is a platform that combines developer and operations-centric tools, automation and self-service to streamline the application lifecycle when using Kubernetes. From development to delivery to management of containerized application workloads.
Akamai App Platform is a Kubernetes platform that combines developer-centric and operations-centric tooling along with automation and a self-service portal. This streamlines the application life cycle when using Kubernetes, from development to delivery to the management of containerized application workloads.

The platform connects many of the technologies found in the Cloud Native Computing Foundation (CNCF) landscape in a way to provide direct value. No more re-inventing the wheel when building and maintaining your own Kubernetes based platform or bespoke stack.
The platform connects many of the technologies found in the Cloud Native Computing Foundation (CNCF) landscape in a way that provides direct value. This avoids the need to reinvent the wheel when building and maintaining your own Kubernetes based platform or bespoke stack.

The App Platform is optimized to run on Linode Kubernetes Engine (LKE), but can also (manually) be installed on any other [conformant Kubernetes cluster](https://www.cncf.io/training/certification/software-conformance/).
App Platform is optimized to run on Linode Kubernetes Engine (LKE), but it can also be manually installed on any other [conformant Kubernetes cluster](https://www.cncf.io/training/certification/software-conformance/).

The platform includes:

@@ -83,4 +83,3 @@ The platform includes:
Get a complete suite of integrated and pre-configured Kubernetes projects to support all the required platform capabilities. Compose your ideal platform by enableling the Kubernetes applications to support all the required capabilities:

![integrated-apps](../img/integrated-apps.png)

8 changes: 4 additions & 4 deletions docs/for-ops/console/settings/backup.md
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ To create backups, Object Storage needs to be enabled.
:::

:::info
The Backup in the Settings will NOT be visible when the installation is done by Akamai Connected Cloud.
The Backup in the Settings will NOT be visible when the installation is done by Akamai Cloud.
:::

The Backup section provides the option to:
@@ -32,16 +32,16 @@ Select to backup the database of the app.
### Persistent Volume Backups

:::info
The Persistent Volume Backups section will not be visible when the installation is done by Akamai Connected Cloud. This is because using Velero is not (yet) supported for Linode Volumes.
The Persistent Volume Backups section will not be visible when App Platform is deployed directly through LKE (not manually installed). This is because using Velero is not (yet) supported for Akamai's Block Storage Volumes.
:::

:::note
To use Velero to create backups of Persistent Volumes, Object Storage needs to be enabled.
:::

To use Velero to create backups of Persistent Volumes in Linode:
To use Velero to create backups of Persistent Volumes in Akamai:

1. Create a Linode API Token in Linode.
1. Create a Linode API Token in Akamai's Cloud Manager.

2. Fill in the token and submit changes.

2 changes: 1 addition & 1 deletion docs/for-ops/console/settings/ingress.md
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ sidebar_label: Ingress
---

:::info
The Ingress section in the Settings will not be visible when the installation is done by Akamai Connected Cloud. In this case you will not be able to create multiple ingress classes.
The Ingress section in the Settings will not be visible when App Platform is deployed directly through LKE (not manually installed). In this case you will not be able to create multiple ingress classes.
:::

## Ingress
2 changes: 1 addition & 1 deletion docs/for-ops/console/settings/obj.md
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ To prevent loss of data it is advised to configure Object Storage before activat
:::

:::info
The Local Minio provider will not be visible when the installation is done by Akamai Connected Cloud.
The Local Minio provider will not be visible when App Platform is deployed directly through LKE (not manually installed).
:::

### Providers
10 changes: 4 additions & 6 deletions docs/for-ops/sre/known-issues.md
Original file line number Diff line number Diff line change
@@ -8,9 +8,9 @@ sidebar_label: Known Issues

### Details

When provisioning App Platform for LKE in Akamai Connected Cloud the installation can fail because a quota exceeded exception. If the URL of the Portal Endpoint does not appear in the App Platform for LKE section after 30 minutes, this could be caused by a quota exceeded exception.
When provisioning App Platform, the installation can fail because a quota exceeded exception. If the URL of the Portal Endpoint does not appear in the **App Platform** section of the cluster's dashboard after 30 minutes, this could be caused by a quota exceeded exception.

Next to the resources required for LKE, the App Platform also uses a NodeBalancer and a minimum of 11 Storage Volumes. This might result in a quota exceeding exception. Linode currently does not provide quota limits in your account details at this time.
Next to the resources required for LKE, App Platform also uses a NodeBalancer and a minimum of 11 Storage Volumes. This might result in a quota exceeding exception. Linode currently does not provide quota limits in your account details at this time.

The following issue might be related to quota exceeding exception:

@@ -28,12 +28,11 @@ N.A.

- If you would like to know your account's limits or want to increase the number of entities you can create, the best way is to get that information through a support ticket.


## The Let’s Encrypt secret request was not successful

### Details

For each cluster with the App Platform for LKE enabled, a Let’s Encrypt certificate will be requested. If the certificate is not ready within 30 minutes, the installation of the App Platform will fail. Run the following command to see if the certificate is created:
For each LKE cluster with App Platform enabled, a Let’s Encrypt certificate will be requested. If the certificate is not ready within 30 minutes, the installation of App Platform will fail. Run the following command to see if the certificate is created:

```bash
kubectl get secret -n istio-system
@@ -49,11 +48,10 @@ N.A.

### Resolution

- Delete the LKE cluster with App Platform for LKE enabled and create a new cluster with App Platform for LKE enabled.
- Delete the LKE cluster with App Platform enabled and create a new cluster, making sure to enable the App Platform.

## Argo CD does not synchronize anymore


### Details

Argo CD may occasionally stop synchronizing without a clear cause. In some instances, errors may appear in the logs, while in others, no errors are logged. This issue results in platform updates being halted.
91 changes: 56 additions & 35 deletions docs/get-started/installation/akamai-connected-cloud.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,46 @@
---
slug: akamai-connected-cloud
title: Akamai Connected Cloud
sidebar_label: Akamai Connected Cloud
title: Deploy Akamai App Platform on LKE
sidebar_label: LKE (automatic)
---

# Get started with the App Platform for LKE
# Deploy Akamai App Platform on LKE

## Create a Kubernetes cluster with the App Platform for LKE
## Create a Kubernetes cluster with App Platform enabled

1. Log into your Cloud Manager account.
These instructions provide the basic steps for deploying App Platform on an LKE cluster. For more complete instructions on creating an LKE cluster, see the [Create a cluster](https://techdocs.akamai.com/cloud-computing/docs/create-a-cluster) guide.

2. Select Kubernetes from the left navigation menu and then click Create Cluster.
1. Log in to your Cloud Manager account.

3. The Create a Kubernetes Cluster page appears. At the top of the page, you are required to select the following options
2. Select Kubernetes from the main navigation menu and then click **Create Cluster**.

- In the Cluster Label field, provide a name for your cluster. The name must be unique between all of the clusters on your account. This name is how you identify your cluster in Cloud Manager’s Dashboard.
3. The _Create a Kubernetes Cluster_ page appears. At the top of the page, select the following options

- From the Region dropdown menu, select the Region where you would like your cluster to reside.
- In the **Cluster Label** field, provide a name for your cluster. The name must be unique between all of the clusters on your account. This name is how you identify your cluster in Cloud Manager.

- From the Version dropdown menu, select a Kubernetes version to deploy to your cluster.
- From the **Region** dropdown menu, select the region where you would like your cluster to reside.

4. In the App Platform for LKE section, select “Yes, enable App Platform for LKE”
- From the **Version** dropdown menu, select a Kubernetes version to use on your cluster.

4. In the **App Platform** section, select _Yes, enable App Platform for LKE_.

:::note
App Platform requires HA control plane. When you enable the **App Platform** setting, the **HA control plane** setting is automatically enabled.
:::

5. In the **Add Node Pools** section, select the required resources for the worker nodes. To the right of each plan, select the plus + and minus - to add or remove a node to a node pool one at time.

:::note
During the beta period, App Platform requires a node pool with at least **3 worker** nodes with a minimum of **8 GB memory** and **4 CPUs** per node.
:::

:::note
App Platform is not supported in combination with Shared CPU Linode plans.
:::

6. Select **Add** to include the node pool in your configuration. If you need more hardware resources after you deploy your cluster, you can always [edit your Node Pool](https://techdocs.akamai.com/cloud-computing/docs/manage-nodes-and-node-pools).

7. Once a node pool has been added to your configuration, it is listed in the **Cluster Summary** section detailing your cluster's hardware resources and monthly cost. Additional pools can be added before finalizing the cluster creation process by repeating the previous step for each additional pool.

:::info
The App Platform for LKE requires HA control plane to be enabled. When App Platform for LKE is enabled, HA control plane will automatically be enabled.
@@ -44,13 +64,13 @@ The App Platform for LKE is not supported in combination with Shared CPU.

7. Once a pool has been added to your configuration, it is listed in the Cluster Summary on the right-hand side of Cloud Manager detailing your cluster's hardware resources and monthly cost. Additional pools can be added before finalizing the cluster creation process by repeating the previous step for each additional pool.

8. When you are satisfied with the configuration of your cluster, click the Create Cluster button on the right hand side of the screen. Your cluster's detail page appears, and your Node Pools are listed on this page. First the LKE cluster will be created and once ready the App Platform for LKE will be installed. The installation of the App Platform for LKE takes around 10 until 15 minutes. When the installation is finished, the URL of the Portal Endpoint will appear in the App Platform for LKE section. The progress of the installation will be checked every 60 seconds. When the installation is still in progress, the URL of the Portal Endpoint will not be displayed. Instead the message “Installation in progress” will appear.
8. When you are satisfied with the configuration of your cluster, click the **Create Cluster** button. This creates your cluster and displays the cluster's details page in the Cloud Manager. Once the cluster has been fully provisioned, App Platform is installed. **The installation of App Platform takes around 10 to 15 minutes.** When the installation is finished, the URL of the **Portal Endpoint** is displayed in the **App Platform** section. The progress of the installation is checked every 60 seconds. When the installation is still in progress, the message “Installation in progress” is displayed instead of the URL of the Portal Endpoint.

9. When the installation of both the LKE cluster and the App Platform is ready, click on the provided URL of the Portal Endpoint:
9. When the installation of both the LKE cluster and App Platform is complete, click on the provided URL of the Portal Endpoint:

![details-page](../../img/cluster-details-page.png)

You will then see the following sign-in page:
This takes you to App Platform Portal login page:

![sign-in](../../img/sign-in-page.png)

@@ -60,52 +80,53 @@ You will then see the following sign-in page:

1. To access your cluster's Kubeconfig, log in to your Cloud Manager account and navigate to the Kubernetes section.

2. From the Kubernetes listing page, click on your cluster's more options ellipsis and select Download Kubeconfig. The file is saved to your computer's Downloads folder.
2. From the Kubernetes listing page, click on your cluster's _more options_ ellipsis and select **Download Kubeconfig**. The file is saved to your computer's downloads folder.

3. Open a terminal shell and save your Kubeconfig file's path to the $KUBECONFIG environment variable. In the example command, the Kubeconfig file is located in the Downloads folder, but you should alter this line with this folder's location on your computer:
3. Open a terminal shell and save your Kubeconfig file's path to the $KUBECONFIG environment variable. In the example command, the Kubeconfig file is located in the **Downloads** folder, but you should alter this line with this folder's location on your computer:

```bash
export KUBECONFIG=~/Downloads/kubeconfig.yaml
```
```bash
export KUBECONFIG=~/Downloads/kubeconfig.yaml
```

## Obtain the initial access credentials and sign in

1. Perform the following command to obtain the user name:

```bash
kubectl get secret platform-admin-initial-credentials -n keycloak --template={{.data.username}} | base64 -d
```
```bash
kubectl get secret platform-admin-initial-credentials -n keycloak --template={{.data.username}} | base64 -d
```

2. Perform the following command to obtain the initial password:

```bash
kubectl get secret platform-admin-initial-credentials -n keycloak --template={{.data.password}} | base64 -d
```
```bash
kubectl get secret platform-admin-initial-credentials -n keycloak --template={{.data.password}} | base64 -d
```

3. Copy the username and password to your clipboard.
3. Navigate back to App Platform Portal login page in your web browser and sign in with these credentials.

4. Sign in to the Console with the provided username and initial password.
4. The first time you log in, you are prompted to change your password. Enter your new password and click **Submit**. If you need to change your password later, see the [Change user passwords](http://localhost:3001/docs/for-ops/how-to/change-user-passwords) and [Change admin password](http://localhost:3001/docs/for-ops/how-to/change-admin-password) guides.

5. Change the initial password
5. After changing your password, you are taken to the main dashboard. The first time you log in, you are prompted to configure Object Storage. See the [Provision Object Storage for the App Platform](#provision-object-storage-for-the-app-platform) section below.

## Provision Object Storage for the App Platform

When signed in to the Console (the web UI of the App Platform), the first thing you’ll need to do is configure Object Storage. A wizard will be displayed asking you if the App Platform should provision all the required Buckets and access key for you. This is not required, but strongly recommended as this will prevent `out of disk space errors` when using Storage Volumes for integrated applications. Using Object Storage also has the advantage to create backups of all databases used by the platform.
Aftering logging in to the App Platform Portal for the first time, you should configure Object Storage. This is not required, but strongly recommended as this will prevent _out of disk space errors_ when using Storage Volumes for integrated applications. Using Object Storage also has the advantage of creating backups of all databases used by the platform.

1. When asked to create all the required Buckets and access key, click Yes. If you don’t want the platform to create all the required buckets, then click Skip for now. Note that in this case some features like creating backups of databases will not be available. You can start the Wizard at any time in the Console (Platform View: Maintenance, Show Object Storage Wizard).
1. The **Object Storage Wizard** screen is automatically displayed when logging in for the first time. This walks you through adding an API token so that it can automatically create amd configure all required Object Storage buckets. Click **Yes** to continue with this process. If you don’t want the platform to create all the required buckets, then click **Skip for now**. In this case, some features like creating backups of databases will not be available. You can start the Wizard at any time in the Portal (Platform View: Maintenance, Show Object Storage Wizard).

2. Follow the instructions to [create a Personal Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#personal-access-tokens) and make sure to select **Read/Write** for the Object Storage category. Copy the Access Token.
1. Follow the instructions to [create a Personal Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#personal-access-tokens). The API token only needs **Read/Write** to Object Storage. Once created, save or copy the generated access token.

3. Now paste the Access Token into the wizard and select the region where the buckets should be created from the dropdown list.
1. Paste the API token into the wizard and select the region where the buckets should be created from the dropdown list. This region should match the region you selected when deploying your LKE cluster.

4. Click `Submit`.
1. Click `Submit`.

All the required buckets will now be created in your account and the platform will be configured to use Object Storage to store persistent data and backups. The provided Personal Access Token will not be stored. The created buckets will have the `<cluster-id>` prefix`
All the required buckets are now created and the platform will be configured to use Object Storage to store persistent data and backups. The provided Personal Access Token will not be stored. The created buckets will have the `<cluster-id>` prefix`

## Onboard Teams and Users

You can now start enabling Applications, onboarding [Teams](../../for-ops/console/teams) and create [Users](../../for-ops/console/user-management).

We recommend to go through the [Hands-on Labs](../labs/overview) to learn how to take advantage of the App Platform for LKE.
We recommend to go through the [Hands-on Labs](../labs/overview) to learn how to take advantage of the Akamai App Platform.

## Known issues

4 changes: 2 additions & 2 deletions docs/get-started/installation/byo-wildcard.md
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ cluster:
otomi:
hasExternalDNS: true
dns:
domainFilters:
domainFilters:
- try-otomi.net
provider:
aws:
@@ -44,4 +44,4 @@ apps:
byoWildcardCertKey: |
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
```
```
16 changes: 8 additions & 8 deletions docs/get-started/installation/linode.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
slug: linode
title: Linode
sidebar_label: Linode Kubernetes Engine
title: Manually Deploy Akamai App Platform on LKE
sidebar_label: LKE (manual)
---

# Install Akamai App Platform on LKE with DNS

Provision a LKE cluster in Cloud Manager or by using the Linode CLI and manually install the App Platform onto it by using a Linode Domain for DNS.
Provision an LKE cluster in Cloud Manager or by using the Linode CLI and manually install App Platform onto it by using a Linode Domain for DNS.

## Prerequisites

- Create an account for Linode [here](https://cloud.linode.com/)

## Provision a LKE cluster
## Provision an LKE cluster

### Using Cloud Manager

Provision a LKE cluster with the following specs:
Provision an LKE cluster with the following specs:

- Fill in the `Cluster Label`

@@ -39,7 +39,7 @@ export KUBECONFIG=<path-to-downloads>/$CLUSTER_NAME-kubeconfig.yaml

[Install and configure](https://techdocs.akamai.com/cloud-computing/docs/install-and-configure-the-cli) the CLI.

Provision a LKE cluster using the Linode CLI:
Provision an LKE cluster using the Linode CLI:

```bash
linode-cli lke cluster-create \
@@ -111,7 +111,7 @@ cluster:
otomi:
hasExternalDNS: true
dns:
domainFilters:
domainFilters:
- <your-domain>
provider:
linode:
@@ -151,7 +151,7 @@ When the installer is finished, copy the `url` and `admin-password` from the con
Follow the post installation steps [here](post-install-steps.md).

:::tip
Like to learn how to use App Platform for LKE? Go through the [Get Started labs](../labs/labs-overview.md)
To learn how to use the Akamai App Platform, go through the [Get Started labs](../labs/labs-overview.md).
:::

## Known issues
25 changes: 19 additions & 6 deletions docs/get-started/installation/overview.md
Original file line number Diff line number Diff line change
@@ -8,39 +8,52 @@ sidebar_label: Overview

---

### [Akamai Connected Cloud](akamai-connected-cloud.md)
Provision LKE with the App Platform in Akamai Connected Cloud.
### [Automatic deployment on LKE](akamai-connected-cloud.md)

### [Linode Kubernetes Engine (LKE)](linode.md)
Create a LKE cluster and manually install the App Platform.
Deploy App Platform automatically through LKE (Akamai's cloud computing managed Kubernetes service).

### [Custom](custom.md)
Install the App Platform on any other conformant Kubernetes cluster.
---

**Manual installation**

### [Manual installation on LKE](linode.md)

Create an LKE cluster and manually install the App Platform. This is not recommended unless you have specific needs that are not addressed in the automatic deployment method.

### [Custom installation on other Kubernetes services](custom.md)

Install App Platform on any other conformant Kubernetes cluster.

---

**Other installation resources**

### [Helm](helm.md)

Instructions for using the Helm chart.

---

**Advanced configurations**

### [Use DNS](dns.md)

Install with DNS.

### [Use Azure AD as IDP](oidc.md)

Install with Azure Entra ID for OIDC.

### [Use SOPS for encryption](sops.md)

Install with SOPS.

### [Use an entrypoint](entrypoint.md)

Install with an entrypoint for an external gateway.

### [Bring Your Own Wild Card Certificate](byo-wildcard.md)

Install using a BYO (wild card) certificate.

---
32 changes: 14 additions & 18 deletions docs/get-started/installation/post-install-steps.md
Original file line number Diff line number Diff line change
@@ -136,32 +136,28 @@ When Object Storage is configured and an API Token is added, then activate the V

## Step 6 (optional): Activate more Apps

App Platform for LKE is a composable platform. Activate more Apps based on the required platform capabilities:

| Capability | App | Object storage |
| --------------- | ------------------------------------------------------ | -------------- |
| Log aggregation | Loki and Grafana | Optional |
| Metric collection | Prometheus and Grafana | No |
| Send Alerts | Prometheus and Alert manager | No |
| Tracing | Tempo, OTEL, Loki and Grafana | Required |
| Build images from source code | Harbor | Optional |
| Scan running containers for vulnerabilities | Trivy | No |
| Enforce security policies | Kyverno | No |
| Database backups | CloudnativePG | Required |
<!-- | Long term retention of Logs, Metrics and Traces | Thanos | Required | -->
Akamai App Platform is a composable platform. Activate more Apps based on the required platform capabilities:

| Capability | App | Object storage |
| ----------------------------------------------- | ----------------------------------------------- | -------------- |
| Log aggregation | Loki and Grafana | Optional |
| Metric collection | Prometheus and Grafana | No |
| Send Alerts | Prometheus and Alert manager | No |
| Tracing | Tempo, OTEL, Loki and Grafana | Required |
| Build images from source code | Harbor | Optional |
| Scan running containers for vulnerabilities | Trivy | No |
| Enforce security policies | Kyverno | No |
| Database backups | CloudnativePG | Required |
| Long term retention of Logs, Metrics and Traces | Thanos | Required |

## Step 7: Create Teams

Create your first team. Follow the instructions [here](/docs/for-ops/console/teams#creating-a-team).

## Step 8: Create users and add them to a Team

:::info
The option to create users and add them to Teams is not available when installed with [OIDC](oidc.md).
:::

Create Users and add them to a Team. Follow the instructions [here](/docs/for-ops/console/user-management)




4 changes: 2 additions & 2 deletions docs/get-started/labs/labs-overview.md
Original file line number Diff line number Diff line change
@@ -4,13 +4,13 @@ title: Labs Overview
sidebar_label: Labs Overview
---

Welcome to the App Platform for LKE labs! If you are going to use the App Platform for LKE or like to learn Kubernetes, these labs are for you. Step by step we'll guide you in how to build, deploy, secure and observe containerized applications on Kubernetes. The labs cover the most common activities performed by developer- and/or DevOps teams.
Welcome to the Akamai App Platform labs! We recommend reviewing these labs to learn how to use App Platform or if you would like to learn Kubernetes. They will guide you in how to build, deploy, secure and observe containerized applications on Kubernetes. The labs cover the most common activities performed by developer and DevOps teams.

---

**Make sure everything is ready to get started**

### [Provision a LKE Kubernetes cluster and install the App Platform](get-started/installation/linode.md)
### [Provision an LKE Kubernetes cluster and install the App Platform](get-started/installation/linode.md)

### [Lab prerequisites](labs-prerequisites.md)

13 changes: 8 additions & 5 deletions docs/get-started/overview.md
Original file line number Diff line number Diff line change
@@ -8,11 +8,14 @@ sidebar_label: Overview

---

### Step 1: [Install the App Platform](installation/overview.md)
Install the App Platform on Linode Kubernetes Engine (LKE) or any other conformant Kubernetes cluster.
### Step 1: [Install App Platform](installation/overview.md)

Install App Platform on Linode Kubernetes Engine (LKE) or any other conformant Kubernetes cluster.

### Step 2: [Follow the post installation steps ](installation/post-install-steps.md)
Configure the App Platform for usage.

### Step 3: [Explore the App Platform using the Labs](labs/labs-overview.md)
Explore the App Platform with a comprehensive set of hands-on labs.
Configure App Platform for usage.

### Step 3: [Explore App Platform through hands-on labs](labs/labs-overview.md)

Explore App Platform with a comprehensive set of hands-on labs.