Kubernetes

Wiping the Slate Clean with the OpenShift Container Platform

Wiping the Slate Clean with the OpenShift Container Platform

With traditional virtualized infrastructure or Infrastructure-as-a-Service, it is common practice to regularly refresh instances back to a known good state. This provides confidence that the application workloads have the correct runtime configuration, no deltas are being introduced, and they can be relied upon to provide value for the business. In these cases, you might use tools such as Ansible or Jenkins, but when we move our application workloads to containers running on OpenShift Container Platform, we can use native tools provided by that platform to achieve the same result.

Continue reading “Wiping the Slate Clean with the OpenShift Container Platform”

Share
How to configure persistent storage with OpenShift or Kubernetes for development environment

How to configure persistent storage with OpenShift or Kubernetes for development environment

  • We know that containers in Openshift or Kubernetes don’t persist data. Every time we start an application, it is started in a new container with an immutable Docker image.
    Hence, any persisted data in the file systems is lost when the container stops. Hence if an application or container is rebuilt or restarted than we can’t view previous logs or if we are using containers with mysql or any other database then schema, tables, and all data will be lost, if using any messaging broker than if there is journal file than it will also not persist.
    Hence, these ephemeral containers cannot be used in production environment. In a production environment, we must configure a shared storage.
  • But what about the development environment, because we might not always have enough labs and VM’s available. To rescue we have volume type hostPath, which can be easily set up with Minishift and Minikube.
  • This article will provide details how to setup hostPath volume type.

Continue reading “How to configure persistent storage with OpenShift or Kubernetes for development environment”

Share
Kubernetes and OpenShift Meetup (7th October)

Kubernetes and OpenShift Meetup (7th October)

It was a beautiful and lazy Saturday morning in Bengaluru, on 7 October 2017. Kubernetes arrived here and decided it was a great day to meet up with some of its friends here and spend some quality time with them.

But alas! Kubernetes could not speak, at least not yet. It certainly could grow and shrink, at moments notice no less, but words, no, those failed it. It needed some help, from some of its most trusted friends, those it knew and understood it.

So there it was, with friends from Kubernetes Bangalore meetup, who agreed to join in. Now it can throw an awesome party for its friends. Now it had a place to host its party graciously sponsored by its friends at Myntra, and some friends to help it organize it.

Continue reading “Kubernetes and OpenShift Meetup (7th October)”

Share
YAML Language Server and the Extension for VS Code

YAML Language Server and the Extension for VS Code

Over at the Openshift and Che land, we deal with YAML files for deploying our applications regularly. Unfortunately, the tooling to support editing of these files was not up to our expectations. As we are also tooling developers, we have decided to take matters at hand and implement a language server for kubernetes syntax. An effort which mostly Josh Pinkney and I have worked on for the last few months. As we have progressed with our implementation, we have realized that limiting the extension to kubernetes was wasted opportunity and we have reorganized the language server for general YAML support but kept the kubernetes syntax support built-in.

Continue reading “YAML Language Server and the Extension for VS Code”

Share

Configuring Spring Boot on Kubernetes with Secrets

In the Part-I of the series, we saw how we used ConfigMaps in configuring spring boot application Kubernetes. ConfigMaps are OK when we use simple configuration data that do not contain sensitive information. When using sensitive data like API Keys, passwords etc. Secrets are the preferred and recommended way. In this second part of the series, we will explore configuring spring boot on kubernetes with Secrets.

The sources for this blog post are available in my github repo.

Continue reading “Configuring Spring Boot on Kubernetes with Secrets”

Share

Configuring Spring Boot on Kubernetes with ConfigMap

ConfigMaps is the Kubernetes counterpart of the Spring Boot externalized configuration. ConfigMaps is a simple key/value store, which can store simple values to files. In this post  “Configuring Spring Boot on Kubernetes with ConfigMap”,  we will see how to use ConfigMaps to externalize the application configuration.

Continue reading “Configuring Spring Boot on Kubernetes with ConfigMap”

Share
Connecting Kubernetes and Docker

Connecting Kubernetes and Docker

This blog to help my fellow developers who are working on “Docker” and “Kubernetes” simultaneously. Because, they know that Kubernetes runs over docker-engine but there is a catch, that:

1. Containers running on Docker, and

2. Containers running inside of a Kubernetes Pod,

are absolutely running isolated, without even knowing each other’s existence. But, we are developers, so there are chances where we might come across a situation where we desperately need to let the Docker formatted containers communicate with K8s Pod. By communication, I mean the transmission of data from Pod-to-Container and vice-versa, using protocols like TCP, Http, Https, UDP, Sockets, web-sockets and much more.

Continue reading “Connecting Kubernetes and Docker”

Share
How Kubernetes Helps to Enable DevOps

How Kubernetes Helps to Enable DevOps

A recent Gartner survey suggests that roughly 50% of the respondents planned to implement continuous delivery and DevOps by year-end 2017 in order to deliver services faster, more often and more reliably. State of DevOps Report by Puppet Labs suggests that high-performing organizations that focus on automation and DevOps are able to reduce their lead-time for delivering a change by a factor of 440 and deliver services 46 times more often. These results have helped to make DevOps adoption a mainstream enterprise IT phenomena. As a result, today we see DevOps adoption in virtually all industries and company sizes, and the perception of DevOps as a unicorn capability has long vanished.

Continue reading “How Kubernetes Helps to Enable DevOps”

Share