Skip to content

Google Kubernetes Engine WordPress with Google Cloud SQL in Helm Charts

License

Notifications You must be signed in to change notification settings

bh-adrienne/gke-wordpress

 
 

Repository files navigation

GKE WordPress with Google Cloud SQL

Deploy WordPress sites to Google Kubernetes Engine (GKE) clusters via Helm charts. Use as your own personal WordPress farm or as a backend to your own cloud hosting company.

Donate

GKE WordPress supports/requires:

Installation and Usage

See Installation and Usage for instructions on getting up and running. Visit USAGE.md.

How It Works

  • WordPress

    • Each WordPress application server image is based on the wordpress:php7.2-fpm docker image with redis extension.
    • Each WordPress Deployment gets it's own PersistentVolume as well as Secret objects for storing sensitive information such as passwords for their DBs.
    • ConfigMaps are used to inject various php.ini settings for PHP 7.2.
  • NGINX

    • Each NGINX web server image is based on the official Nginx docker image, and comes with:
    • NBS System's NAXSI module. NAXSI means NGINX Anti-XSS & SQL Injection.
    • Handy configurations for NGINX and the NAXSI web application firewall are also included via ConfigMaps.
    • The NGINX container has multiple handy configurations for multi-site and caching, all easily deployed using ConfigMap objects.
  • Cloud SQL

    • The WordPress sites all interface with one Google Cloud SQL instance, so anyone can start off with a full-fledged web farm and bring up any number of websites using a single Cloud SQL server instance and a separate database for each site.
  • Redis

    • To reduce DB hits, the WP image is built with a redis PHP extension that connects to a cluster-wide Redis Deployment. WP must be configured to use Redis upon initializing a new WP site by installing and configuring the WP Redis Object Cache plugin.
  • Ingress/Kube Lego

    • Websites are reached externally via an nginx-ingress controller. See Kubernetes documentation regarding Ingress in the official docs and on GitHub.
    • TLS/SSL is terminated at nginx-ingress via free Let's Encrypt certificates, good for all domains on your cluster. Additionally, certificate issuance is handled automatically with the kube-lego.

GKE WordPress

Acknowledgements

This project was inspired by and based on daxio/k8s-lemp and builds on it with the various other official Docker images and Kubernetes applications mentioned previously.

Donate

Donate

About

Google Kubernetes Engine WordPress with Google Cloud SQL in Helm Charts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 100.0%