Install Application Platform for LKE on LKE with Linode DNS
Provision a LKE cluster in Cloud Manager or by using the Linode CLI and manually install Application Platform for LKE (APL) onto it by using a Linode Domain.
Prerequisites
- Create an account for Linode here
Provision a LKE cluster
Using Cloud Manager
Provision a LKE cluster with the following specs:
-
Fill in the
Cluster Label
-
Use Kubernetes version:
1.30
-
Enable HA Control Plane
-
Add Node Pools. Select the Dedicated 8 GB Plan (with 8 GB RAM and 4 CPUs)
-
Wait until the nodes are in a
Running
state -
Download the
kubeconfig
# Update the KUBECONFIG env to gain access to the cluster
export KUBECONFIG=<path-to-downloads>/$CLUSTER_NAME-kubeconfig.yaml
Using Linode CLI
Install and configure the CLI.
Provision a LKE cluster using the Linode CLI:
linode-cli lke cluster-create \
--label $CLUSTER_NAME \
--region $REGION \
--k8s_version 1.30 \
--control_plane.high_availability true \
--node_pools.type g6-dedicated-8 \
--node_pools.count 3
And get the Kubecfg:
linode-cli get-kubeconfig --label $CLUSTER_NAME
kubectl config use-context lke<cluster_id>-ctx
Create a Domain
If you want to learn about how to use Linode DNS Manager read the following tutorial: Get started with DNS Manager.
When you create a domain in Linode, make sure to set the TTL of the SOA Record to 30 seconds:
-
Click on your domain.
-
Click on the tree dots on the right of the SOA Record and click
edit
. -
Change the default TTL to
30 seconds
. -
Click
Save
.
Creating a Personal Access Token
Create a new Personal Access Token with Read/Write access for Domains:
-
Go to your profile on the top right.
-
Click on
API Tokens
. -
Click on
Create A Personal Access Token
. -
Add a
Label
. -
Select the desired
Expiry
. -
Select
No Access
for all. -
Select
Read/Write
forDomains
. -
Click
Create Token
. -
Copy your Personal Access Token.
-
Set environment variable for the token:
LINODE_TOKEN="<your-personal-access-token>"
Create the values.yaml file
tee values.yaml<<EOF
cluster:
name: $CLUSTER_NAME
provider: linode
domainSuffix: <your-domain>
otomi:
hasExternalDNS: true
dns:
domainFilters:
- <your-domain>
provider:
linode:
apiToken: $LINODE_TOKEN
apps:
cert-manager:
issuer: letsencrypt
stage: production
email: admin@<your-domain>
EOF
Adjust the domainSuffix
, domainFilters
and email
!
You can also use a different DNS provider. See here for examples on how to use Akamai EdgeDNS, AWS Route53, Cloudflare DNS and many others.
Install Application Platform for LKE
Install using Helm:
helm repo add apl https://linode.github.io/apl-core
helm repo update
helm install -f values.yaml apl apl/apl
Monitor the logs of the installer job:
kubectl logs jobs/apl -n default -f
When the installer is finished, copy the url
and admin-password
from the console output.
Follow the post installation steps here.
Like to learn how to use Application Platform for LKE? Go through the Get Started labs