{"id":26031670,"url":"https://github.com/apache/yunikorn-k8shim","last_synced_at":"2025-04-11T23:15:54.369Z","repository":{"id":37076432,"uuid":"191788094","full_name":"apache/yunikorn-k8shim","owner":"apache","description":"Apache YuniKorn K8shim","archived":false,"fork":false,"pushed_at":"2025-04-10T13:45:31.000Z","size":29648,"stargazers_count":152,"open_issues_count":8,"forks_count":141,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-11T23:15:47.360Z","etag":null,"topics":["apache-yarn","go","kubernetes","universal-resource-scheduler","yunikorn"],"latest_commit_sha":null,"homepage":"https://yunikorn.apache.org/","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-13T15:24:21.000Z","updated_at":"2025-04-10T13:45:35.000Z","dependencies_parsed_at":"2023-09-26T20:42:13.242Z","dependency_job_id":"cdda9bf1-ec07-4fff-98da-7a4f8f0016fa","html_url":"https://github.com/apache/yunikorn-k8shim","commit_stats":null,"previous_names":["apache/incubator-yunikorn-k8shim","cloudera/yunikorn-k8shim"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fyunikorn-k8shim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fyunikorn-k8shim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fyunikorn-k8shim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fyunikorn-k8shim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/yunikorn-k8shim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492884,"owners_count":21113163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-yarn","go","kubernetes","universal-resource-scheduler","yunikorn"],"created_at":"2025-03-06T20:20:02.459Z","updated_at":"2025-04-11T23:15:54.348Z","avatar_url":"https://github.com/apache.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*      http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n--\u003e\n\n# YuniKorn Scheduler for Kubernetes (yunikorn-k8shim)\n\n[![Build Status](https://github.com/apache/yunikorn-k8shim/actions/workflows/pre-commit.yml/badge.svg)](https://github.com/apache/yunikorn-k8shim/actions/workflows/pre-commit.yml)\n[![codecov](https://codecov.io/gh/apache/yunikorn-k8shim/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/yunikorn-k8shim)\n[![Go Report Card](https://goreportcard.com/badge/github.com/apache/yunikorn-k8shim)](https://goreportcard.com/report/github.com/apache/yunikorn-k8shim)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Repo Size](https://img.shields.io/github/repo-size/apache/yunikorn-k8shim)](https://img.shields.io/github/repo-size/apache/yunikorn-k8shim)\n\nYuniKorn scheduler shim for kubernetes is a customized k8s scheduler, it can be deployed in a K8s cluster and work as the scheduler.\nThis project contains the k8s shim layer code for k8s, it depends on `yunikorn-core` which encapsulates all the actual scheduling logic.\nBy default, it handles all pods scheduling if pod's spec has field `schedulerName: yunikorn`.\n\nFor detailed information on how to build the overall scheduler please see the [build document](https://yunikorn.apache.org/docs/next/developer_guide/build) in the `yunikorn-site`.\n\n## K8s-shim component build\nThis component build should only be used for development builds.\nPrerequisites and build environment setup is described in the above mentioned build document.\n\n### Build binary\nThe simplest way to get a local binary that can be run on a local Kubernetes environment is: \n```\nmake build\n```\nThis command will build a binary `yunikorn-scheduler` under `build/dev` dir. This binary is executable on local environment, as long as `kubectl` is properly configured.\n\n**Note**: It may take few minutes to run this command for the first time, because it needs to download all dependencies.\nIn case you get an error relating to `checksum mismatch`, run `go clean -modcache` and then rerun `make build`.\n\n### Build run\n\nIf the local kubernetes environment is up and running you can build and run the binary via: \n```\nmake run\n```\nThis will build the code, and run the scheduler with verbose logging. \nIt will use default configurations for the scheduler and the local Kubernetes configuration.\n\n### Build and run tests\nUnit tests for the shim only can be run via:\n```\nmake test\n```\nAny changes made to the shim code should not cause any existing tests to fail.\n\n### Build image steps\nBuild docker image can be triggered by running following command.\n\n```\nmake image\n```\n\nYou can set `DOCKER_ARCH`, `REGISTRY` and `VERSION` in the commandline to build docker image with a specified arch, tag and version. For example,\n```\nmake image DOCKER_ARCH=amd64 REGISTRY=yunikorn VERSION=latest\n```\nThis 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).\n\nYou can run following command to retrieve the meta info for a docker image build, such as component revisions, date of the build, etc.\n\n```\ndocker inspect --format='{{.Config.Labels}}' yunikorn/yunikorn:scheduler-amd64-latest\n```\n\n## Design documents\nAll design documents are located in our [website](http://yunikorn.apache.org/docs/next/design/architecture). \nThe core component design documents also contains the design documents for cross component designs.\n\n## How do I contribute code?\n\nSee how to contribute code in [our website](http://yunikorn.apache.org/community/how_to_contribute).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fyunikorn-k8shim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fyunikorn-k8shim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fyunikorn-k8shim/lists"}