# Kubernetes Quickstart DigitalOcean Kubernetes (DOKS) is a Kubernetes service with a fully managed control plane, high availability, and autoscaling. DOKS integrates with standard Kubernetes toolchains and DigitalOcean’s load balancers, volumes, CPU and GPU Droplets, API, and CLI. ## Create Clusters To create a Kubernetes cluster: 01. From the **Create** menu in the [control panel](https://cloud.digitalocean.com), click **Kubernetes**. 02. Select a Kubernetes version. The latest version is selected by default and is the best choice if you have no specific need for an earlier version. 03. Choose a [datacenter region](https://docs.digitalocean.com/products/kubernetes/details/availability/index.html.md). 04. Choose a VPC network you’ve created or use your default network for the datacenter region. 05. New clusters use [VPC-native cluster networking](https://docs.digitalocean.com/products/kubernetes/details/features/index.html.md#vpc-native-networking). Choose **Size network subnets for me** to use the default `/16` (512 nodes) pod network and `/19` (8192 services) service network. To customize the pod and service network sizes, choose **Configure my own network subnet sizes**. 06. Customize the default node pool, choose the machine type and node pool names, and add additional node pools. Specify whether the node pool should [autoscale](https://docs.digitalocean.com/products/kubernetes/how-to/autoscale/index.html.md) and set the minimum and maximum number of nodes. 07. Optionally, enable [high availability](https://docs.digitalocean.com/products/kubernetes/details/managed/index.html.md#managed-elements-of-the-control-plane) to increase the uptime of your cluster. 08. Name the cluster, select the project you want the cluster to belong to, and optionally add a tag. Any tags you choose are applied to the cluster and its worker nodes. 09. Click **Create Kubernetes cluster**. Provisioning the cluster takes several minutes. 10. Download the cluster configuration file by clicking **Actions**, then **Download Config** from the cluster home page. Once the cluster is created, [use `kubectl` to manage it](https://docs.digitalocean.com/products/kubernetes/how-to/connect-to-cluster/index.html.md). To get started with DigitalOcean Kubernetes, see our [Build and Deploy Your First Image to Your First Cluster](https://docs.digitalocean.com/products/kubernetes/getting-started/deploy-image-to-cluster/index.html.md) tutorial. ## Install a 1-Click App to a New or Existing Kubernetes Cluster You can add a variety of preconfigured apps and stacks to a new or existing Kubernetes cluster. 1. Navigate to the **Marketplace** tab of your cluster in [the Kubernetes section of the control panel](https://cloud.digitalocean.com/kubernetes/clusters). 2. Click **Install** in the **Install Kubernetes 1-Click Apps** section to install one of the recommended apps or search for an app in the search field. Alternatively, locate the app you want to install in [the DigitalOcean Marketplace](https://marketplace.digitalocean.com/category/kubernetes) and click **Install App** on the upper right. Select whether to install the app on a new or existing cluster. For more details about the 1-Click Apps, see [Manage 1-Click Applications](https://docs.digitalocean.com/products/kubernetes/how-to/manage-1click-apps/index.html.md). ## Use the Kubernetes Dashboard for Your Cluster The Kubernetes Dashboard provides a web-based user interface where you can deploy containerized applications, troubleshoot your application, manage your cluster resources (such as Deployments, Jobs, DaemonSets, etc), get an overview of applications running on your cluster, initiate a rolling update, restart a pod, and more. 1. Navigate to the **Marketplace** tab of your cluster in [the Kubernetes section of the control panel](https://cloud.digitalocean.com/kubernetes/clusters). 2. Search for the [Kubernetes Dashboard 1-Click App](https://docs.digitalocean.com/products/marketplace/catalog/kubernetes-dashboard/index.html.md) and install it. 3. Download the kubeconfig file for the cluster from the [control panel](https://cloud.digitalocean.com). In the **Configuration** section of the **Overview** tab of the cluster, click **Download Config File**. The kubeconfig file is required for authenticating access to the dashboard. 4. Port-forward the Kubernetes Dashboard to your local machine: ```shell export POD_NAME=$(kubectl get pods -n kubernetes-dashboard -l "app.kubernetes.io/name=kubernetes-dashboard,app.kubernetes.io/instance=kubernetes-dashboard" -o jsonpath="{.items[0].metadata.name}") kubectl -n kubernetes-dashboard port-forward $POD_NAME 8443:8443 ``` 5. Log in to the dashboard. In your local web browser, access `https://127.0.0.1:8443/` and provide your Kubernetes cluster credentials. You can explore your cluster’s resources, view pod details, manage deployments, and monitor the health of your cluster using the dashboard. For more details, see [Web UI (Dashboard) in the Kubernetes documentation](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/). ## Edit Nodes and Node Pools for an Existing Cluster You can create additional node pools and add and remove nodes from a node pool at any time. To edit the size of an existing node pool: 1. Open the cluster’s **More** menu and select **View Nodes**. 2. Next to the node pool which you’d like to resize, click the **…** button, then click **Resize or Autoscale**. 3. Use the + and - controls to adjust the size of the pool, then click the **Update Node Count** to confirm. To add additional node pools: 1. Open the cluster’s **More** menu and select **View Nodes**. 2. Click **Add Node Pool**. 3. Select the name, type, size, and number of Droplets in the pool. Click **Add Node Pool(s)** to add additional node pools. 4. Click **Save** to save your changes and provision your new nodes. ## Recycle Nodes If a worker node isn’t functioning properly, you can destroy and replace it with a new node of the same type with the **Recycle** option. 1. Open the cluster’s **…** menu and select **View Nodes**. 2. Click the name of the node pool with the problem node. 3. Open the **…** menu next to the problem node and select **Recycle**. 4. Optionally, if you want to skip draining the node before removing it, uncheck the **Drain node when replacing** checkbox. By default, the workloads are drained from the node before the node is removed. Skipping node draining is useful when you know that a drain will fail because the workload is broken or cannot gracefully terminate. 5. Click **Recycle** to confirm the action. Recycling a worker node replaces the underlying Droplet with a newly provisioned one. Attached volumes are detached and reattached to the new Droplet, but any data stored locally on the original Droplet’s disk will be lost. ## Destroy Clusters To delete an entire cluster: 1. Open the cluster’s **More** menu and select **Destroy**. 2. Click **Destroy**. 3. Select the associated volumes and load balancers to delete. 4. Enter the name of the cluster, then click **Destroy** to confirm. Destroying a cluster does not delete DigitalOcean Load Balancers or volumes associated with the cluster.