Chapter 17. Deploying Real-World Applications
The previous chapters described a variety of API objects that are available in a Kubernetes cluster and ways in which those objects can best be used to construct reliable distributed systems. However, none of the preceding chapters really discussed how you might use the objects in practice to deploy a complete, real-world application. That is the focus of this chapter.
We’ll take a look at four real-world applications:
-
Jupyter, an open source scientific notebook
-
Parse, an open source API server for mobile applications
-
Ghost, a blogging and content management platform
-
Redis, a lightweight, performant key/value store
These complete examples should give you a better idea of how to structure your own deployments using Kubernetes.
Jupyter
The Jupyter Project is a web-based interactive scientific notebook for exploration and visualization. It is used by students and scientists around the world to build and explore data and data visualizations. Because it is both simple to deploy and interesting to use, it’s a great first service to deploy on Kubernetes.
We begin by creating a namespace to hold the Jupyter application:
$ kubectl create namespace jupyter
And then create a deployment of size one with the program itself:
apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: run: jupyter name: jupyter namespace: jupyter spec: replicas: 1 selector: matchLabels: run: jupyter template: metadata: labels: run: jupyter spec: ...
Get Kubernetes: Up and Running, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.