Coder Social home page Coder Social logo

stefaanc / kluster Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 197 KB

a package to deploy and configure highly-scalable production-grade apps using kubernetes (OKD) on a bare-metal platform (KVM)

License: MIT License

PowerShell 74.05% HTML 13.66% Batchfile 0.08% Shell 12.21%
kluster hyper-v esxi kvm kubernetes okd

kluster's Introduction

Kluster

A package to deploy and configure highly-scalable production-grade apps using kubernetes (OKD) on a bare-metal platform (KVM).

Objectives of the project:

  • design a platform using OKD and KVM
  • learn and apply the technology and techniques to install, develop, test, maintain and operate
  • all installed packages must be free, unless there is no viable alternative (hence the KVM virtualization platform)
  • security is a major concern (hence the OKD distribution/flavour of kubernetes)
  • the end goal is a platform that is ready for highly-scalable production-grade apps
  • everything can be installed and managed from a Windows 10 laptop
  • a Windows 10 laptop with Hyper-V and (optionally) a vmware ESXi server can be used as a small development and test environment
  • a Windows 10 laptop with Hyper-V and (optionally) a vmware ESXi server can be used as a portable demo environment

This is a project that is continuously updated and possibly changing direction, as we learn, and as new technology and techniques become available. Backward compatibility is not a major concern at this moment.

Before You Start

Setup the PowerShell environment

  1. by default, the "kluster" project is expected to be in the ~\Projects\kluster folder.

    • if you put it somewhere else, for instance ~\xyz\kluster, edit the ~\xyz\kluster\.psprofile.ps1 file
      • change the $ROOT = "$HOME\Projects\kluster" line to $ROOT = "$HOME\xyz\kluster"
  2. the "kluster" project is expecting PowerShell to be properly setup.

Generate root-certificates for the kluster domain

โš ๏ธ
Re-generating root certificates will invalidate all already existing kluster-certificates.

  1. open a PowerShell terminal

  2. execute Generate-RootCACertificates.ps1 $IP_DOMAIN, for instance

    Generate-RootCACertificates.ps1 "kluster.local"
    • you will be asked to allow the script to import a root-CA certificate for the IP-domain - click Yes
    • the generated certificates can be found in $ROOT\.pki\kluster.local

Setup Hyper-V on your laptop

  1. there is plenty of information on the web about this, for instance: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

  2. optionally install Windows Admin Center for a modern web-based GUI to manage your Windows 10 machine and Hyper-V

Setup an ESXi server (optional)

  1. browse to the VMware website and select Free Product Downloads on the Downloads-tab: https://my.vmware.com/en/web/vmware/evalcenter?p=free-esxi6

  2. you can get a free license when you create an account

  3. download the vSphere Hypervisor and install it

  4. configure ESXi server

Prepare the kluster environment

  1. navigate to your $ROOT\scripts folder and run @CP_Prepare-KlusterEnvironment.bat

kluster's People

Contributors

stefaanc avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.