首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏k8s源码解析

    k8s源码-源码编译及目录详解

    源码下载及编译(本文以1.16.0-alpha.3为例) k8s github地址: https://github.com/kubernetes/kubernetes k8s的编译有两种方式: 1: /build/run.sh hack/build-go.sh cmd/kubelet单独编译某个组件 目录概览 k8s源码采用 go module(go 1.11rc1开始支持)管理包,go module

    8K53发布于 2019-11-17
  • 来自专栏全栈程序员必看

    k8s 开源_openstack源码

    Create->CreateWithOptions->createResource

    33210编辑于 2022-09-22
  • 来自专栏才浅coding攻略

    图解K8s源码 - 序章 - K8s组件架构

    概念上来讲,K8S 集群的服务,其实就是负载均衡或反向代理。

    1.1K10编辑于 2022-12-12
  • 来自专栏云原生工具箱

    图解 K8S 源码 - QoS 篇

    这里就引出了 QoS 的概念,本篇文章就会从源码的角度介绍 QoS 的分类、打分机制,并简单介绍不同 QoS 的本质区别。看看这个机制是如何保证运行在 Kubernetes 中服务质量的。 这里附上源码: // github/kubernetes/pkg/kubelet/qos/policy.goconst ( // KubeletOOMScoreAdj is the OOM score

    1.2K10发布于 2020-12-30
  • 来自专栏才浅coding攻略

    图解K8s源码 - kubelet 篇

    我们在之前的文章中介绍了 Master 控制平面中的三大组件:kube-apiserver、kube-controller-manager、kube-scheduler,它们分别负责 k8s 集群的资源访问入口 Kubelet 中事件处理机制 在之前的文章中提到过,k8s 中的各个组件会将运行时产生的各种事件汇报到 apiserver,使用 kubectl describe 可以看到其相关的 events。 另外,k8s 中 events 目前只有两种类型:"Normal" 和 "Warning"。 系列往期文章列表: Kubernetes微服务常见概念及应用 图解K8s源码 - 序章 - K8s组件架构 图解K8s源码 - k8s核心数据结构 图解K8s源码 - kube-apiserver篇 图解K8s源码 - kube-apiserver下的RBAC鉴权机制 图解K8s源码 - kube-controller-manager篇 图解K8s源码 - kube-scheduler篇

    1.5K20编辑于 2022-12-12
  • 来自专栏kinnylee钻研技术

    k8s源码分析- Informer机制

    最近加入云原生社区组织的k8s源码研习社,开始学习k8s底层源码,并整理成笔记。欢迎感兴趣的同学一起加入,共同学习进步。群里和社区里有各种大佬,随时可以帮你答疑解惑。 先放一张调用关系图 高清地址 由于Informer这部分的源码比较复杂,调用链路也很长,后面的源码分析,都会围绕这一张图展开。 ? 概述 k8s中,组件之间通过http通讯,在不依赖任何中间件的情况下,需要保证消息的可靠性、实时性、顺序性等?k8s是如何做到的呢?--- 答案就是Informer。 k8s的其他组件都是通过informer与api-server通讯的。 Informer运行原理 ? 中占据重要的角色,它的源码也是非常的复杂。

    5.9K118发布于 2020-10-15
  • 来自专栏才浅coding攻略

    图解K8s源码 - k8s核心数据结构

    阿巩 期待同大家一起学习和交流~ 在上一章中阿巩和大家分享了k8s组件之一kube-apiserver,在我自己阅读代码时发现k8s整体结构复杂,而且由于参与的开发者众多代码结构不免有些混乱,我往往容易陷入到某个细节而无法从整体视角梳理流程 在查阅官网文档及相关书籍后,我决定换个思路,先理解k8s核心数据结构设计,这样能够在阅读源码时做到事半功倍。好的,日拱一卒,我们开始吧! K8s系统虽然功能众多且复杂,但它本质上是一个资源控制系统,即资源是k8s最重要的概念,它包括注册、管理、调度资源并维护资源状态。 k8s资源分为两种:Kubernetes Resource 内置资源和Custom Resource 自定义资源,自定义资源可以通过CRD实现。 文章最后附上k8s Project Layout结构图: 参考: 《kubernetes源码剖析》 https://blog.51cto.com/daixuan/4976182 END

    1.3K20编辑于 2022-12-12
  • 来自专栏TA码字

    K8s源码分析(4)-Resource Model

    另外也从源码的角度分析了其中各个资源 group 的对外 version 和 internal version 都定义在哪些源文件之中,在这里我们主要介绍 kubernetes 中各种 resource 从源码的角度来看 kubernetes resource 的 group version kind (即 GVK) 的属性被定义在 staging/src/k8s.io/apimachinery/pkg 由上述源码分析可以总结: TypeMeta 和 ObjectMeta 两种结构体分别定义了 kubernetes 各种资源的类型属性和实例属性。

    70540发布于 2021-10-08
  • 来自专栏TA码字

    K8s源码分析(3)-Resource Version

    接下来我们来看一下不同 version 的 resource 都定义在什么地方: 对于各个资源组外部版本的定义在如下源码位置: 我们以 apps group 资源组为例,对于其外部版本的 resource 定义如下: 对于各个资源组 internal version 的定义在如下源码位置: 同样我们还是以 apps 资源组为例,其 internal version 的 resource 定义如下 : 从源码的角度来看,我们以 apps group 中的 v1 version 的 deployment resource 为例,它在 staging/src/k8s.io/api/apps/v1/ metav1.ObjectMeta Spec DeploymentSpec Status DeploymentStatus } 从上面例子中 deployment 资源的外部版本和内部版本的定义源码

    1.2K10发布于 2021-09-14
  • 来自专栏云原生工具箱

    图解 K8S 源码 - Informer 篇(上)

    众所周知,在 Kubernetes 中各组件是通过 HTTP 协议进行通信的,而组件间的通信也并没有依赖任何中间件,那么如何保证消息的实时性、可靠性、顺序性呢?Informer 机制很好的解决了这个问题。Kubernetes 中各组件与 API Server 的通信都是通过 client-go 的 informer 机制来保证和完成的。

    1.5K20发布于 2020-12-30
  • 来自专栏TA码字

    K8s源码分析(2)-Resource Meta

    "` APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,2,opt,name=apiVersion"` } 由上述源码我们发现字段 ManagedFieldsEntry `json:"managedFields,omitempty" protobuf:"bytes,17,rep,name=managedFields"` } 由上述源码我们发现里面定义的都是资源本身的各个属性

    65910发布于 2021-09-14
  • 来自专栏跟我一起学 K8s

    K8s源码片段 01-01

    k8s 源码片段分析:将 K8s源码切换到第一个 commit(2c4b3a562ce) :pkg/util/stringlist.gopackage utiltype StringList []stringfunc

    25240编辑于 2022-06-11
  • 来自专栏云原生工具箱

    图解 K8S 源码 - Deployment Controller 篇

    作为使用 Go 语言开发的明星项目,其源码也是非常有趣的。笔者在研究 Kubernetes 源码时,常常发现很多让人眼前一亮的设计和拍案叫绝的逻辑。 但由于 Kubernetes 的代码量十分庞大,函数间的调用也十分复杂,在阅读源码时常常被绕的找不着北,正好手边有一本《图解算法》,于是就萌生了图解 Kubernetes 源码的想法。 deployment-controller-核心逻辑 从源码可以看出,删除、暂停、回滚、扩缩容、更新策略的优先级为 delete > pause > rollback > scale > rollout 图解 Kubernetes 源码将作为一个系列继续下去,后续会带来更多的源码图解。

    1.9K20发布于 2020-12-30
  • 来自专栏跟我一起学 K8s

    K8s源码片段 01-02

    在 pkg/registry/task/task_registry.go 中对 TaskRegistry 接口的实现;

    33130编辑于 2022-06-13
  • 来自专栏k8s源码解析

    k8s源码-scheduler流程深度剖析

    源码分析 4.1 入口函数 cmd/kube-scheduler/schduler.go func main() { ... ...

    3.6K44发布于 2019-11-24
  • 来自专栏TA码字

    K8s源码分析(24)-ThreadSafeStore组件

    ThreadSafeStore 接口 ThreadSafeStore 是接口,图解和源码如下: //k8s.io/client-go/tools/cache/thread_safe_store.go threadSafeMap 结构体 threadSafeMap 是一个结构体,该结构体实现了上面介绍的接口 ThreadSafeStore,其相关的图解和源码如下: //k8s.io/client-go

    41830编辑于 2022-10-30
  • k8s源码解读课程,助力你变成k8s专家

    随着云计算的快速发展和容器化技术的广泛应用,Kubernetes(K8s)已经成为了当今 IT 基础设施中的关键组成部分。 无论是企业级应用,还是开发人员日常的开发、部署、运维任务,K8s 都扮演着至关重要的角色。作为一种强大的容器编排平台,Kubernetes 不仅仅改变了应用部署和管理的方式,更加速了云原生架构的普及。 本文将从以下几个方面展开,探讨 K8s源码解读和科技能力的突破,以期为未来的云原生专家提供一种全新的视角和深入理解。1. API Server 是 K8s 集群的入口,负责处理所有的 REST 请求,并通过 etcd 存储和管理集群状态。 在学习的过程中,如何快速掌握 K8s 核心模块的架构,并能从全局的角度理解其内部工作机制,是一大挑战。

    21710编辑于 2025-11-28
  • 来自专栏跟我一起学 K8s

    K8s】kubelet 源码分析 01-01

    【注】源码分析均以 k8s 的第一个 commit 代码分析;kubelet 的入口函数 main()cmd/kubelet/kubelet.gokubelet 通过本地套接字的方式与 docker 进行链接

    48320编辑于 2022-06-26
  • 来自专栏菜菜的技术博客

    k8s first commit 源码分析之 Cloudcfg

    上一次分析了api server的源码,这一次来分析 cloudcfg 的源码。 简介 cloudcfg 可以看做是 kubectl 的前身,负责与 API server 的交互,只存在于上古时代的 k8s 中,我们现在接触到的都是叫做 kubectl 的命令行工具了。

    45220编辑于 2022-11-15
  • 来自专栏跟我一起学 K8s

    K8s】cloudcfg 源码分析 01-02

    【注】源码分析均以 k8s 的第一个 commit 代码分析;本小结主要来分析下 pkg/client 中的代码:首先, 源码的开始就提供了 kubenetes 端的客户端接口:// ClientInterface

    39620编辑于 2022-07-26
领券