Kubernetes : Linode
Overview of Installing on LKE
Linode Kubernetes Engine, or LKE for short, is Linodes’s managed Kubernetes service. If you don’t already have access to a Kubernetes environment, Linode can be a good choice because of its easy configuration and simplified pricing model compared to larger cloud providers.
This section will walk you through install OpenSquiggly on LKE.
Part 1 : Creating a Kubernetes Cluster on Linode
To create a Linode cluster, visit:
linode.com
then:
- In the sidebar menu, select Kubernetes
- In the upper right corner, click “Create Cluster”
- Enter the Cluster Label
- Select a Region
- Select a Kubernetes Version
- In the Add Node Pools section, select and add nodes of desired sizes. If you are just experimenting with OpenSquiggly on Kubernetes, we recommend selecting the Dedicated CPU / 4GB option.
- For production workloads, Linode recommends choosing the High Availability Control Plane option. As of this writing, the HA Control Plane adds $60 per month to the pricing.
- When you’ve selected all options, click Create Cluster to checkout and start provisioning the cluster.
- After the cluster is provisioned, click on the cluster in your list of Kubernetes cluster, and download the kubeconfig.yaml file. You’ll need this yaml file for the next section where you connect kubectl to the newly created cluster.
Video of Creating LKE Cluster
Part 2 : Connecting kubectl to the Linode Cluster
To access the cluster from the kubectl command on your desktop OS, do the following:
- Download the kubeconfig.yaml file as discussed in the previous steps and the previous video.
- Make a directory in your local ~/.kube folder named configs
cd ~/.kube mkdir configs
- Copy the kubeconfig.yaml file from your ~/Downloads folder into the ~/.kube/configs folder.
mv ~/Downloads/<your-cluster-name>-kubeconfig.yaml ~/.kube/configs
- Add an environment variable to your .bashrc or .bash_profile file (or equivalent actions on
Windows or MacOS).
export KUBECONFIG=$HOME/.kube/config:$HOME/.kube/configs/<your-cluster-name>-kubeconfig.yaml
- Restart your terminal or update your current terminal session with:
source ~/.bashrc
Video of kubectl Setup
Part 3 : Setting up Helm
View your current helm repos with:
helm repo list
Add the OpenSquiggly Helm charts repository to your local Helm repository list with the command:
helm repo add opensquiggly https://opensquiggly.github.io/helm-charts
Part 4 : Create a Kubernetes Namespace (Optional)
It’s a good idea to create a namespace to contain your OpenSquiggly resources that will be installed by the Helm charts. This keeps your resources isolated from any other resources you have installed on Kubernetes, avoids any naming conflicts, and makes it easier to manage the resources later.
Create a namespace with the command:
kubectl create namespace your-namespace-here
Make the namespace your current namespace with the command:
kubectl config set-context --current --namespace=your-namespace-here
If this is a newly created namespace, issue the command:
kubectl get all
and verify that the namespace contains no existing resources.
Part 5 : Install OpenSquiggly using Helm
You should now be all set to install OpenSquiggly on LKE using the helm command line tool.
With Default Parameters
For a default install using all default variables, issue the command:
helm install your-helm-relelase-name-here opensquiggly/allinone --set cloudType=linode
Helm release names can contain alphanumeric characters and the hyphen.
Example:
helm install opensquiggly-test1 opensquiggly/allinone --set cloudType=linode
This will create a persistent volume of 32GB in size, using the block storage provisioner linodebs.csi.linode.com that comes supply by Linode.
With Custom Disk Size
If you need more or less disk space, you can change the size using the diskSize parameter and setting it to an integer value in gigabytes.
For example, to install OpenSquiggly and create a 100GB persistent volume, do:
helm install opensquiggly-test1 opensquiggly/allinone --set cloudType=linode,diskSize=100