|
| 1 | +# How to deploy and upgrade Layotto |
| 2 | + |
| 3 | +## 1. Deploy Layotto |
| 4 | + |
| 5 | +There are some ways to deploy Layotto that you can find below. |
| 6 | + |
| 7 | +- Deploy using released binaries |
| 8 | +- Deploy using Docker |
| 9 | +- Deploy on Kubernetes |
| 10 | + |
| 11 | +### Deploy Layotto using released binaries |
| 12 | + |
| 13 | +You can start Layotto directly via executing the binary file. Refer to the [Quick start](en/start) guide. |
| 14 | + |
| 15 | +### Deploy using Docker |
| 16 | + |
| 17 | +You can run Layotto using the official Docker images.Currently include: |
| 18 | + |
| 19 | +- [layotto/layotto](https://hub.docker.com/repository/docker/layotto/layotto) |
| 20 | +- [layotto/layotto.arm64](https://hub.docker.com/repository/docker/layotto/layotto.arm64) |
| 21 | + |
| 22 | +It does not contain a `config.json` configuration file in the image, you can mount your own configuration file into the `/runtime/configs/` directory of the image. For example. |
| 23 | + |
| 24 | +```shell |
| 25 | +docker run -v "$(pwd)/configs/config.json:/runtime/configs/config.json" -d -p 34904:34904 --name layotto layotto/layotto start |
| 26 | +``` |
| 27 | + |
| 28 | +Of course, you can also run Layotto and other systems (such as Redis) at the same time via docker-compose. Refer to the [Quick start](en/start/state/start?id=step-1-deploy-redis-and-layotto) |
| 29 | + |
| 30 | +### Deploy on Kubernetes |
| 31 | + |
| 32 | +#### Option 1. Deploy via Istio |
| 33 | + |
| 34 | +If you are using Istio now, you can deploy the Sidecar via Istio. |
| 35 | + |
| 36 | +You can refer to [MOSN guide](https://mosn.io/docs/user-guide/start/istio/). Just replace the MOSN image in the tutorial with a Layotto image. |
| 37 | + |
| 38 | +#### Option 2. Other ways |
| 39 | + |
| 40 | +You can prepare your own image and k8s configuration file, then deploy Layotto via Kubernetes. |
| 41 | + |
| 42 | +We are working on the official Layotto image and the solution for deploying to Kubernetes using Helm, so feel free to join us to build it. More details in <https://github.com/mosn/layotto/issues/392> |
| 43 | + |
| 44 | +## 2.Toggle existing MOSN to Layotto for MOSN users |
| 45 | + |
| 46 | +Existing MOSN can be upgraded to Layotto by replacing the MOSN sidecar image with Layotto image. |
| 47 | + |
| 48 | +Explanation: |
| 49 | + |
| 50 | +Layotto and MOSN are running in the same process, which can be understood as: |
| 51 | + |
| 52 | +> Layotto == MOSN + a special grpcFilter packaged together |
| 53 | +
|
| 54 | +So. |
| 55 | + |
| 56 | +> replace MOSN with Layotto == replace MOSN with "MOSN + a special grpcFilter" |
| 57 | +
|
| 58 | +There is no essential difference between Layotto and MOSN, just pay attention to the versions of them, which must correspond to each other. |
| 59 | + |
| 60 | +The previously released Layotto v0.3.0 corresponds to MOSN version v0.24.1 |
| 61 | + |
| 62 | +## 3. How to upgrade Layotto |
| 63 | + |
| 64 | +There are two options to upgrade. |
| 65 | + |
| 66 | +- Upgrade sidecar container using k8s native solution |
| 67 | + |
| 68 | +- [Hot upgrade: upgrade the sidecar without affecting the business](https://mosn.io/en/docs/concept/smooth-upgrade/) |
| 69 | + |
| 70 | +The advantage of hot upgrade is that it can automatically migrate persistent connections, which can be seen in detail by clicking the above document. |
| 71 | + |
| 72 | +The solutions to achieve hot upgrade are as follows: |
| 73 | + |
| 74 | +- Register a SIGHUP event listener with MOSN, and send a SIGHUP signal to the MOSN process to call ForkExec to generate a new MOSN process. |
| 75 | + |
| 76 | +- Directly start a new MOSN process. |
| 77 | + |
| 78 | +- [Hot upgrade using OpenKruise](https://mosn.io/blog/posts/mosn-sidecarset-hotupgrade/) |
0 commit comments