geerlingguy / geerlingguy/drupal-for-kubernetes
How can we add support for horizontally scalling Drupal pods?
- Dominant language
- PHP
- Stars
- 177
- Forks
- 53
- PR merge metrics
- No merged PRs in 30d
Description
In the [Drupal Documentation](https://www.drupal.org/docs/administering-a-drupal-site/managing-site-performance-and-scalability/server-scaling), the idea of "horizontally scaling" Drupal with multiple application servers is discussed. The idea seems to be simple: install Drupal sites of the same configuration on multiple servers, encode identical database credentials across all. In the case of Kubernetes, this would mean starting Drupal containers of the same configuration as many pods in a cluster. However, with the current paradigm of Drupal deployment dictated by Drush, I am failing to see how this horizontal scaling can be accomplished. The present convention of starting a Drupal site is to use `drush site:install`. This command is unusable for horizontal scaling because it drops all tables in the database. Unfortunately, the maintainers of Drush are not considering this horizontal deployment strategy, and have refused attempts to remedy the [problem](https://github.com/drush-ops/drush/pull/353).
What can be done to programmatically install a Drupal site so that connects to an existing Drubal database?
I have been reading the Drush source code. Should I just build my own custom script inspired by the workings of `drush site:install`?
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository file or test is named. Start with the Drupal scaling documentation and the existing Drush site:install behavior, then review the linked Drush pull request for prior context. Done would need a clearly agreed approach for installing or starting identical Drupal pods against an existing database without dropping its tables.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, kubernetes, php
- Domain
- backend, cloud, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100