田飞雨

专注 k8s 云原生实践


  • 首页

  • 关于

  • 归档

  • 电子书

  • rss

  • 搜索

Kubernetes 中 Descheduler 组件的使用与扩展

发表于 2022-06-30 |
Descheduler 组件简介实例在新建时,调度器可以根据当时集群状态选择最优节点进行调度,但集群内资源使用状况是动态变化的,集群在一段时间内就会出现不均衡的状态,需要 Descheduler 将节点上已经运行的 pods 迁移到其他节点,使集群内资源分布达到一个比较均衡的状态。有以下几个原因我们 ...
阅读全文 »

Golang GPM 模型剖析

发表于 2021-12-12 |
本文使用 golang 1.17 代码,如有任何问题,还望指出。 线程、内核线程和用户线程区别 线程:从内核角度来说并没有线程这个概念。Linux 把所有的线程都当做进程来实现,内核也没有特别的调度算法来处理线程。线程仅仅被视为一个与其他进程共享某些资源的进程,和进程一样,每个线程也都是有自己的 ...
阅读全文 »

Golang 程序启动流程分析

发表于 2021-07-01 |
本文使用 golang 1.17 代码,如有任何问题,还望指出。 Golang 代码被操作系统运行起来的流程一、编译go 源代码首先要通过 go build 编译为可执行文件,在 linux 平台上为 ELF 格式的可执行文件,编译阶段会经过编译器、汇编器、链接器三个过程最终生成可执行文件。 ...
阅读全文 »

golang 中函数使用值返回与指针返回的区别,底层原理分析

发表于 2021-04-13 |
变量内存分配与回收 堆与栈的区别 变量内存分配逃逸分析 检查该变量是在栈上分配还是堆上分配 函数内变量在堆上分配的一些 case 函数使用值与指针返回时性能的差异 其他的一些使用经验 总结 变量内存分配与回收Go 程序会在两个地方为变量分配内存,一个是全局的堆上,另一个是函数调用栈, ...
阅读全文 »

kubernetes 中 Evicted pod 是如何产生的

发表于 2021-03-01 |
线上被驱逐实例数据最近在线上发现很多实例处于 Evicted 状态,通过 pod yaml 可以看到实例是因为节点资源不足被驱逐,但是这些实例并没有被自动清理,平台的大部分用户在操作时看到服务下面出现 Evicted 实例时会以为服务有问题或者平台有问题的错觉,影响了用户的体验。而这部分 Evict ...
阅读全文 »
12…13

tianfeiyu

专注 k8s 云原生实践

61 日志
68 标签
RSS
© 2024 tianfeiyu 陕ICP备15001765号-1
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4