Home Explore Blog CI



docker

1st chunk of `content/guides/deno/deploy.md`
bc0e8ac71214ac517cce1540ba55f60f4278354ea6d91a3800000001000008c1
---
title: Test your Deno deployment
linkTitle: Test your deployment
weight: 50
keywords: deploy, kubernetes, deno
description: Learn how to develop locally using Kubernetes
aliases:
- /language/deno/deploy/
---

## Prerequisites

- Complete all the previous sections of this guide, starting with [Containerize a Deno application](containerize.md).
- [Turn on Kubernetes](/manuals//desktop/features/kubernetes.md#install-and-turn-on-kubernetes) in Docker Desktop.

## Overview

In this section, you'll learn how to use Docker Desktop to deploy your application to a fully-featured Kubernetes environment on your development machine. This allows you to test and debug your workloads on Kubernetes locally before deploying.

## Create a Kubernetes YAML file

In your `deno-docker` directory, create a file named
`docker-kubernetes.yml`. Open the file in an IDE or text editor and add
the following contents. Replace `DOCKER_USERNAME/REPO_NAME` with your Docker
username and the name of the repository that you created in [Configure CI/CD for
your Deno application](configure-ci-cd.md).

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: docker-deno-demo
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: deno-api
  template:
    metadata:
      labels:
        app: deno-api
    spec:
      containers:
       - name: deno-api
         image: DOCKER_USERNAME/REPO_NAME
         imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: service-entrypoint
  namespace: default
spec:
  type: NodePort
  selector:
    app: deno-api
  ports:
  - port: 8000
    targetPort: 8000
    nodePort: 30001
```

In this Kubernetes YAML file, there are two objects, separated by the `---`:

 - A Deployment, describing a scalable group of identical pods. In this case,
   you'll get just one replica, or copy of your pod. That pod, which is
   described under `template`, has just one container in it. The
    container is created from the image built by GitHub Actions in [Configure CI/CD for
    your Deno application](configure-ci-cd.md).
 - A NodePort service, which will route traffic from port 30001 on your host to
   port 8000 inside the pods it routes to, allowing you to reach your app

Title: Test Your Deno Deployment on Kubernetes
Summary
This section guides you through deploying your Deno application to a local Kubernetes environment using Docker Desktop for testing and debugging purposes. It provides instructions on creating a Kubernetes YAML file (`docker-kubernetes.yml`) to define a Deployment and a NodePort service, enabling access to your application through a specified port on your host machine.