---
sidebar_label: Containers
toc_max_heading_level: 3
doc_id: 9c2f4a1b-7d8e-4f3c-b5a6-1e9d0c8f2a74
description: >-
  Deploy containerized applications on Kubernetes using the built-in Containers
  scope type, with support for multiple cloud providers, autoscaling, and
  blue-green deployments.
keywords:
  - containers
  - kubernetes
  - scope type
  - EKS
  - AKS
  - GKE
  - OKE
  - blue-green deployment
  - autoscaling
  - agent-backed scopes
---

# Containers scope

The Containers scope runs your application as Docker containers on Kubernetes. It's the default scope type in nullplatform and the right choice for web applications, APIs, microservices, and any long-running workload.

## When to use it

Use the Containers scope when your application runs as a Docker container and serves HTTP traffic, such as web apps, APIs, or microservices that need autoscaling and zero-downtime deployments.

## Supported cloud providers

The Containers scope works with the following managed Kubernetes services:

| Cloud provider | Kubernetes service |
|---|---|
| AWS | [EKS](/docs/providers/supported-integrations/container-orchestration/eks-configuration) |
| Azure | [AKS](/docs/providers/supported-integrations/container-orchestration/aks-configuration) |
| Azure | ARO (Azure Red Hat OpenShift) |
| Google Cloud | [GKE](/docs/providers/supported-integrations/container-orchestration/gke-configuration) |
| Oracle Cloud | [OKE](/docs/providers/supported-integrations/container-orchestration/oke) |

## What it includes

The Containers scope provides built-in support for:

- **Autoscaling and resource management**: scale pods based on CPU, memory, or custom metrics, and set resource requests and limits per container
- **Blue-green deployments and traffic routing**: deploy new versions alongside the current one, split traffic between versions, and roll back instantly
- **Health checks**: configure liveness and readiness probes to ensure your application is healthy
- **Public and private access**: expose your application to the internet or keep it internal to your account
- **Diagnostics**: run built-in health checks on your scopes to identify issues

## How it works

When you create a Containers scope, nullplatform provisions Kubernetes resources in your cluster through the [nullplatform agent](/docs/agent/overview):

1. The scope is created and the agent receives a `create` action.
2. The agent provisions Kubernetes resources (Deployment, Service, Ingress, HPA).
3. On each deploy, the agent rolls out new container images using the configured deployment strategy.
4. Traffic is routed to healthy pods automatically.

```mermaid
flowchart LR
  A[Build pushed] --> B[Deploy action]
  B --> C[Agent provisions resources]
  C --> D[Pods running]
  D --> E[Traffic routed]
```

## Get started

To set up a Containers scope, you need a Kubernetes cluster, [Helm](https://helm.sh/docs/intro/install/), [Gomplate](https://docs.gomplate.ca/), the [nullplatform CLI](/docs/cli/), and an [API key](/docs/authorization/api-keys) with agent roles.

The setup process follows these steps:

1. Install the nullplatform agent in your cluster using Helm
2. Clone the [scopes repository](https://github.com/nullplatform/scopes) and set `SERVICE_PATH=k8s`
3. Configure your environment variables (API key, NRN, environment)
4. Run the `./configure` script to register the scope schema, actions, and notification channel
5. Create your first Containers scope from the UI

The [Kubernetes setup tutorial](/docs/tutorials/kubernetes-prod-ready) provides the full walkthrough with commands and checkpoints.

## Customization

The Containers scope covers the most common patterns out of the box. If you need to customize its behavior, for example to adjust deployment workflows or add organization-specific logic, see [Override workflows](/docs/agent-backed-scopes/overrides) in the Advanced section.

## Next steps

- [Configurable HTTP ports](/docs/agent-backed-scopes/containers/configurable-http-ports): set a custom main HTTP port and expose additional HTTP listeners
- [Scope configurations](/docs/agent-backed-scopes/scope-configurations): manage namespace, networking, deployment, and security settings from the UI
- [Deployment strategies](/docs/deployments/strategies): configure blue-green, rolling, or canary deployments
- [Diagnose](/docs/agent-backed-scopes/diagnose/overview): run built-in diagnostics to identify scope issues
- [Scheduled tasks](/docs/agent-backed-scopes/scheduled-tasks): run periodic jobs on Kubernetes using CronJobs
- [Static files](/docs/agent-backed-scopes/static-files): deploy SPAs and static websites with CDN distribution

