Setup - Linode
Setting up a Kubernetes Cluster with Linode (linode)
Deploy a Kubernetes cluster in Linode using LKE service.
Requirements
a Linode account
linode-cliand linode credentials configuredkubectl
LINUX/MAC is the preferred method of setup.
Windows should choose either:
Deploy a THORNode from a Linux VPS.
Use Windows Subsystem for Linux - https://docs.microsoft.com/en-us/windows/wsl/about****
linode-cli
To install the linode-cli (Linode CLI), follow these instructions.
You need to have pip (python) on your system.
pip install linode-cli --upgradeCreate a Linode API token for your account with read and write access from your profile page. The token string is only displayed once, so save it in a safe place.
Use the API token to grant linode-cli access to your Linode account. Pass in the token string when prompted by linode-cli.
linode-clikubectl
To install the kubectl (Kubernetes CLI), follow these instructions or choose a package manager based on your operating system.
MacOS:
Use the package manager homebrew to install kubectl.
brew install kubernetes-cliWindows:
Use the package manager Chocolatey to install kubectl.
choco install kubernetes-cliwget
To install the wget, follow these instructions or choose a package manager based on your operating system.
MacOS:
Use the package manager homebrew to install wget.
brew install wgetWindows:
Use the package manager Chocolatey to install wget.
choco install wgetDeploy Kubernetes Cluster
Use the commands below to deploy a Kubernetes cluster.
You can run the make command that automates those command for you like this:
make linodeOr manually run each commands:
cd linode/
terraform init
terraform plan # to see the plan
terraform applyConfigure kubectl
Now that you've provisioned your Kubernetes cluster, you need to configure kubectl.
To configure authentication from the command line, use the following command, substituting the ID of your cluster.
# Store it - method #1
jq -r ".resources[].instances[].attributes.kubeconfig" linode/terraform.tfstate | base64 -D > ~/.kube/config-linode
# Store it - method #2
linode-cli lke kubeconfig-view <use_your_cluster_id> > ~/.kube/config-linode
# Merge it and set current context
KUBECONFIG=~/.kube/config:~/.kube/config-linode kubectl config view --flatten > ~/.kube/tmpcfg && mv -f ~/.kube/tmpcfg ~/.kube/config && kubectl config use-context $(kubectl config current-context --kubeconfig=~/.kube/config-linode)
# Or just view it - method #1
jq -r ".resources[].instances[].attributes.kubeconfig" linode/terraform.tfstate | base64 -D
# Or just view it - method #2
linode-cli lke kubeconfig-view <use_your_cluster_id>Note: If the above
linode-clicommand is broken you can download the file from the web dashboar for the respective cluster.
This replaces the existing configuration at ~/.kube/config.
Once done, you can check your cluster is responding correctly by running the command:
kubectl version
kubectl get nodesClean up your workspace
To destroy and remove previously created resources, you can run the command below.
make destroy-linodeOr run the commands manually:
cd linode/
terraform destroyLast updated