diff --git a/docs.json b/docs.json
index d43b8aa..c7662b4 100644
--- a/docs.json
+++ b/docs.json
@@ -99,7 +99,8 @@
"managed-kubernetes/overview",
"managed-kubernetes/quickstart",
"managed-kubernetes/expose-application-using-tls",
- "managed-kubernetes/windmill-tutorial"
+ "managed-kubernetes/windmill-tutorial",
+ "managed-kubernetes/okteto-with-ubicloud"
]
},
{
diff --git a/managed-kubernetes/okteto-ubicloud.png b/managed-kubernetes/okteto-ubicloud.png
new file mode 100644
index 0000000..c162c08
Binary files /dev/null and b/managed-kubernetes/okteto-ubicloud.png differ
diff --git a/managed-kubernetes/okteto-with-ubicloud.mdx b/managed-kubernetes/okteto-with-ubicloud.mdx
new file mode 100644
index 0000000..f8edcc0
--- /dev/null
+++ b/managed-kubernetes/okteto-with-ubicloud.mdx
@@ -0,0 +1,323 @@
+---
+title: 'Tutorial: Running Okteto on Ubicloud Kubernetes for Seamless Development'
+---
+
+[Okteto](https://www.okteto.com/) enables developers to code locally while deploying applications on a remote Kubernetes cluster. When combined with **Ubicloud Kubernetes**, this setup streamlines cloud-native development by providing real-time syncing, efficient deployments, and accelerated testing workflows.
+
+This guide walks you through the installation and configuration of Okteto on Ubicloud Kubernetes, ensuring a smooth development experience.
+
+## Requirements
+
+Before proceeding, ensure you have the following prerequisites:
+
+
+
+Confirm that your system has the necessary CLI tools installed:
+
+```bash
+kubectl version
+helm version
+```
+
+You can follow the official guides for installing [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) and [helm](https://helm.sh/).
+
+
+
+
+A valid license is required to use Okteto:
+
+- Paid subscribers receive a license key upon registration.
+- If you haven't received your key, contact [Okteto Support](https://okteto.com/support).
+- You can also sign up for a [30-day free trial](https://www.okteto.com/free-trial/) (no credit card required).
+
+
+
+Ensure you have a Ubicloud Kubernetes cluster set up. If you haven't created one yet, follow these steps:
+
+1. **Create a Ubicloud Account**: Sign up and configure billing: [Ubicloud Quick Start](https://www.ubicloud.com/docs/quick-start/managed-services).
+2. **Deploy a Managed Kubernetes Cluster**: We recommend you to set up a cluster with Kubernetes v1.32, single control plane node and three large worker nodes: [Ubicloud Kubernetes Quickstart](https://www.ubicloud.com/docs/managed-kubernetes/quickstart).
+
+Retrieve and configure the `kubeconfig` file for your Ubicloud Kubernetes cluster:
+
+1. **Download the kubeconfig**: [Ubicloud Docs](https://www.ubicloud.com/docs/managed-kubernetes/quickstart#download-the-kubeconfig).
+2. Copy the file to `$HOME/.kube/config` or set the `KUBECONFIG` environment variable.
+3. Verify connectivity:
+
+```bash
+kubectl cluster-info
+```
+
+
+
+Ubicloud Kubernetes comes with local NVMe storage. We install `local-path-storage` and make it the default storage class to leverage the local storage for persistent volumes in Okteto.
+
+```bash
+kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.31/deploy/local-path-storage.yaml
+kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
+```
+
+
+
+Ubicloud Kubernetes provide a default service URL which can be used for using Okteto and this tutorial will leverage that to access Okteto and obtain certificates. If you want to use a custom domain with wildcard certificates, see the APPENDIX at the end of this guide.
+
+
+## Installing Okteto on Ubicloud Kubernetes
+
+### Obtain Your Kubernetes Service URL
+
+Retrieve the service URL (`XXXXXX-services.k8s.ubicloud.com`) of your Kubernetes cluster from the [Ubicloud console](https://console.ubicloud.com).
+
+### Create a Configuration File
+
+Create a file named `config.yaml` to define some Okteto settings:
+
+```yaml
+license: "YOUR OKTETO LICENSE KEY"
+subdomain: "XXXXXX-services.k8s.ubicloud.com" # Replace with your service URL
+telemetry:
+ enabled: false
+migration:
+ enabled: false
+wildcardCertificate:
+ create: false
+ name: okteto-letsencrypt
+ingress-nginx:
+ controller:
+ service:
+ externalTrafficPolicy: Cluster
+ extraArgs:
+ default-ssl-certificate: $(POD_NAMESPACE)/okteto-letsencrypt
+```
+
+You can refer to the [Okteto Helm Configuration Docs](https://www.okteto.com/docs/self-hosted/helm-configuration/) for additional settings.
+
+### Install Okteto Using Helm
+
+1. Add the Okteto Helm repository:
+
+```bash
+helm repo add okteto https://charts.okteto.com
+helm repo update
+```
+
+2. Install Okteto:
+
+```bash
+helm upgrade --install okteto okteto/okteto -f config.yaml --namespace=okteto --create-namespace
+```
+
+You should be able to access the Okteto UI a few minutes after installation.Add commentMore actions
+
+Since TLS certificate management has not been configured yet, your browser may display an untrusted application warning. You can temporarily mark the site as trusted or proceed with the next configuration step to set up secure access.
+
+
+During installation, you will also receive a command similar to
+
+```bash
+okteto context use https://okteto.xxxxxxxx-services.k8s.ubicloud.com --token xxxxxxxx
+```
+
+Make note of this, as it will be needed in later steps.
+
+
+
+
+## Configuring TLS for Secure Access
+
+We will employ `cert-manager` and Let's Encrypt for accessing Okteto securely with https.
+
+### Install Cert-Manager
+
+```bash
+helm repo add jetstack https://charts.jetstack.io
+helm repo update
+
+helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set crds.enabled=true
+```
+
+### Create a Let's Encrypt Certificate Issuer
+
+Replace `YOUR EMAIL ADDRESS` with your email:
+
+```bash
+kubectl apply -n okteto -f <(cat <
+If you lost the token, you can obtain it by following this guide: [Retrieve a User's Token](https://www.okteto.com/docs/self-hosted/install/auth/token#retrieve-a-users-token).
+
+
+### Deploy an Application
+
+Obtain the sample Okteto application:
+
+```bash
+git clone https://github.com/okteto/movies.git
+cd movies
+```
+
+Deploy the application using Okteto CLI:
+
+```bash
+okteto deploy
+```
+
+Access the application deployed application at:
+
+```
+movies-okteto-admin.XXXXXXXX-services.k8s.ubicloud.com
+```
+
+### Request Certificate for the Application
+Since we haven't created a cert specific to this domain, your browser may display an untrusted application warning. We can add the domain for this application to the certificate we created earlier:
+
+```bash
+kubectl apply -n okteto -f <(cat <Alternatively, you can configure a wildcard certificate using a custom domain by following the [Okteto Wildcard certificate](https://www.okteto.com/docs/self-hosted/install/certificates/) guide.
+
+### Live Code Sync
+
+Switch the frontend container to development mode:
+
+```bash
+okteto up frontend
+```
+
+This will replace the frontend container in Okteto with a development container and get you into a shell.
+
+Run the frontend application in development mode:
+
+```bash
+yarn install
+yarn start
+```
+
+Open the movies app and observe the "In Development Mode" banner at the top, indicating that live code syncing is active.
+
+Now, let's make a quick change and see it reflected instantly. Navigate to **Line 117** in `frontend/src/App.jsx` and modify the app logo text to something like **"Movies by Okteto on Ubicloud"**.
+
+Save the file, and you'll notice the updated title appearing on the web page immediately—no refresh needed\!
+
+
+
+## Conclusion
+
+By following this guide, you have successfully set up Okteto on Ubicloud Kubernetes, configured secure access, and deployed an application with real-time code syncing.
+
+**Enjoy seamless development on Ubicloud Kubernetes with Okteto\!**
+
+
+
+
+## APPENDIX: Using Custom DNS for Okteto
+
+In this guide, we leveraged the free subdomain Ubicloud provided for Kubernetes clusters. However, it's recommended to use a custom domain with wildcard certificates.
+
+In order to use your custom domain, prefer it in the config.yaml file you supply to helm and add the folliwing DNS records with your DNS provider:
+
+- **Type:** CNAME
+- **Name:** *.YOURSUBDOMAIN
+- **Value:** Your service URL as shown in the Ubicloud console or EXTERNAL IP
+
+For using wildcard certificate that will cover all your applications, you can follow the [Okteto Wildcard certificate](https://www.okteto.com/docs/self-hosted/install/certificates/) guide.