mjvdende / minikube-meetup

This repo has the minikube configuration used in the meetup: https://www.meetup.com/nl-NL/Technical-Test-Experts-Nederland/events/243333191/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes minikube meetup

This repo has a pre-configured Kubernetes minikube environment which will be used during the meetup Workshop Continuous Deployment naar Kubernetes.

General

Supported OS

During this meetup we supports the following Operating Systems:

  • OS X/macOS
  • Linux

Note: Windows might also work but is not tested. If trying, at least use a normal shell that can run sh files.

Kubernetes

Kubernetes is a powerful production ready system for deploying, managing and scaling containerized applications. It is build on the same design principle as Google uses to manage millions of containerized applications. See the Kubernetes website for more information.

Minikube

Minikube is a single node Kubernetes cluster which makes it possible to run Kubernetes locally. See the minikube website for more information.

Kubectl

Kubectl is a command line interface to interact with a Kubernetes cluster. See the cheat sheet for handy commands.

Getting started

1) Preparation

Before you spin up the pre-configured minikube environment make sure you have installed the following:

2) Install pre-configured environment

You can install the pre-configured Kubernetes environment by running ./minikube.sh install located in the root of this project (follow the command line interface). Installation might take a while depending on your internet connection.

After installation you will have:

  • A locally running single node Kubernetes cluster
  • A custom Jenkins configuration running on minikube
  • Gitlab for source control running on minikube

The custom Jenkins configuration will support the following:

  • docker-cli (for running sibling containers; DooD)
  • kubectl
  • node
  • npm
  • google-chrome-stable

Note: minikube is configured to start a virtual machine on VirtualBox with 4 cpus and 8192 memory (Jenkins and Gitlab take up lots of memory). Adjust to your own will if needed by changing the mentioned settings in start-minikube.sh

3) Open the Kubernetes dashboard

Use the command minikube dashboard or start it by running ./minikube.sh located in the root of this project.

4) Open Jenkins

To open Jenkins go to http://<minikube-ip>/jenkins

Notes:

  • You can get the minikube ip by running the command minikube ip
  • Installation may take a while, so don't worry if it does not load immediately after installation

5) Open Gitlab

To open Gitlab go to http://<minikube-ip>/gitlab

Notes:

  • You can get the minikube ip by running the command minikube ip
  • Installation may take a while, so don't worry if it does not load immediately after installation

6) Start, stop and delete

Minikube consumes lots of power. Make sure to stop minikube after you stop working with it. Otherwise it will drain your battery. You can use the ./minikube.sh script or just run minikube stop and minikube start to stop and start the minikube virtual machine. After startup, the virtual machine will have the same state as you left it.

If for some reason you decide to completely delete the minikube virtual machine, use the ./minikube.sh script or just run minikube delete. Beware: all files will be gone!

7) Switch to minikube docker daemon

In order to see all docker images and containers present on minikube, one must switch to the minikube docker daemon. You can do this by running the command:

eval $(minikube docker-env)

About

This repo has the minikube configuration used in the meetup: https://www.meetup.com/nl-NL/Technical-Test-Experts-Nederland/events/243333191/


Languages

Language:Shell 100.0%