Microservice applications can be quite complex but that complexity can offer many benefits. Kubernetes can help you take advantage of those benefits by making these complex infrastructures easier to manage through automation. We will see the value of Kubernetes first-hand as you deploy a complex microservice architecture to the cluster and then independently scale some of its components.
- Deploy the Stan’s Robot Shop app to the cluster.
- Clone the Git repo that contains the pre-made descriptors: git clone https://github.com/cloudwwh/robot-shop.git
- Since this application has many components, it is a good idea to create a separate namespace for the app: kubectl create namespace robot-shop
- Deploy the app to the cluster: kubectl -n robot-shop create -f ~/robot-shop/K8s/descriptors/
- Check the status of the application’s pods: kubectl get pods -n robot-shop
user@linuxraja1c:~$ kubectl get pods -n robot-shop
NAME READY STATUS RESTARTS AGE
cart-59b7dfbdcc-6pr8h 1/1 Running 1 5d19h
catalogue-796444cf68-kfwt5 1/1 Running 1 5d19h
dispatch-76cf85ddc6-48nvr 1/1 Running 1 5d19h
mongodb-5969679ff7-mlc2j 1/1 Running 1 5d19h
mysql-7958997695-8x2zj 1/1 Running 1 5d19h
payment-6fd7c8ff75-r898p 1/1 Running 1 5d19h
rabbitmq-6ddb6485bd-45vtg 1/1 Running 1 5d19h
ratings-5fd67676b4-vqxmz 1/1 Running 1 5d19h
redis-dff4dbc55-hzj6n 1/1 Running 1 5d19h
shipping-8695b6c8-qcdx8 1/1 Running 1 5d19h
user-59d45d4db6-l7qps 1/1 Running 1 5d19h
web-757b94795b-d9hjk 1/1 Running 1 5d19h
You should be able to reach the robot shop app from your browser using the Kube master node’s public IP: http://$kube_master_public_ip:30080
- Scale up the MongoDB deployment to two replicas instead of just one.
- Edit the deployment descriptor: kubectl edit deployment mongodb -n robot-shop
You should see some YAML describing the deployment object. Under spec:, look for the line that says replicas: 1 and change it to replicas: 2.
Save and exit.
- Check the status of the deployment with: kubectl get deployment mongodb -n robot-shop
- After a few moments, the number of available replicas should be 2.