Giter VIP home page Giter VIP logo

kubeboot's Introduction

TODO

  • Check if installed version of the component is lower than required. Version upgrade abiltiy.
  • Cleanup. Remove all installable components along with config files.
  • Abiltiy to choose between KVM and VB in linux environment.

Example of running Rails app with PostgreSQL support within local Kubernetes cluster on Minikube.

Prerequisites

Install VirtualBox or KVM on Linux by yourself.

Test application

Clone it

Assume your projects path is ~/PROJECTS

cd ~/PROJECTS && git clone https://github.com/Antiarchitect/testapp-postgresql.git

Initialize submodules

cd ~/PROJECTS/testapp-postgresql/
git submodule init
git submodule update --remote

Run kubeboot

~/PROJECTS/kubeboot/kb.sh ~/PROJECTS/testapp-postgresql/

Kubernetes dashboard

It should open up automatically, but you can easily access it by typing:

minikube dashboard

Know your app url:

Application should open automatically if web_service_name parameter is set in kubeboot.yaml, but you can easily find out what url your apllication have (if any):

export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services my-rails-dev-helm-rails)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT

Application internals

kubeboot.yaml

kubeboot.yaml is a simple config file stored on the app side to tell kubeboot some specifics about your app you want to run inside the local kubernetes cluster.

Parameters

Parameter Description
helm_path Path to the helm chart.
values_filename File name with dev values.
app_image_tag Docker image with your application runtime. Will be used to name Helm release.
web_service_name Kubernetes service holding http server so kubeboot can open app in the browser.
dockerfiles Array of hashes with all docker images to be built from your .dockerfiles.
sync_precreate_paths Paths that should be precreated before sync with correct permissions

.dockerfiles

Is the place all your service-related dockerfiles for development are located in.

.helm

Is your application Helm chart.

http://evrone.com

kubeboot's People

Contributors

antiarchitect avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.