Deploying our Application Stack

First, add the StackReferences to the cluster and argoCD stacks, which will be used to get the kubeconfig and argocd namespace from their stack outputs.

pulumi config set clusterStackRef workshops/eks-infrastructure/dev
pulumi config set argoCDStackRef workshops/argocd/dev

Now we can deploy Everything:

pulumi up

This will show you a preview and, after selecting yes, the application will be deployed:

Updating (dev):
     Type                                      Name            Status
 +   pulumi:pulumi:Stack                       socks-shop-dev  created
 +   ├─ pulumi:providers:kubernetes            k8sProvider     created
 +   └─ kubernetes:core:Namespace              sock-shop-ns    created
 +      └─  sock-shop       created

    + 4 created

Duration: 25s


In order to check that everything has been deployed as expected, list the pods in your namespace:

kubectl get svc -n sock-shop

And you should see a number of pods:

NAME           TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)             AGE
carts-db       ClusterIP    <none>                                                                    27017/TCP           46s
catalogue      ClusterIP   <none>                                                                    80/TCP              45s
catalogue-db   ClusterIP   <none>                                                                    3306/TCP            45s
front-end      LoadBalancer   80:30001/TCP        46s
orders         ClusterIP   <none>                                                                    80/TCP              46s
orders-db      ClusterIP   <none>                                                                    27017/TCP           45s
payment        ClusterIP    <none>                                                                    80/TCP              46s
queue-master   ClusterIP   <none>                                                                    80/TCP              45s
rabbitmq       ClusterIP    <none>                                                                    5672/TCP,9090/TCP   45s
session-db     ClusterIP    <none>                                                                    6379/TCP            45s
shipping       ClusterIP    <none>                                                                    80/TCP              46s
user           ClusterIP   <none>                                                                    80/TCP              45s
user-db        ClusterIP    <none>                                                                    27017/TCP           45s

We can use the url attached to the front-end LoadBalancer to view the application via our browser. Please note the url is http NOT https.

We can also see how the deployment looks in our ArgoCD instance https://<ARGOURL>/applications/sock-shop.