Goodbye minikube!

I’ve been using minikube as my local cluster since I started to learn Kubernetes. But I’ve decided to let it go in favor of kind. Here’s the story.

A couple of weeks ago, I gave my talk on Zero Downtime on Kubernetes. A demo is included in the talk, as with most of my presentations. While rehearsing in the morning, the demo worked, albeit slowly. Two days before that, I had another demo that also uses Kubernetes and it was already slow. But I didn’t take the hint.

During the demo, everything was slow: the of scheduling pods, of course, but also the running and the deletion of pods. The demo failed miserably. I didn’t even manage to stop minikube cleanly and I had to stop the VM.

To say I was disappointed is quite an understatement. That was my first shot at this demo. I hate when demos go wrong; I hate it, even more, when it works during rehearsal and it fails in front of the audience. I apologized profusely and decided that I wouldn’t repeat the same experience.

After the talk, I deleted the cluster and created it from scratch again. As for the deleted cluster, I used the virtualbox driver. I also used the same configuration as before: 4 cores and 16Gb. And yet, scheduling was slow… again.

I already had some interest in alternatives to minikube. This failure gave me the right incentive. I chose kind because some of the comments mention it in good terms.

Coming from minikube, there are a couple of differences worth mentioning. The most important one is that kind runs in Docker. Its name is actually an acronym for ‘kubernetes in docker.’ Hence, Docker must be running prior to any kind-related operation.

As a consequence, there’s no dedicated cluster IP, everything is directly on localhost. However, the cluster needs to be configured explicitly to map ports.

#devops #kubernetes #minikube #kind

What is GEEK

Buddha Community

Goodbye minikube!

Goodbye minikube!

I’ve been using minikube as my local cluster since I started to learn Kubernetes. But I’ve decided to let it go in favor of kind. Here’s the story.

A couple of weeks ago, I gave my talk on Zero Downtime on Kubernetes. A demo is included in the talk, as with most of my presentations. While rehearsing in the morning, the demo worked, albeit slowly. Two days before that, I had another demo that also uses Kubernetes and it was already slow. But I didn’t take the hint.

During the demo, everything was slow: the of scheduling pods, of course, but also the running and the deletion of pods. The demo failed miserably. I didn’t even manage to stop minikube cleanly and I had to stop the VM.

To say I was disappointed is quite an understatement. That was my first shot at this demo. I hate when demos go wrong; I hate it, even more, when it works during rehearsal and it fails in front of the audience. I apologized profusely and decided that I wouldn’t repeat the same experience.

After the talk, I deleted the cluster and created it from scratch again. As for the deleted cluster, I used the virtualbox driver. I also used the same configuration as before: 4 cores and 16Gb. And yet, scheduling was slow… again.

I already had some interest in alternatives to minikube. This failure gave me the right incentive. I chose kind because some of the comments mention it in good terms.

Coming from minikube, there are a couple of differences worth mentioning. The most important one is that kind runs in Docker. Its name is actually an acronym for ‘kubernetes in docker.’ Hence, Docker must be running prior to any kind-related operation.

As a consequence, there’s no dedicated cluster IP, everything is directly on localhost. However, the cluster needs to be configured explicitly to map ports.

#devops #kubernetes #minikube #kind

Houston  Sipes

Houston Sipes

1602315617

Deploying a go application and a redis cluster in minikube

In my previous post, I wrote a go application that displays the GPS location of any IP address. Here in this post, I’ll explain how to deploy the same in minikube.

Prerequisites

  • understanding of kubernetes components (pods, deployment, etc.)
  • minikube installed in your laptop

Kubernetes tutorial

If you are new to kubernetes and want to learn, I recommend this youtube playlist.

Minikube

Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

_if you don’t have minikube installed in your laptop, you can do it by following the instructions _here.

Desired Deployment State

  • 2 instances of our web application.
  • **a load balancer **that balances the load on our two web application instances.
  • a redis cluster with a master-slave replication.

Image for post

Image for post

desired deployment state

I’m going to list down 7 steps I did to get to the above shown desired state. I hope you can replicate what I did very easily in your own minikube environment.

Step 1: start minikube

minikube start

you should receive an output like this

MacBook-Pro-2:Desktop jeshocarmel$ minikube start
😄  minikube v1.12.3 on Darwin 10.14.3
✨  Using the hyperkit driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🏃  Updating the running hyperkit "minikube" VM ...
🐳  Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: default-storageclass, storage-provisioner
🏄  Done! kubectl is now configured to use "minikube"

To ensure minikube has started successfully, run the command below

minikube status

and you should receive an output like this.

#kubernetes #redis #golang #containers #minikube

Jamal  Lemke

Jamal Lemke

1600711200

How to Use Own Docker Images on Minikube — Easy Way

This brief post will bring you a quick and an effective way to use your own build docker images / docker image dumps on minikube.

There are some articles like this explaining one method to use _Own Local Docker Images With Minikube. _For some cases: such as when you are building docker images from a library or a programming language tool like ballerina, you might not be able to use the above mentioned method. Example case: Try to compile this ballerina example with having followed previously mentioned method.

#minikube #docker-image #docker-image-dump #local-kubernetes

Panmure  Anho

Panmure Anho

1598274139

Getting Started with Minikube as Your Local Kubernetes Cluster

Kubernetes or K8s plays a major role in DevOps and currently, most applications are likely to be deployed in a Kubernetes cluster. Before Docker introduced in 2013, Virtualisation played a huge role in the IT industry.

You could have certainly heard different tools such as Virtual BoxVM ware, etc and most probably you have already experienced them by today. But after the containers came into the picture, developers started containerising their applications because this technology gave them more feasibility solutions to go further.

Once Google introduced Kubernetes which is a powerful system to manage containerised applications in a clustered environment, the real change started to happen. Kubernetes is an open-source system which has its’ own architecture and compatible with different 3rd-party tools and adapters.

In a clustered environment, you would probably have several master and worker nodes and most of them could be either physical machines or a cloud environment. But, what if you need to test something in your local machine? it could be simple containerised application or might be a production-level application which needs to be tested before you deploy it. Anyhow, this doesn’t mean that you need to buy all the required physical machines or a cloud environment to test them out in a cluster.

Then, what could be your choice? Here’s Minikube comes into the picture.

#clustering #containers #minikube #docker #kubernetes

Panmure  Anho

Panmure Anho

1600307788

How to Develop Locally for Kubernetes using Skaffold and Minikube

This is a very practical tutorial. I am not going to dwell on why microservices are here to stay and why Kubernetes is a beast to set up. I am going to cut it straight to the core. You have come here for a solution to your problem, and I am going to give you one.

You are probably reading this article because your organisation is using or decided to use Kubernetes.

But you or your development team is complaining because it is hard to develop locally without wasting time with deployments(docker build, docker push, kubectl rollout, etc). What is meant to be a one-liner code change, takes several minutes to test??? That is not acceptable.

Thankfully there is a fix that will be like heaven on hell, for any developer looking to develop fast.

I introduce to you…. Minikube and Skaffold.

For this tutorial, you will be downloading a GitHub repository that I have created:

In this repository, you will find a CMS component that uses Strapi and a front end written in NodeJS. Before you get too excited about the front end… don’t.

It’s just a few lines of javascript code that retrieves data from a Strapi backend using a REST API, to prove that we are able to connect and retrieve data.

What you should be excited about, is that you should be able to start developing on Kubernetes after a few seconds by just executing a skaffold command. Of course, I am assuming you’ve already installed Minikube, Skaffold and Kustomize.

Let’s get started.

#gcp #strapi #kubernetes #skaffold #minikube