Git freedom on Kubernetes

Run GitLab on a K8s-based private cloud

After Microsoft announced the acquisition of GitHub, many developers raised concerns on social media about Microsoft’s history of unsuccessfully running the acquired businesses like Skype, Nokia’s handset business, Navision, and other 150 companies (you probably haven’t noticed) they have swallowed up over the years.

Other than keeping the developer’s life-support plugged, one of the biggest concern is that MS will use its power on GitHub repositories to analyze trends among software development in order to launch competing products. Fears that GitHub privacy may be in jeopardy have already led many developers to jump off the ship or consider alternatives. GitLab’s publicly available status graphs show spikes of 70x increase in imported repositories (average 100 vs 7.5K), a validation of increased user apprehension.

Whether you are considering moving your code out of GitHub or not, here is one of the fastest way to get your private repository with GitLab up and running on your Kubernetes environment – Let’s “Make DevOps lifecycle private again” (c) Continue reading

ARMing Kubernetes with OpenEBS #1

Running stateful containers on Le Potato

Why not! It’s fun and extremely efficient! I know many people (including me) used to run ownCloud on their desktop computers. I have finally decided to retire my old desktop computer and was looking ways to keep my ownCloud instance alive and maybe even improve it a bit.

First, I ran ownCloud on GKE Kubernetes cluster and came to a conclusion quickly that it’s not what I needed:

  • I am used to the speed of USB 3.0 for large uploads when needed. I wanted to keep the option of (40MB+/sec) using USB. Which means, if I choose a budget ARM SoC route, then the board should have non-shared bandwidth for LAN and USB.
  • 4 node GKE cluster using n1-standard-1 + 200GB storage costs ~$225/month, I would rather use Dropbox for $20/month = 240$/year (still doesn’t give me what I need).
  • Low-power, possibly solar-powered. I’ll share my power consumption findings in the series of blog articles.
  • Everything on Kubernetes is more fun, right?

I was looking into Raspberry Pi 3 Model B option and after a quick trial realized that shared USB/Ethernet bandwidth and lack of MicroSD UHS support is not going to give me the performance I need and found the AML-S905X-CC Le Potato board.

Continue reading

How to install OpenEBS on OpenShift?

What is OpenShift Origin?

OpenShift Origin is the upstream community project used in all deployment models provided by Red Hat OpenShift such as OpenShift Online, OpenShift Dedicated, and OpenShift Container Platform. Red Hat OpenShift is an enterprise container application platform that is based on a core of Docker container packaging, Kubernetes container cluster management and the OpenShift Origin project itself.

First, having more than one option sounds confusing, but they clearly differentiate from each other. Here is the summary of all available deployment options to start with OpenShift. Continue reading

How to Install OpenEBS using StackPointCloud Trusted Charts?

What is StackPointCloud Trusted Charts?

StackPointCloud (SPC) introduced a concept of Trusted Charts, a list of validated Helm Charts provided by its partners to quickly spin up a solution in a Kubernetes cluster. Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application.

Previously, I wrote about few different ways of getting OpenEBS up and running on different cloud vendors. Using Helm Chart is one of the available options to deploy OpenEBS. OpenEBS Helm Charts were available since v.5.0 both on Github and as a packaged chart. Recently SPC included OpenEBS into their Trusted Charts repo and made it one-click easy for its customers.  Continue reading

How to deploy a Cassandra Cluster on Kubernetes with OpenEBS

Apache Cassandra is a distributed key-value store intended to run in a data center and also across multiple data centers. Initially it was designed as Facebook as an infrastructure for their messaging platform. Later it is open sourced, and today it’s one of the most active Apache projects.

If you are using eBay, Twitter, Spotify or Netflix you are consuming data provided by Cassandra. For example, Netflix uses Cassandra to keep track of your current place in a streaming video, as well as movie ratings, bookmarks and user history of 90+ million users.

Continue reading

How to deploy Jenkins on Kubernetes + OpenEBS

Modern IT infrastructure of a large enterprise requires Continuous Integration / Continuous Delivery (CI/CD) for software development, testing, and operations. It means building and validating the software on every commit ensuring that testing and production environments are always up-to-date. Such level of automation is a combination of extreme programming methodologies and practices, also known as DevOps. Through CI/CD pipelines, developers and operators frequently integrate new changes into IT infrastructure increasing organization’s ability to deliver applications and services at high velocity. One of the most popular open-source automation tools used in CI/CD environments is Jenkins. It serves as a workflow engine that ensures continuous integration of new changes.

Deploying Jenkins on Kubernetes provides the following benefits: Continue reading

How to install OpenEBS on IBM Cloud Private

What is IBM Cloud Private?

IBM Cloud Private (ICP) is a new application platform that is based on Kubernetes and provides services for developing and managing on-premises containerized applications. ICP Community Edition (ICP-CE) is distributed free of charge for non-production use and is available on Docker Hub. For commercial use, you would need the Enterprise package.

In my previous blog post, Introduction to IBM Cloud Private, I have covered step-by-step installation of ICP 2.1. This time I will focus on configuring OpenEBS as a persistent storage option and deploying a stateful workload (MongoDB) using OpenEBS storage classes.

Continue reading

How to Install OpenEBS on AWS using StackPointCloud?

What is StackPointCloud?

StackPointCloud is a managed Kubernetes control plane to build cloud-native stacks on AWS, Google Cloud (GKE & GCE), Azure & DigitalOcean. StackPointCloud simplifies installation and aggregation of multiple Kubernetes clusters pretty much on any platform. Even if you are an expert, provisioning your own Kubernetes stack their easy to use interface and capabilities to centralize all your deployments in one place is compelling. StackPointCloud is free for the first 30 days and $49.95 month after for any number of Kubernetes clusters.

[Update] I have updated instructions on [11/16/17] to reflect improvements and changes StackCloudPoint implemented.

Continue reading