码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [Kubernetes] 多调度器(1/3):如何编译scheduler,以默认调度器 kube-scheduler为例


    文章目录

        • 前提
        • 如何编译
        • 参考

    本文以k8s v1.14为例,到v1.28也适用。

    前提

    • 已配好相应的go v1.12.2(go 版本选择按k8s的CHANGELOG.md选)

      • 放在:/usr/local/
      • GOPATH=/root/go/
    • 已下载k8s的1.14.9源码 kubernetes/,或直接git clone ...

      • 放在:$GOPATH/src/k8s.io/。这里是/root/go/src/k8s.io/

      • 如何找下载链接:下载地址在k8s的repo中,release搜索1.14找到链接:src字样代表源。

        区别source code vs binary。binary是编译好的二进制,如含amd64字样。

        命名必须是.../k8s.io/kubernetes/各种内容,不然import时可能会有影响(?),比如./pkg/scheduler/scheduler.go中:

        import ("k8s.io/kubernetes/pkg/scheduler/framework")
        
        • 1

    如何编译

    进入k8s源码文件夹kubernetes。里面已经有Makefile了,所以直接:

    KUBE_BUILD_PLATFORMS=linux/amd64 make WHAT=cmd/kube-scheduler GOFLAGS=-v GOGCFLAGS="-N -l" -j8
    
    • 1

    执行完毕后,二进制可执行文件默认生成到 ./_output/bin 目录下。

    参数说明:

    • KUBE_BUILD_PLATFORMS=linux/amd64 指定当前编译平台环境类型为 linux/amd64。否则默认会分别编译多种环境,编译时间很长。

    • make cmd/kube-scheduler 表示只编译kube-scheduler。

      • make all 表示在本地环境中编译所有组件。

      • 若我们只想编译某个组件,例如,只想编译 kube-apiserver ,那么可以执行 make WHAT=cmd/kube-apiserver 命令。这里可选组件有很多,详细可参考 kubernetes/cmd/ 目录下所有组件。

        // 可行。从[official docs](file:///C:/Users/dell/Zotero/storage/NZPBHWF2/configure-multiple-schedulers.html)中发现,后面唯一用到编译出来的二进制文件(位于./_output/)的就只有这一句,ADD ./_output/local/bin/linux/amd64/kube-scheduler,而它只需要编译scheduler就可以得到

    • GOFLAGS=-v 编译参数,开启 verbose 日志。

    • GOGCFLAGS="-N -l" 编译参数,禁止编译优化和内联,减小可执行程序大小。

    参考

    • 官方文档 configure-multiple-schedulers.html (k8s v1.28)
    • https://cloud.tencent.com/developer/article/1433219
  • 相关阅读:
    校园安防监控系统升级改造方案:如何实现设备利旧上云与AI视频识别感知?
    JAVA算法训练营打卡总结
    C++左值右值、左值引用&右值引用&&、移动语义move
    极智AI | 讲解 TensorRT 怎么实现 torch.select 层
    PTA 7-26 求集合数据的均方差分数 15
    面试系列-Springboot 自定义starter使用详解
    第1部分 实验拓扑、终端服务器
    纳什均衡及经典案例(2)
    百度:文心大模型日均处理Tokens文本已达2490亿
    lux和ffmpeg进行下载各大主流自媒体平台视频
  • 原文地址:https://blog.csdn.net/mathemagics/article/details/132873970
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号