Securely expose your Kubernetes app by setting up a Load Balancer for VPC in a different zone.

You can expose your app to the public by setting up a Kubernetes LoadBalancer service in your IBM Cloud Kubernetes Service cluster. When you expose your app, a Load Balancer for VPC that routes requests to your app is automatically created for you in your VPC outside of your cluster.

In this post, you will provision an IBM Cloud Kubernetes Service cluster spanning two private subnets (each subnet in a different zone), deploy an application using a container image stored in an IBM Cloud Container Registry and expose the app via a VPC load balancer deployed to a public subnet…


It all started with this code sample with Terraform scripts

For starters, Terraform is open-source software, developed by HashiCorp, that enables predictable and consistent provisioning of IBM Cloud platform, classic infrastructure, and VPC infrastructure resources by using a high-level scripting language. You can use Terraform to automate your IBM Cloud resource provisioning, rapidly build complex, multi-tier cloud environments, and enable Infrastructure as Code (IaC).

Think of a scenario in which you are revisiting your own Terraform scripts and scratching your head to understand what resources it provisions.

To simplify this, there is an in-built Terraform command

terraform graph

The terraform graph command is used to generate a visual representation of…


Whenever I need to update a YAML file, the first thing that comes to mind is to either use sed or awk or perl etc., But there's an in-house Kubectl patchoption that simplifies the experience.

For example, let’s update the number of replicas in the spec below and also the Nginx container image version. Remember, it's multiline and using any other option can be bit clumsy.

Source: https://kubernetes.io/docs/tasks/run-application/run-stateless-application-deployment/

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template…

Learn about IBM Cloud™ Code Engine by deploying an image classification application with pre-defined MobileNet TensorFlow.js model.

In my previous post, “ Text Analysis with IBM Cloud Code Engine” you learned how to create an IBM Cloud™ Code Engine project, select the project and deploy Code Engine entities — applications and jobs to the project. You also learned how to bind IBM Cloud services (e.g., IBM Cloud Object Storage and Natural Language Understanding) to your Code Engine entities to analyze your text files uploaded to Cloud Object Storage.

In this post, you will deploy an image classification application, upload images to IBM Cloud Object Storage and then classify the uploaded images using a pre-defined MobileNet Tensorflow.js model…


Remove a Cloud Object Storage (COS) bucket that is not empty. Use a Terraform script to recursively delete all the objects of a Cloud Object Storage (COS) bucket using MinIO client.

I am working on an use-case where I use Cloud Object Storage(COS) bucket to store a lot of files. The cloud service provisioning for the use-case happens using Terraform scripts.The tough part was to delete the COS bucket using terraform destroy . The destroy fails if the bucket it not empty.

Use this workaround if and only if your terraform resource doesn't support force-delete=true attribute or if don’t want to use the attribute.

Photo by Jeremy McKnight on Unsplash

So, I started looking for options to use with Terraform and got reminded of the Opensource MinIO client.

MinIO is a High Performance Object Storage released under…


Learn how to provision and auto scale VSI on VPC using Terraform scripts and explore auto scale scenarios like SSL termination (offloading) and end-to-end encryption.

With Auto Scale for VPC, you can create an instance group to scale according to your requirements. Based on the target utilization metrics that you define, the instance group can dynamically add or remove instances to achieve your specified instance availability.

Let’s start with a quick one, like an introduction to VPC.

What is a VPC?

A virtual private cloud (VPC) is a public cloud offering that lets an enterprise establish its own private cloud-like computing environment on shared public cloud infrastructure. The following video gives more information on VPCs:

Auto scaling on VPC

With Auto Scale for VPC, you can improve performance and costs by dynamically creating…


Updated: 04th December 2020

Learn to deploy a public frontend and a private backend app, bind Cloud services to the backend, and run a job to analyze uploaded text files.

Follow the steps in the solution tutorial and use the companion code sample to learn about IBM Cloud™ Code Engine by deploying a text analysis application.

You will create a Code Engine project, select the project, and deploy Code Engine entities — applications and jobs to the project. You will learn how to bind IBM Cloud services (e.g., IBM Cloud Object Storage and Natural Language Understanding) to your Code Engine entities. You’ll also learn about the auto-scaling capability of Code Engine, where instances are scaled up or down (to zero) based on incoming workload.

What is IBM Cloud Code Engine?

We recently…


Learn how to provision multiple virtual server instances (VSIs) in a Virtual Private Cloud (VPC) using Terraform scripts with IBM Cloud Schematics.

Rather than directly diving into the Terraform scripts, let’s quickly learn about what is Terraform and how IBM Cloud Schematics simplifies the Terraform scripting experience on IBM Cloud.

What is Terraform?

Terraform is an open source software, developed by HashiCorp, that enables predictable and consistent provisioning of IBM Cloud platform, classic infrastructure, and VPC infrastructure resources by using a high-level scripting language. You can use Terraform to automate your IBM Cloud resource provisioning, rapidly build complex, multi-tier cloud environments, and enable Infrastructure as Code (IaC).

What is IBM Cloud Schematics?

With IBM Cloud Schematics, you can organize your IBM Cloud resources across environments by using workspaces. Every workspace…


This post shows how to automatically assign a floating IP to a newly created VSI by monitoring Activity Tracker events and using Cloud Functions to interact with the VPC API.

Reserving a floating IP for one or two VSIs sounds easy. But how about for tens of VSIs provisioned in your Virtual Private Cloud (VPC)? Ever thought of auto-assigning a floating IP on-the-fly as and when a new VSI is provisioned in your VPC?

In this post, you will use the IBM Cloud Activity Tracker with LogDNA service to track how users and applications interact with IBM Cloud Virtual Private Cloud (VPC). You will then create a view and an alert on Activity Tracker with LogDNA filtering VSI creation logs. The logs are then passed to IBM Cloud Functions Python…


How to install Red Hat OpenShift Service Mesh alongside microservices in a Red Hat OpenShift on IBM Cloud cluster.

This blog post is an excerpt from a recently published solution tutorial. Following the instructions in the tutorial, you will learn how to install the Red Hat OpenShift Service Mesh operator (along with other additional operators), configure an Istio ingress-gateway to expose a service outside of the service mesh, perform traffic management to set up important tasks like A/B testing and canary deployments, secure your microservice communication, and use metrics, logging, and tracing to observe services.

What is a service mesh?

A service mesh is the network of microservices that make up applications in a distributed microservice architecture and the interactions between those microservices. …

Vidyasagar Machupalli

Developer, IBMer, Speaker, Blogger, Teetotaller, Geek & many more…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store