8000 docs: scaling Coder by bpmct · Pull Request #5550 · coder/coder · GitHub
[go: up one dir, main page]

Skip to content

docs: scaling Coder #5550

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Jan 19, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add plumbing for gke doc
  • Loading branch information
bpmct committed Nov 30, 2022
commit 1cf65aa28432eb1d8f8cb94f59c78d45f3189a5b
Empty file removed docs/admin/scale/docker.md
Empty file.
50 changes: 50 additions & 0 deletions docs/admin/scale/gke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Scaling Coder on Google Kubernetes Engine (GKE)

This is a reference architecture for Coder on [Google Kubernetes Engine](#). We regurily load test these environments with a standard [kubernetes example](https://github.com/coder/coder/tree/main/examples/templates/kubernetes) template.

> Performance and ideal node sizing depends on many factors, including workspace image and the [workspace sizes](https://github.com/coder/coder/issues/3519) you wish to give developers. Use Coder's [scale testing utility](./index.md#scale-testing-utility) to test your own deployment.

## 50 users

### Cluster configuration

- **Autoscaling profile**: `optimize-utilization`

- **Node pools**
- Default
- **Operating system**: `Ubuntu with containerd`
- **Instance type**: `e2-highcpu-8`
- **Min nodes**: `1`
- **Max nodes**: `4`

### Coder settings

- **Replica count**: `1`
- **Provisioner daemons**: `30`
- **Template**: [kubernetes example](https://github.com/coder/coder/tree/main/examples/templates/kubernetes)

## 100 users

For deployments with 100+ users, we recommend running the Coder server in a separate node pool via taints, tolerations, and nodeselectors.

### Cluster configuration

- **Node pools**
- Coder server
- **Instance type**: `e2-highcpu-4`
- **Operating system**: `Ubuntu with containerd`
- **Autoscaling profile**: `optimize-utilization`
- **Min nodes**: `2`
- **Max nodes**: `4`
- Workspaces
- **Instance type**: `e2-highcpu-16`
- **Node**: `Ubuntu with containerd`
- **Autoscaling profile**: `optimize-utilization`
- **Min nodes**: `3`
- **Max nodes**: `10`

### Coder settings

- **Replica count**: `4`
- **Provisioner daemons**: `25`
- **Template**: [kubernetes example](https://github.com/coder/coder/tree/main/examples/templates/kubernetes)
12 changes: 6 additions & 6 deletions docs/admin/scale/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ We regularly scale-test Coder against various reference architectures. Additiona

## Reference Architectures

| Environment | Users | Workspaces | Last tested | Status |
| ----------------------------------------- | ----- | ---------- | ------------ | -------- |
| [Google Kubernetes Engine (GKE)](#) | 100 | 200 | Nov 29, 2022 | Complete |
| [AWS Elastic Kubernetes Service (EKS)](#) | 100 | 200 | Nov 29, 2022 | Complete |
| [Google Compute Engine + Docker](#) | 1000 | 200 | Nov 29, 2022 | Complete |
| [Google Compute Engine + VMs](#) | 1000 | 200 | Nov 29, 2022 | Complete |
| Environment | Users | Last tested | Status |
| ------------------------------------------------- | ------------- | ------------ | -------- |
| [Google Kubernetes Engine (GKE)](./gke.md) | 50, 100, 1000 | Nov 29, 2022 | Complete |
| [AWS Elastic Kubernetes Service (EKS)](./eks.md) | 50, 100, 1000 | Nov 29, 2022 | Complete |
| [Google Compute Engine + Docker](./gce-docker.md) | 15, 50 | Nov 29, 2022 | Complete |
| [Google Compute Engine + VMs](./gce-vms.md) | 1000 | Nov 29, 2022 | Complete |

## Scale testing utility

Expand Down
9 changes: 8 additions & 1 deletion docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,14 @@
"title": "Scaling Coder",
"description": "Reference architecture and load testing tools",
"icon_path": "./images/icons/scale.svg",
"path": "./admin/scale/index.md"
"path": "./admin/scale/index.md",
"children": [
{
"titl 50C2 e": "GKE",
"description": "Learn how to scale Coder on GKE",
"path": "./admin/scale/gke.md"
}
]
},
{
"title": "Audit Logs",
Expand Down
0