Civo
This guide will show you how to install Okteto onto Civo's Kubernetes Service.
Installation Requirements
In order to fully install Okteto, you'll need the following:
- An Okteto License
- A Kubernetes cluster
- A domain and the ability to create wildcard DNS records for it
- A working installation of kubectl
- A working installation of Helm v3 (v3.8 or higher)
Getting your Okteto License
A license is mandatory to use Okteto. You'll receive a license key as part of your subscription to Okteto. If you haven't received it, please open a support ticket.
If you are interested in evaluating Okteto, sign up for our free 30 days trial. No credit card required.
Deploy a Kubernetes cluster
If you are not familiar with this step, we recommend that you follow Civos's cluster creation guide.
To get started with Okteto, we recommend that you create a Kubernetes cluster with the following configuration:
Okteto supports Kubernetes versions 1.25 through 1.28.
We recommend the following specs:
- Kubernetes v1.28
- 3 large nodes
- Default network
- Without Traefik (you'll need to remove it from the default apps)
Our installation guides assume Okteto will be running in a dedicated cluster. We recommend contacting our team if you plan on installing Okteto in a cluster with other workloads.
Domain
You'll need sufficient access to a subdomain to add a wildcard DNS record, such as dev.example.com. By default, all endpoints created by Okteto for your development environments will be exposed on the wildcard subdomain you choose.
This guide assumes your domain is registered in Civo DNS. You can use any DNS service you prefer, but this guide focuses specifically on Civo DNS.
Installing kubectl
Follow the official documentation for installing kubectl. Once installed, configure kubectl
to talk to your new cluster.
Installing Helm v3 (v3.8 or higher)
Follow the official documentation for installing the latest release of Helm v3 (v3.8 or higher).
Installing Okteto
Adding the Okteto Helm repository
You'll need to add the Okteto repository in order to be able to install Okteto:
helm repo add okteto https://charts.okteto.com
helm repo update
Configuring your Okteto instance
In order to install Okteto you need to first create a config.yaml
for the installation process. This file requires two things:
- Your Okteto
license
- A
subdomain
For example:
license: 1234567890ABCD==
subdomain: dev.example.com
Note: This is a very basic configuration. Learn more about the rest of the configuration options here.
Installing your Okteto instance
Install the latest version of Okteto by running:
helm install okteto okteto/okteto -f config.yaml --namespace=okteto --create-namespace
You can also install a specific version by including the --version
argument.
After a few seconds, all the resources will be created. The output will look something like this:
Release "okteto" has been installed. Happy Helming!
NAME: okteto
LAST DEPLOYED: Thu Mar 26 18:07:55 2020
NAMESPACE: okteto
STATUS: deployed
Retrieve the Ingress Controller IP address
You can use kubectl
to fetch the address that has been dynamically allocated by Civo to the NGINX Ingress you've just installed and configured as a part of Okteto:
kubectl get service -l=app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/component=controller --namespace=okteto
The output will look something like this:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
okteto-ingress-nginx-controller LoadBalancer 10.245.147.23 91.211.154.196 80:30087/TCP,443:31799/TCP,1234:31412/TC 2m
You'll need to create a wildcard DNS record for this IP. To do that, log in to your Civo account, click on the "Manage" option on the left part of the dashboard, and click on "DNS".
Select the domain you're using for your Okteto instance, and click on the "DNS Records" option.
Click on the "Add a Record" button and use the following values:
- Type: A
- Name: *
- Value: Your EXTERNAL-IP
Click on the "Add Record" button to create the DNS record.