A version of the Kubernetes Guestbook application using Pulumi.
Follow the steps in Pulumi Installation and Kubernetes Setup to get Pulumi working with Kubernetes.
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 (kubernetes-py-guestbook):
Type Name Status
+ pulumi:pulumi:Stack kubernetes-py-guestbook-kubernetes-py-guestbook created
+ ├─ kubernetes:core:Service redis-leader created
+ ├─ kubernetes:core:Service redis-replica created
+ ├─ kubernetes:core:Service frontend created
+ ├─ kubernetes:apps:Deployment redis-leader created
+ ├─ kubernetes:apps:Deployment redis-replica created
+ └─ kubernetes:apps:Deployment frontend created
Outputs:
frontend_ip: "10.96.243.48"
Resources:
+ 7 created
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 frontend_ip)
Note: minikube does not support type
LoadBalancer
; if you are deploying to minikube, make sure to runkubectl port-forward svc/frontend 8080:80
to forward the cluster port to the local machine and access the service vialocalhost:8080
.