Skip to content

Commit 4595d7f

Browse files
bugersharadregoticlaude
authored
Merging to release-5.12: DX-2363: docs: Add container support guide (Podman, containerd, CRI-O) (#1872)
DX-2363: docs: Add container support guide (Podman, containerd, CRI-O) (#1872) * docs: add container support guide (Podman, containerd, CRI-O) * docs(DX-2363): restructure container runtimes guide and add cross-references - Rewrite containers.mdx as a proper Tyk docs page: clean frontmatter, active voice, no numbered headings, FAQ as AccordionGroup, no em dashes - Move page from tyk-self-managed/install/containers to deployment-and-operations/container-runtimes - Update docs.json: remove old nav entry, add new entry under Configuration group after planning-for-production - Add Container Runtimes cross-reference Note (after Prerequisites) to 7 install pages: tyk-self-managed docker/k8s, portal docker/k8s, ai-studio docker/k8s, tyk-governance installation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Leonid Bugaev <leonsbox@gmail.com> Co-authored-by: Sharad Regoti <sharadregoti15@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent efd776e commit 4595d7f

File tree

9 files changed

+167
-3
lines changed

9 files changed

+167
-3
lines changed

ai-management/ai-studio/deployment-k8s.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ This guide explains how to deploy Tyk AI Studio (control plane), an Edge Gateway
2525
- A Tyk AI License key (contact support@tyk.io or your account manager to obtain)
2626
- For production with TLS: cert-manager installed in your cluster
2727

28+
<Note>
29+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
30+
</Note>
31+
2832
## Generate Secrets
2933

3034
Before installing, generate three secret keys to secure communication and encrypt data:

ai-management/ai-studio/quickstart.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ This guide covers deploying Tyk AI Studio with a Edge Gateway using Docker Compo
2525
- At least 4 GB RAM available
2626
- A Tyk AI License key (contact support@tyk.io or your account manager to obtain)
2727

28+
<Note>
29+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
30+
</Note>
31+
2832
## Generate Secrets
2933

3034
Before starting, generate the required secret keys. These will be used in the configuration files to secure communication and encrypt data:
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
title: "Container Runtimes"
3+
description: "Tyk runs as OCI-compatible containers and works with Docker, containerd, CRI-O, and Podman. Learn which runtimes are supported and how to configure each for local and Kubernetes deployments."
4+
sidebarTitle: "Container Runtimes"
5+
keywords: ["container runtime", "docker", "podman", "containerd", "CRI-O", "RHEL 8", "kubernetes", "OCI", "helm", "OpenShift"]
6+
---
7+
8+
| Edition | Deployment Type |
9+
| :------------- | :---------------------- |
10+
| Enterprise | Self-Managed, Hybrid |
11+
12+
Tyk distributes all components as OCI-compatible container images, which means they run unchanged on any OCI-compliant runtime: Docker Engine, containerd, CRI-O, or Podman. You do not need to rebuild images when moving between runtimes or cloud providers.
13+
14+
Since Kubernetes v1.24 removed the dockershim compatibility layer, managed Kubernetes services (EKS, GKE, AKS, OpenShift) use containerd or CRI-O directly. Docker is no longer required or present by default on Kubernetes nodes. Tyk's Helm-based installations work on all of these out of the box.
15+
16+
## Supported runtimes
17+
18+
The table below shows the default container runtime for each major provider.
19+
20+
| Provider | Default runtime | Notes |
21+
| :--- | :--- | :--- |
22+
| **AWS EKS** | containerd | Default since dockershim removal; all Linux and Windows node groups |
23+
| **Google GKE** | containerd | Default since GKE 1.19; Docker deprecated by 1.24 |
24+
| **Azure AKS** | containerd | Linux nodes ≥ 1.19; Windows nodes ≥ 1.23 (only option) |
25+
| **Red Hat OpenShift** | CRI-O | Includes ROSA; uses CRI-O with runc/crun |
26+
| **Rancher (RKE2/K3s)** | containerd | Default for all cluster types |
27+
| **VMware Tanzu** | containerd | Default for all cluster types |
28+
| **DigitalOcean Kubernetes** | containerd | Default since Kubernetes 1.20 |
29+
| **IBM Cloud Kubernetes Service** | containerd | Default on all managed node pools |
30+
31+
To check the container runtime on your cluster nodes:
32+
33+
```bash
34+
kubectl get node -o jsonpath='{range .items[*]}{.metadata.name}{" "}{.status.nodeInfo.containerRuntimeVersion}{"\n"}{end}'
35+
```
36+
37+
## Running Tyk locally
38+
39+
### Docker
40+
41+
Docker is the fastest way to try Tyk on a laptop or VM. Tyk's quick starts and demo repositories use Docker Compose by default. See the [Docker installation guide](/tyk-self-managed/install/docker) for step-by-step instructions.
42+
43+
### Podman (RHEL 8+)
44+
45+
RHEL 8 ships Podman instead of Docker. Podman is daemonless, rootless-friendly, and uses the same CLI syntax as Docker. Tyk images run on Podman without modification.
46+
47+
**Running Tyk Gateway with Podman (rootless):**
48+
49+
```bash
50+
podman run -d --name tyk-gateway \
51+
-p 8080:8080 \
52+
-v $PWD/tyk.standalone.conf:/opt/tyk-gateway/tyk.conf:Z \
53+
tykio/tyk-gateway:latest
54+
```
55+
56+
The `:Z` suffix is required on SELinux-enabled systems (RHEL, Fedora) to relabel the bind-mounted volume so the container can access it.
57+
58+
**Alias Podman as Docker (optional):**
59+
60+
If your scripts call `docker`, you can alias Podman:
61+
62+
```bash
63+
alias docker=podman
64+
```
65+
66+
### Docker Compose and Podman Compose
67+
68+
Tyk's demo repositories use standard `compose.yaml` files that work with both Docker Compose and Podman Compose.
69+
70+
```yaml
71+
# Minimal example: Gateway + Redis
72+
services:
73+
redis:
74+
image: redis:7-alpine
75+
gateway:
76+
image: tykio/tyk-gateway:latest
77+
ports: ["8080:8080"]
78+
volumes:
79+
- ./tyk.standalone.conf:/opt/tyk-gateway/tyk.conf:ro
80+
depends_on: [redis]
81+
```
82+
83+
```bash
84+
# Docker
85+
docker compose up -d
86+
87+
# Podman
88+
podman compose up -d
89+
```
90+
91+
## Running Tyk in Kubernetes
92+
93+
Use Tyk's Helm charts for production Kubernetes deployments. The charts work across EKS, GKE, AKS, OpenShift (CRI-O), Rancher, and VMware Tanzu without modification.
94+
95+
```bash
96+
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
97+
helm repo update
98+
helm install tyk tyk-helm/tyk-stack -n tyk --create-namespace -f values.yaml
99+
```
100+
101+
For full installation instructions, see the [Tyk Self-Managed Kubernetes guide](/tyk-self-managed/install/kubernetes) or the [Tyk Stack Helm Chart reference](/product-stack/tyk-charts/tyk-stack-chart).
102+
103+
## Building images
104+
105+
Both `docker build` and `podman build` produce OCI-compliant images that run on containerd, CRI-O, or Docker Engine without modification.
106+
107+
```bash
108+
# Build with Docker
109+
docker build -t your-registry/tyk-gateway:TAG .
110+
111+
# Build with Podman (RHEL 8+)
112+
podman build -t your-registry/tyk-gateway:TAG .
113+
```
114+
115+
OCI images are supported by all major registries (ECR, ACR, Google Artifact Registry, Docker Hub). For production, pin images by digest rather than by tag for reproducible deployments.
116+
117+
## FAQ
118+
119+
<AccordionGroup>
120+
121+
<Accordion title="Do I need to rebuild Tyk images when moving from Docker to containerd or CRI-O?">
122+
No. Docker-built images are OCI images and run unchanged on containerd and CRI-O.
123+
</Accordion>
124+
125+
<Accordion title="Does Podman change how Tyk runs?">
126+
Functionally, no. Images are identical. On RHEL, apply SELinux volume labels (`:Z` / `:z`) to bind mounts and be aware of rootless defaults.
127+
</Accordion>
128+
129+
<Accordion title="Can I use Docker Compose files with Podman?">
130+
Yes. Use `podman compose` or point Docker Compose at Podman's Docker-compatible socket. See the [Podman documentation](https://docs.podman.io/en/latest/markdown/podman-compose.1.html) for details.
131+
</Accordion>
132+
133+
<Accordion title="How do I check which runtime my cluster uses?">
134+
Run the `kubectl` one-liner in the [Supported runtimes](#supported-runtimes) section above.
135+
</Accordion>
136+
137+
</AccordionGroup>

docs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@
156156
"tyk-configuration-reference/kv-store",
157157
"planning-for-production/monitoring/tyk-components",
158158
"tyk-configuration-reference/redis-cluster-sentinel",
159-
"planning-for-production/ensure-high-availability/graceful-shutdown"
159+
"planning-for-production/ensure-high-availability/graceful-shutdown",
160+
"deployment-and-operations/container-runtimes"
160161
]
161162
},
162163
"deployment-and-operations/tyk-self-managed/tyk-demos-and-pocs/overview"

portal/install/docker.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ sidebarTitle: "Docker"
99
| :------------- | :---------------------- |
1010
| Enterprise | Self-Managed, Hybrid, Cloud |
1111

12-
1312
## Prerequisites
1413

1514
- [Docker](https://docs.docker.com/get-docker/)
1615
- [Enterprise Edition License](/portal/overview/intro#getting-access)
1716

17+
<Note>
18+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
19+
</Note>
20+
1821
## Docker
1922

2023
This section explains how to install Tyk Developer Portal in a container using Docker.

portal/install/kubernetes.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ sidebarTitle: "Kubernetes"
1919
- [Helm 3+](https://helm.sh/docs/intro/install/)
2020
- [Enterprise Edition License](/portal/overview/intro#getting-access)
2121

22+
<Note>
23+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
24+
</Note>
25+
2226
## Tyk Stack (New Helm Chart)
2327

2428
There are two ways to install the portal on Kubernetes:

tyk-governance/installation.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ Before beginning the installation and setup process for Tyk Governance, ensure y
4343
- Outbound HTTPS (port 443) access to the Tyk Governance Hub
4444
- If API Provider gateways run on different networks, network routes must allow the agent to communicate with those networks
4545

46+
<Note>
47+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
48+
</Note>
49+
4650
## System Architecture
4751

4852
Tyk Governance follows a cloud-hosted service model with customer-deployed agents, creating a secure and flexible architecture that respects your network boundaries while providing centralized governance.

tyk-self-managed/install/docker.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@ sidebarTitle: "Docker"
88
| :------------- | :---------------------- |
99
| Enterprise | Self-Managed, Hybrid |
1010

11-
1211
## Prerequisites
1312

1413
- [Docker](https://docs.docker.com/get-docker/)
1514
- [Enterprise Edition License](/apim#licensing)
1615

1716
This guide spins up a full Tyk Self Managed stack; however, if you are interested in learning Tyk Stack, there's an option for [Tyk Demo](/deployment-and-operations/tyk-self-managed/tyk-demos-and-pocs/overview), which is a project that spins up a full Tyk stack that includes pre-populated API definitions of all kinds, with various middleware options, and can also spin up supporting tools such as Prometheus, Keycloak (IDP), etc.
1817

18+
<Note>
19+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
20+
</Note>
21+
1922
## What's included?
2023

2124
This installation will run Tyk Self-Managed on your machine, which contains 5 containers: Tyk Gateway, Tyk Dashboard, Tyk Pump, Redis and MongoDB.

tyk-self-managed/install/kubernetes.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ sidebarTitle: "Kubernetes"
1818
- [Helm 3+](https://helm.sh/docs/intro/install/)
1919
- [Enterprise Edition License](/apim#licensing)
2020

21+
<Note>
22+
Running on Podman, containerd, or another container runtime? See [Container Runtimes](/deployment-and-operations/container-runtimes).
23+
</Note>
24+
2125
## Tyk Stack (PostgreSQL)
2226

2327
The following section provide instructions to install Redis, PostgreSQL, and Tyk stack with default configurations. It is intended for quick start only. For production, you should install and configure Redis and PostgreSQL separately.

0 commit comments

Comments
 (0)