#1 Rolling updates

Open
opened 2 years ago by jhabdas · 2 comments
jhabdas commented 2 years ago (Migrated from git.habd.as)
Owner

For basic zero-downtime Gitea upgrades we need:

Load balancer should start directing or redirecting all traffic to one Gitea container while a new one is updated, then traffic is switched back over an the upgraded container begins receiving all the Traffic again (unless Swarming).

Open Questions

  • What if a db migration is required?
  • What's the easiest way to spin up a temp Gitea and immediately begin redirecting all traffic?
  • How to do this without interfering with cronjobs or other long-running, batch or sensitive processes?

Think also about the host and when it should be updated. Would k8s help here?

Here's some info on how Discourse does things:

https://meta.discourse.org/t/how-do-i-manually-update-discourse-and-docker-image-to-latest/23325/19

The paid WordPress teams might have some useful info too, especially if (when) Redis is thrown into the mix.

For basic zero-downtime Gitea upgrades we need: - [x] Seperate data container - [ ] Two Gitea containers - [x] Load balancer Load balancer should start directing or redirecting all traffic to one Gitea container while a new one is updated, then traffic is switched back over an the upgraded container begins receiving all the Traffic again (unless Swarming). Open Questions - What if a db migration is required? - What's the easiest way to spin up a temp Gitea and immediately begin redirecting all traffic? - How to do this without interfering with cronjobs or other long-running, batch or sensitive processes? Think also about the host and when it should be updated. Would k8s help here? Here's some info on how Discourse does things: https://meta.discourse.org/t/how-do-i-manually-update-discourse-and-docker-image-to-latest/23325/19 The paid WordPress teams might have some useful info too, especially if (when) Redis is thrown into the mix.
jhabdas commented 2 years ago (Migrated from git.habd.as)
Poster
Owner

Depends on #3

Depends on #3
jhabdas commented 2 years ago (Migrated from git.habd.as)
Poster
Owner

https://docs.docker.com/engine/swarm/#feature-highlights

Rolling updates: At rollout time you can apply service updates to nodes incrementally. The swarm manager lets you control the delay between service deployment to different sets of nodes. If anything goes wrong, you can roll-back a task to a previous version of the service.

Reference back to research here: https://habd.as/swarm-clusters-digital-ocean/

https://docs.docker.com/engine/swarm/#feature-highlights > **Rolling updates:** At rollout time you can apply service updates to nodes incrementally. The swarm manager lets you control the delay between service deployment to different sets of nodes. If anything goes wrong, you can roll-back a task to a previous version of the service. Reference back to research here: https://habd.as/swarm-clusters-digital-ocean/
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.