GithubHelp home page GithubHelp logo

bgrams / yunikorn-k8shim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/yunikorn-k8shim

0.0 0.0 0.0 26.42 MB

Apache YuniKorn K8shim

Home Page: https://yunikorn.apache.org/

License: Apache License 2.0

Shell 2.75% Python 1.17% Go 93.62% Makefile 1.56% HTML 0.09% Dockerfile 0.79%

yunikorn-k8shim's Introduction

YuniKorn Scheduler for Kubernetes (yunikorn-k8shim)

Build Status codecov Go Report Card License Repo Size

YuniKorn scheduler shim for kubernetes is a customized k8s scheduler, it can be deployed in a K8s cluster and work as the scheduler. This project contains the k8s shim layer code for k8s, it depends on yunikorn-core which encapsulates all the actual scheduling logic. By default, it handles all pods scheduling if pod's spec has field schedulerName: yunikorn.

For detailed information on how to build the overall scheduler please see the build document in the yunikorn-site.

K8s-shim component build

This component build should only be used for development builds. Prerequisites and build environment setup is described in the above mentioned build document.

Build binary

The simplest way to get a local binary that can be run on a local Kubernetes environment is:

make build

This command will build a binary k8s_yunikorn_scheduler under _output/dev dir. This binary is executable on local environment, as long as kubectl is properly configured. Run ./k8s_yunikorn_scheduler -help to see all options.

Note: It may take few minutes to run this command for the first time, because it needs to download all dependencies. In case you get an error relating to checksum mismatch, run go clean -modcache and then rerun make build.

Build run

If the local kubernetes environment is up and running you can build and run the binary via:

make run

This will build the code, and run the scheduler with verbose logging. It will set the configuration for the scheduler to the provided default configuration queues.yaml and uses the current setup for kubernetes.

Build and run tests

Unit tests for the shim only can be run via:

make test

Any changes made to the shim code should not cause any existing tests to fail.

Build image steps

Build docker image can be triggered by running following command.

make image

You can set DOCKER_ARCH, REGISTRY and VERSION in the commandline to build docker image with a specified arch, tag and version. For example,

make image DOCKER_ARCH=amd64 REGISTRY=yunikorn VERSION=latest

This command will build an amd64 binary executable with version latest and the docker image tag is yunikorn/yunikorn:scheduler-amd64-latest. If not specified, DOCKER_ARCH defaults to the build host's architecture. For example, the Makefile will detect if your host's architecture is i386, amd64, arm64v8 or arm32v7 and your image would be tagged with the corresponding host architecture (i.e. yunikorn:scheduler-arm64v8-latest if you are on an M1).

You can run following command to retrieve the meta info for a docker image build, such as component revisions, date of the build, etc.

docker inspect --format='{{.Config.Labels}}' yunikorn/yunikorn:scheduler-amd64-latest

Design documents

All design documents are located in our website. The core component design documents also contains the design documents for cross component designs.

How do I contribute code?

See how to contribute code in our website.

yunikorn-k8shim's People

Contributors

yangwwei avatar craigcondit avatar wilfred-s avatar huangting-yao avatar pbacsko avatar kingamarton avatar manirajv06 avatar 0yukali0 avatar steinsgateted avatar taoyang526 avatar sunilgovind avatar lowc1012 avatar ayubpathan avatar chia7712 avatar zhuqi-lucas avatar wusamzong avatar ronazhan avatar kobe860219 avatar yuchaoran2011 avatar wangdatan avatar chenya-zhang avatar anuraagnalluri avatar chungen0126 avatar kannon92 avatar zi-ling-li avatar youxuan0714 avatar dcaceres88 avatar morpheyesh avatar xieyizhen avatar bmv126 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.