Code Monkey home page Code Monkey logo

hyscale's Introduction

HyScale

The k8s App Deployment Tool

Kubernetes (k8s) has emerged as the de facto container orchestration platform offering excellent abstraction over infrastructure. But app deployments and delivery mechanisms to k8s are still way too complex. Delivery tools should simplify things for a developer so that developers can focus on writing apps & building value. This is best achieved if all the complexity of deployment completely disappears!

HyScale is a starting point for how a simplified service spec can allow developers to easily deploy the various (micro-)services in their app to k8s without having to wade through k8s complexities and also without having to write or maintain hundreds of lines of manifest yamls.

Here is what you need to do:

HyScale offers a declarative spec for k8s abstraction using which k8s manifests & docker files are automatically generated, docker images are built & pushed to the target docker registry, and the manifests are deployed to the k8s cluster resulting in a URL.

Here is a glimpse of what HyScale does when you invoke it

To get started, install hyscale as per the below instructions & follow the tutorial to deploy your first app.

Prerequisites

In order to deploy your service to k8s, you must have the following configurations and installations in place on your machine from which you wish to deploy your application.

  1. Docker 18.09.x or above. Your Linux user should be part of the docker group and docker.sock should be present at /var/run/docker.sock (Default location)
  2. Kubernetes authentication credentials kubeconfig file having the cluster token placed at $HOME/.kube/config
  3. Image registry credentials at $HOME/.docker/config.json . Make sure config.json has the latest auth creds by logging into the image registry using docker login prior to deployment.

If you do not have access to a kubernetes cluster and wish to deploy your application to a local cluster on your machine, you could try setting up minikube or kind.

Installation

Open your terminal and enter the following:

curl -sSL http://get.hyscale.io | bash

Verified on CentOS, Ubuntu and Debian Linux. Mac and Windows installer coming soon!

Deploying to k8s

Preparing your first service spec (hspec)

Here is a basic service spec for deploying tomcat (without any application). To get started with more options see the tutorial.

name: myservice
image:
    registry: registry.hub.docker.com
    name: library/tomcat
    tag: 8.5.0-jre8
 
volumes:
    - name: tomcat-logs-dir
      path: /usr/local/tomcat/logs
      size: 1Gi
      storageClass: standard
 
external: true
ports:
  - port: 8080/tcp
    healthCheck:
       httpPath: /docs/images/tomcat.gif

Deploy the service

To deploy, invoke the hyscale deploy command:

hyscale deploy service -f `<myservice.hspec.yaml>` -n `<my-namespace>` -a `<my-app-name>`

To view the status of your deployment:

hyscale get service status -s `<myservice>` -n `<my-namespace>` -a `<my-app-name>`

To view logs:

hyscale get service logs -s `<myservice>` -n `<my-namespace>` -a `<my-app-name>`

For all possible commands, see the command reference.

Contributing

If you wish to contribute, see the architecture & contributor documentation here.

hyscale's People

Contributors

anoop-pb avatar deepikachary avatar dependabot[bot] avatar harijvs6 avatar hyscale avatar niranjanandhe avatar nishanth-panthangi avatar praveen-131 avatar praveenpuglia avatar sameeragrandhi avatar sindhams avatar vijaysamanuri 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.