Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Kubernetes Guestbook (Simple Variant)

A version of the Kubernetes Guestbook application using Pulumi.

This is a straight port of the original YAML, and doesn't highlight advantages of using real languages. For an example using abstraction to cut down on boilerplate, please see the variant using components, also in this repo. It provisions the same set of resources.

Running the App

Follow the steps in Pulumi Installation and Kubernetes Setup to get Pulumi working with Kubernetes.

Install dependencies:

npm install

Create a new stack:

$ pulumi stack init
Enter a stack name: testbook

This example will attempt to expose the Guestbook application to the Internet with a Service of type LoadBalancer. Since minikube does not support LoadBalancer, the Guestbook application already knows to use type ClusterIP instead; all you need to do is to tell it whether you're deploying to minikube:

pulumi config set isMinikube <value>

Perform the deployment:

$ pulumi up
Updating stack 'testbook'
Performing changes:

     Type                           Name                Status      Info
 +   pulumi:pulumi:Stack            guestbook-testbook  created
 +   ├─ kubernetes:apps:Deployment  redis-master        created
 +   ├─ kubernetes:apps:Deployment  frontend            created
 +   ├─ kubernetes:apps:Deployment  redis-replica       created
 +   ├─ kubernetes:core:Service     redis-master        created     1 info message
 +   ├─ kubernetes:core:Service     redis-replica       created     1 info message
 +   └─ kubernetes:core:Service     frontend            created     2 info messages

frontendIp: ""

info: 7 changes performed:
    + 7 resources created
Update duration: 40.829381902s


And finally - open the application in your browser to see the running application. If you're running macOS you can simply run:

open $(pulumi stack output frontendIp)

Note: minikube does not support type LoadBalancer; if you are deploying to minikube, make sure to run kubectl port-forward svc/frontend 8080:80 to forward the cluster port to the local machine and access the service via localhost:8080.

Guestbook in browser

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.