# jianmu-worker-kube2 **Repository Path**: jianmu-workers/jianmu-worker-kube2 ## Basic Information - **Project Name**: jianmu-worker-kube2 - **Description**: 建木Kubernetes worker,将任务分发到Kubernetes集群执行,以Pod为单位分发 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-07-13 - **Last Updated**: 2023-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jianmu-worker-kube #### 介绍 建木Kubernetes Worker ## 如何编译 确定Golang版本为 1.18.1 第一步:使用 `go mod download` 命令下载依赖包(注意:不能下载原因可以先Google一下,解决能Google的问题再下载!) 第二步:在项目根目录下使用 `go build` 命令进行编译,编译完成后根目录下将生成名为 `jianmu-worker-kube` 的可执行文件 ## 如何使用 ## 如何编译 > windows编译Linux可执行文件 ```bash set GOOS=linux set GOARCH=amd64 go build -trimpath . ``` > linux编译linux可执行文件 ```bash go build -trimpath . ``` ## 配置说明 ```text # 建木地址 #JIANMU_SRV_ADDRESS= http://x.x.x.x:8081 # 建木密钥 #JIANMU_SRV_SECRET=secret # worker id,没一个work的id应该是唯一的 JIANMU_WORKER_ID=kube-11111 # worker数据存放目录 JIANMU_WORKER_DATA_DIR=/tmp/jianmu # tag JIANMU_WORKER_TAGS=k8s-workx # 执行任务创建pod的名字空间 JIANMU_WORKER_NAMESPACES=default # 默认调度到k8s的node JIANMU_WORKER_DEFAULT_NODE_NAME=k8s-n2 JIANMU_WORKER_TYPE=KUBERNETES # 并发 JIANMU_WORKER_CAPACITY=3 JIANMU_DEBUG=true JIANMU_TRACE=true # k8s config 配置,用于连接k8s控制平面,也就是kubectl使用的配置文件 # 如果本程序运行在k8s之上,则不需要配置该项,需要创建对应名称空间下有权限的serviceAccount # 如果是测试使用,创建的serviceAccount可以直接绑定cluster-admin角色 JIANMU_KUBERNETES_CONFIG=E:\data\k8s\20-config # pod 资源限制 # sidecar 资源限制 JIANMU_WORKER_HELPER_CPU_REQUESTS=1m JIANMU_WORKER_HELPER_MEMORY_REQUESTS=8Mi JIANMU_WORKER_HELPER_CPU_LIMITS=10m JIANMU_WORKER_HELPER_MEMORY_LIMITS=16Mi # 主容器资源限制 JIANMU_WORKER_BUILD_CPU_REQUESTS=32m JIANMU_WORKER_BUILD_MEMORY_REQUESTS=6Mi JIANMU_WORKER_BUILD_CPU_LIMITS=50m JIANMU_WORKER_BUILD_MEMORY_LIMITS=6Mi ``` ## 本地如何运行 ```bash # local.env 配置参考配置说明来编写 ./jianmu-worker-kube daemon local.env ``` ## 如何在运行在k8s之上