k8s
文章平均质量分 93
墨尔本--晴
这个作者很懒,什么都没留下…
展开
-
Kubernetes网络原理及方案
随着Kubernetes王者时代的到来,计算、网络、存储、安全是Kubernetes绕不开的话题,本次主要分享Kubernetes网络原理及方案,后续还会有Kubernetes其它方面的分享,另外有容云5.22发布了基于Kubernetes的容器云平台产品UFleet,想要获取新品试用,欢迎联系有容云。 一、Kubernetes网络模型 在Kubernetes网络中存在两种IP(Pod IP和Se...转载 2018-04-30 15:33:18 · 1840 阅读 · 0 评论 -
kubernetes CRI接口
在Kubrnetes的最底层是容器运行时(Container Runtime),他们负责启动、暂停容器。最有名的容器运行时就是Docker了,后面又支持rkt。在kubernetes 1.5版本,kubernetes引入了CRI,即Container Runtime Interface。1. 什么是容器运行时,为什么Kubrenes需要它?每一种容器运行时,都有自己的有点,kubernet...转载 2018-11-19 11:45:09 · 3671 阅读 · 0 评论 -
kubernetes的eviction机制
eviction,即驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。eviction在openstack的nova组件中也存在。目前kubernetes中存在两种eviction机制,分别由kube-controller-manager和kubelet实现1. kube-controller-manager实现的evictionkube-co...转载 2018-11-19 11:43:02 · 8466 阅读 · 0 评论 -
Eviction Kill POD选择分析
Eviction机制是当节点上的资源紧张达到自己设定的阈值时可以进行资源回收。EvictionManager工作流程中两个比较重要的步骤是: reclaimNodeLevelResources(回收节点资源)和killPod。killPod总会有一个优先级选择pod来kill,下面就说一下这个优先级排序的过程。pkg/kubelet/kubelet.gofunc (kl *Kube...转载 2018-11-21 12:28:21 · 1192 阅读 · 1 评论 -
Kubelet PLEG源码分析
摘要:PLEG(Pod Lifecycle Event Generator)是kubelet的核心模块,在kubelet/docker相关的许多问题定位时,我们经常能看到PLEG的异常日志。通过对PLEG的源码分析,希望能让大家了解PLEG是干什么的,以及它是如何工作的、它与什么模块有交互等问题。Based on Kubernetes 1.11.4NewMainKubelet --...转载 2018-11-13 11:06:33 · 1892 阅读 · 0 评论 -
Kubernetes PodGC Controller源码分析
Author: xidianwangtao@gmail.comPodGC Controller配置关于PodGC Controller的相关配置(kube-controller-manager配置),一共只有两个: flag default value comments --controllers stringS...转载 2018-11-09 10:54:25 · 260 阅读 · 0 评论 -
Kubernetes调度之亲和性和反亲和性
背景Kubernetes中的调度策略可以大致分为两种,一种是全局的调度策略,要在启动调度器时配置,包括kubernetes调度器自带的各种predicates和priorities算法;另一种是运行时调度策略,包括nodeAffinity(主机亲和性),podAffinity(POD亲和性)以及podAntiAffinity(POD反亲和性)。podAffinity 主要解决POD可以和哪些P...原创 2018-10-10 10:11:26 · 3486 阅读 · 0 评论 -
kubernetes调度实践及原理分析
kubernetes调度策略分析Kubernetes调度器根据特定的算法与策略将pod调度到工作节点上。在默认情况下,Kubernetes调度器可以满足绝大多数需求,例如调度pod到资源充足的节点上运行,或调度pod分散到不同节点使集群节点资源均衡等。但一些特殊的场景,默认调度算法策略并不能满足实际需求,例如使用者期望按需将某些pod调度到特定硬件节点(数据库服务部署到SSD硬盘机器、CPU/...原创 2018-08-21 18:04:11 · 4007 阅读 · 1 评论 -
Kubernetes Informer 详解
Informer 简介这边文章只是个人爱好转载,不提供任何的意见和建议Informer 基础功能Informer 是 Client-go 中的一个核心工具包。在 Kubernetes 源码中,如果 Kubernetes 的某个组件,需要 List/Get Kubernetes 中的 Object,在绝大多 数情况下,会直接使用 Informer 实例中的 Lister()方法(该方法包...转载 2018-08-30 18:02:46 · 487 阅读 · 0 评论 -
深入浅出kubernetes之client-go的Indexer
记得大学刚毕业那年看了侯俊杰的《深入浅出MFC》,就对深入浅出这四个字特别偏好,并且成为了自己对技术的要求标准——对于技术的理解要足够的深刻以至于可以用很浅显的道理给别人讲明白。以下内容为个人见解,如有雷同,纯属巧合,如有错误,烦请指正。本文基于kubernetes1.11版本,后续会根据kubernetes版本更新及时更新文档,所有代码引用为了简洁都去掉了日志打印相关的代码,尽量只保留有价值...转载 2018-08-30 17:24:58 · 608 阅读 · 0 评论 -
kubernetes之Scheduler分析
1. kubernetes Scheduler 简介kubernetes Scheduler 运行在 master 节点,它的核心功能是监听 apiserver 来获取 PodSpec.NodeName 为空的 pod,然后为每个这样的 pod 创建一个 binding 指示 pod 应该调度到哪个节点上。从哪里读取还没有调度的 pod 呢?当然是 apiserver。怎么知道 pod 没...转载 2018-08-22 17:45:27 · 1523 阅读 · 0 评论 -
Kubernetes调度核心解密:从Google Borg说起
一个容器平台的主要功能就是为容器分配运行时所需要的计算,存储和网络资源。容器调度系统负责选择在最合适的主机上启动容器,并且将它们关联起来。它必须能够自动的处理容器故障并且能够在更多的主机上自动启动更多的容器来应对更多的应用访问。目前三大主流的容器平台Swarm, Mesos和Kubernetes具有不同的容器调度系统。Swarm的特点是直接调度Docker容器,并且提供和标准Docker API一...转载 2018-07-03 10:50:03 · 687 阅读 · 0 评论 -
详解 Kubernetes ReplicaSet 的实现原理
Kubernetes 中的 ReplicaSet 主要的作用是维持一组Pod副本的运行,它的主要作用就是保证一定数量的 Pod 能够在集群中正常运行,它会持续监听这些 Pod 的运行状态,在 Pod 发生故障重启数量减少时重新运行新的 Pod 副本。这篇文章会介绍 ReplicaSet 的工作原理,其中包括在 Kubernetes 中是如何被创建的、如何创建并持有 Pod 并在出现问题时重...转载 2019-06-06 14:35:52 · 1313 阅读 · 0 评论