Kubernetes is designed to address some of the difficulties that are inherent in managing large-scale containerized environments. However, this doesn’t mean Kubernetes can scale in all situations all on its own. There are steps you can and should take to maximize Kubernetes’ ability to scale—and there are important caveats and limitations to keep in mind when scaling Kubernetes. I’ll explain them in this article. Read more
Note: Rancher has come a long way since this was first published in June 2015. We’ve revised this post (as of August 2016) to reflect the updates in our enterprise container management service. Read on for the updated tutorial!
Rancher supports multiple orchestration engines for its managed environments, including Kubernetes, Mesos, Docker Swarm, and Cattle (the default Rancher managed environment). The Cattle environment is rich with features like stacks, services, and load balancing, and in this post, we’ll highlight common uses for these features. Overall, we’ll use Rancher and Docker to build a highly available and scalable WordPress environment, then we’ll cover how Rancher Catalog can be used to deploy complex stacks.
A scalable system is one that can handle an increasing number of requests without any impact on the response time and performance. On the other hand, High Availability describes a system that is continuously operational for a given period of time; the components of a high availability service often have failover components to continuously operate under any circumstances.
HA Deployment of WordPress
WordPress is one of the most popular CMSs out there, and can be configured with high availability and scalability by using specific components including:
Shared storage for the application files: GlusterFS.
Database Cluster backend: Percona XtraDB Cluster.
Decoupled application Docker image.
Load Balancer to distribute requests to the application containers.