Skip to main content
Version: 1.31

Getting started after deploying Okteto on DigitalOcean

After you have downloaded your kubeconfig file and can successfully connect to your DigitalOcean Kubernetes cluster (see https://cloud.digitalocean.com/kubernetes/clusters/ if you haven't connected to your cluster), follow the instructions below to start using Okteto.

Initial Configuration

The first step is to get your admin token. Run the following command in a terminal shell to retrieve it:

kubectl get sa -n=okteto do-okteto -ojsonpath='{.metadata.labels.dev\.okteto\.com/token}'

Second, start a port-forward to the ingress service by running the command below:

kubectl port-forward service/do-ingress-nginx-controller 8443:443 --namespace okteto

Third, open your browser and go to https://localhost:8443/#admin to load the admin screen.

Use the admin token you retrieved on the first step to log in to the admin screen.

Once you log in to the admin page, you'll need to provide the following values to complete Okteto's initial configuration.

  1. A dedicated subdomain for your Okteto instance
  2. Your Kubernetes cluster's public endpoint
  3. Your Okteto license (optional)
  4. The Client ID and Client Secret of a GitHub OAuth app
  5. A list of the GitHub Usernames allowed to log into your Okteto instance (optional, leave it empty to allow everyone)
  6. A DigitalOcean personal access token

Press Save once you're ready to apply the new configuration. It'll take about 30 seconds for the configuration to be applied.

Your Okteto instance is now fully configured. It will be available via https://okteto.$SUBDOMAIN (e.g. https://okteto.dev.example.com). The next section explains how to configure the DNS for this.

DNS configuration

Run the following command in a terminal shell to get the External IP address of the Load Balancer.

kubectl get svc -n=okteto -l="app=nginx-ingress,component=controller"

Create a wildcard A record for the entire subdomain and point it to the load balancer's external IP.

Digital Ocean DNS

More information

Subdomain

Okteto can automatically create HTTPS endpoints for the applications you deploy in your cluster. We recommend that you give Okteto a dedicated subdomain to prevent endpoint clashes with other applications.

The Okteto web UI will always be available at https://okteto.$SUBDOMAIN.

The subdomain must be registered with Digital Ocean.

Cluster Public Endpoint

This is the fully qualified URL of your Kubernetes cluster's apiserver. You can get it from the kubeconfig file you downloaded from DigitalOcean:

apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://0b84ec60-fe41-4994-8e76-b53e00859ef9.k8s.ondigitalocean.com
name: do-sfo2-ramiro
...

License

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.

Authentication

Okteto uses GitHub OAuth as the authentication provider. You'll need to create a GitHub OAuth app with the following values:

Homepage URL: https://okteto.$SUBDOMAIN

Authorization callback URL: https://okteto.$SUBDOMAIN/auth/callback

DigitalOcean Personal Access Token

Okteto requires a DigitalOcean personal access token with read/write permissions to create DNS entries when responding to ACME DNS-01 challenges. The entries will be created in the subdomain you provided in the configuration. Create your DigitalOcean personal access token here.

Support

If you get stuck or have any questions, feel free to reach out to us at hello@okteto.com, Twitter, or our community.