Files
Dena/docs/ops/deploy/kubernetes.md
2026-08-13 19:50:53 +03:30

76 lines
3.9 KiB
Markdown

# Deploying Peatio on [Kubernetes](https://kubernetes.io/)
## Overview
1. [Dependencies](#dependencies)
2. [Configuration](#configuration)
3. [Installing the chart](#installing-the-chart)
3. [Getting help](#getting-help)
## Dependencies
Peatio has 3 main dependencies:
- [MySQL](https://www.mysql.com/)
- [Redis](https://redis.io/)
- [RabbitMQ](https://www.rabbitmq.com/)
If you don't have them installed yet, you can check our [helm charts repo](https://charts.peatio.tech/).
## Configuration
All the configuration goes in `config/charts/peatio/values.yaml`. It has many helpful comments, but in this section we have more details about each config option.
| Name | Default Value | Description |
| ------------------------- | ------------------------------ | ----------------------------- |
| `replicaCount` | `1` | Number of pod's replicas |
| `image.repository` | `"rubykube/peatio"` | Image repo |
| `image.tag` | `"0.2.2"` | Image version |
| `image.pullPolicy` | `"IfNotPresent"` | Image pull polucy |
| `service.name` | `"peatio"` | Service name |
| `service.type` | `"ClusterIP"` | Service type |
| `service.externalPort` | `8080` | Service external port |
| `service.internalPort` | `8080` | Service internal port |
| `ingress.enabled` | `false` | Enable or disable the ingress |
| `ingress.hosts` | `["peatio.local"]` | The virtual hosts names |
| `ingress.annotations` | see `values.yaml` | Ingress annotations |
| `ingress.tls.secretName` | `"peatio-tls"` | TLS secret name |
| `ingress.tls.hosts` | `["peatio.local"]` | TLS virtual hosts names |
| `resources.limits.cpu` | `"100m"` | CPU resource requests |
| `resources.limits.memory` | `"128Mi"` | Memory resource limits |
| `resources.limits.cpu` | `"100m"` | CPU resource requests |
| `resources.limits.memory` | `"128Mi"` | Memory resource requests |
| `peatio.env` | see `application.yml` | Peatio environment config |
| `db.host` | `"%current-release%-db"` | Your MySQL host |
| `db.user` | `"root"` | MySQL user |
| `db.password` | `nil` | MySQL password |
| `redis.host` | `"%current-release%-redis"` | Your Redis host |
| `redis.password` | `nil` | Redis password |
| `rabbitmq.host` | `"%current-release%-rabbitmq"` | Your RabbitMQ host |
| `rabbitmq.port` | `5672` | RabbitMQ port |
| `rabbitmq.username` | `nil` | RabbitMQ username |
| `rabbitmq.password` | `nil` | RabbitMQ password |
## Installing the chart
This one is simple:
```shell
helm install config/peatio/charts
```
If you want use `helm package` and external values file, try this:
```shell
$ helm package
Successfully packaged chart and saved it to: peatio-0.1.0.tgz
$ helm install peatio-0.1.0.tgz -f path/to/your/values.yaml
NAME: random-name
...
```
That's all you need to deploy peatio on kubernetes.
## Getting help
If you got any trouble with this deployment, please [open an issue](https://github.com/rubykube/peatio/issues/new). If you want external devops support with peatio, contact hello@peatio.tech.