1,636 bytes added
, 17:49, 4 August 2020
We will provide a MediaWiki platform with the following characteristics:
* self-healing infrastructure
* auto-scaling
* high-availability with multi-server failover
* flexible storage backends
* multi-cloud compatibility
To do so, we'll need to implement Kubernetes.
We will almost certainly leverage [[Ansible]] as an orchestration tool. In a recent blog post on ansible.com, Jeff Geerling (@geerlingguy) answers the question: "[https://www.ansible.com/blog/how-useful-is-ansible-in-a-cloud-native-kubernetes-environment How Useful is Ansible in a Cloud-native Kubernetes Environment?] The short answer is that Ansible can be used for:
# Container Build ([[Ansible-bender]])
# Cluster Management ([[Kubespray]])
# Application Lifecycle (Use Ansible to build Operators with the Operator SDK to handle deployment, upgrades, backups, etc.)
== High-level outline ==
# Build image. The [https://hub.docker.com/_/mediawiki/ WMF official images] at Docker Hub do not even include a true database; never mind the extensions we need.
## With [[ansible-bender]] we can use ansible-playbook + buildah to create our image.
# Publish images to Docker Hub
## Create organization account at Docker Hub; add freephile
## Create service account at GitHub - to prevent access to private repos through Docker Hub
## Add automated builds and automated testing
Docker (default in kublet <ref>https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md</ref>) is just one of many container runtimes that can be used with Kubernetes. The others include containerd and CRI-O.
[[Category:Virtualization]]