腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
田飞雨的专栏
专注 k8s 云原生实践 个人博客:https://blog.tianfeiyu.com/
专栏作者
举报
88
文章
174372
阅读量
54
订阅数
订阅专栏
申请加入专栏
全部文章(88)
kubernetes(62)
go(40)
node.js(28)
https(24)
网络安全(22)
api(18)
容器(14)
编程算法(12)
http(11)
缓存(9)
容器镜像服务(8)
tcp/ip(7)
命令行工具(6)
负载均衡(4)
git(4)
linux(4)
负载均衡缓存(4)
NAT 网关(4)
数据分析(4)
nat(4)
android(3)
ide(3)
github(3)
私有网络(2)
c++(2)
bash(2)
数据库(2)
nginx(2)
SSL 证书(2)
云推荐引擎(2)
dns(2)
jenkins(2)
openapi(2)
官方文档(1)
javascript(1)
bootstrap(1)
access(1)
unix(1)
文件存储(1)
存储(1)
开源(1)
分布式(1)
迁移(1)
etcd(1)
搜索文章
搜索
搜索
关闭
kubernetes 中 Evicted pod 是如何产生的
node.js
unix
kubernetes
https
网络安全
最近在线上发现很多实例处于 Evicted 状态,通过 pod yaml 可以看到实例是因为节点资源不足被驱逐,但是这些实例并没有被自动清理,平台的大部分用户在操作时看到服务下面出现 Evicted 实例时会以为服务有问题或者平台有问题的错觉,影响了用户的体验。而这部分 Evicted 状态的 Pod 在底层关联的容器其实已经被销毁了,对用户的服务也不会产生什么影响,也就是说只有一个 Pod 空壳在 k8s 中保存着,但需要人为手动清理。本文会分析为什么为产生 Evicted 实例、为什么 Evicted 实例没有被自动清理以及如何进行自动清理。
田飞雨
2021-10-08
4.5K
0
kubernetes 中的增强特性(Kubernetes Enhancement Proposal)
node.js
kubernetes
etcd
go
缓存
kubernetes 增强特性(kep)是为了解决社区中的疑难问题而创建的一个项目,每一个增强特性都对 kubernetes 的部分功能有较大的影响,需要 kubernetes 项目下的多个组(SIG)协作开发,对应的特性通常要经过 alpha、beta以及 GA 三个版本,所以每个方案的开发周期比较长,大多需要经过 9~10 个月才能完成,某些特性甚至已经讨论多年至今仍未开发完成,像 crd、dry-run、kubectl diff、pid limit 等已经开发完成的功能都是在 kep 中提出来的。本文会介绍几个比较重要的已经在 kep 中孵化的特性。
田飞雨
2020-04-15
1.2K
0
kube-apiserver 中 apiserver service 的实现
bootstrap
go
kubernetes
tcp/ip
node.js
在 kubernetes,可以从集群外部和内部两种方式访问 kubernetes API,在集群外直接访问 apiserver 提供的 API,在集群内即 pod 中可以通过访问 service 为 kubernetes 的 ClusterIP。kubernetes 集群在初始化完成后就会创建一个 kubernetes service,该 service 是 kube-apiserver 创建并进行维护的,如下所示:
田飞雨
2020-03-06
2.6K
0
kube-apiserver 的设计与实现
api
openapi
kubernetes
go
android
kube-apiserver 是 kubernetes 中与 etcd 直接交互的一个组件,其控制着 kubernetes 中核心资源的变化。它主要提供了以下几个功能:
田飞雨
2020-02-27
2.6K
0
kubelet 中垃圾回收机制的设计与实现
容器
kubernetes
go
node.js
本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。
田飞雨
2020-02-17
1.4K
0
kubernetes 中 Qos 的设计与实现
http
kubernetes
go
QoS(Quality of Service) 即服务质量,QoS 是一种控制机制,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准。kubernetes 中有三种 Qos,分别为:
田飞雨
2020-02-14
3.1K
1
job controller 源码分析
kubernetes
go
job 在 kubernetes 中主要用来处理离线任务,job 直接管理 pod,可以创建一个或多个 pod 并会确保指定数量的 pod 运行完成。kubernetes 中有两种类型的 job,分别为 cronjob 和 batchjob,cronjob 类似于定时任务是定时触发的而 batchjob 创建后会直接运行,本文主要介绍 batchjob,下面简称为 job。
田飞雨
2020-02-10
780
0
kubelet 启动流程分析
kubernetes
go
http
命令行工具
本来这篇文章会继续讲述 kubelet 中的主要模块,但由于网友反馈能不能先从 kubelet 的启动流程开始,kubelet 的启动流程在很久之前基于 v1.12 写过一篇文章,对比了 v1.16 中的启动流程变化不大,但之前的文章写的比较简洁,本文会重新分析 kubelet 的启动流程。
田飞雨
2020-01-05
2.1K
0
garbage collector controller 源码分析
node.js
kubernetes
go
在前面几篇关于 controller 源码分析的文章中多次提到了当删除一个对象时,其对应的 controller 并不会执行删除对象的操作,在 kubernetes 中对象的回收操作是由 GarbageCollectorController 负责的,其作用就是当删除一个对象时,会根据指定的删除策略回收该对象及其依赖对象,本文会深入分析垃圾收集背后的实现。
田飞雨
2019-12-31
1K
0
kubelet statusManager 源码分析
kubernetes
go
缓存
本篇文章没有接上篇继续更新 kube-controller-manager,kube-controller-manager 的源码阅读笔记也会继续更新,笔者会同时阅读多个组件的源码,阅读笔记也会按组件进行交叉更新,交叉更新的目的一是为了加深印象避免阅读完后又很快忘记,二是某些代码的功能难以理解,避免死磕,但整体目标是将每个组件的核心代码阅读完。
田飞雨
2019-12-26
1.6K
0
kube-scheduler 优先级与抢占机制源码分析
node.js
编程算法
go
kubernetes
前面已经分析了 kube-scheduler 的代码逻辑以及 predicates 与 priorities 算法,本节会继续讲 scheduler 中的一个重要机制,pod 优先级与抢占机制(Pod Priority and Preemption),该功能是在 v1.8 中引入的,v1.11 中该功能为 beta 版本且默认启用了,v1.14 为 stable 版本。
田飞雨
2019-12-20
838
0
replicaset controller 源码分析
kubernetes
go
在前面的文章中已经分析过 kubernetes 中多个组件的源码了,本章会继续解读 kube-controller-manager 源码,kube-controller-manager 中有数十个 controller,本文会分析最常用到的 deployment controller。
田飞雨
2019-12-20
736
0
deployment controller 源码分析
kubernetes
go
在前面的文章中已经分析过 kubernetes 中多个组件的源码了,本章会继续解读 kube-controller-manager 源码,kube-controller-manager 中有数十个 controller,本文会分析最常用到的 deployment controller。
田飞雨
2019-12-20
2K
0
kube-on-kube-operator 开发(一)
kubernetes
node.js
api
容器
私有网络
kubernetes 已经成为容器时代的分布式操作系统内核,目前也是所有公有云提供商的标配,在国内,阿里云、腾讯云、华为云这样的公有云大厂商都支持一键部署 kubernetes 集群,而 kubernetes 集群自动化管理则是迫切需要解决的问题。对于大部分不熟悉 kubernetes 而要上云的小白用户就强烈需要一个被托管及能自动化运维的集群,他们平时只是进行业务的部署与变更,只需要对 kubernetes 中部分概念了解即可。同样在私有云场景下,笔者所待过的几个大小公司一般都会维护多套集群,集群的运维工作就是一个很大的挑战,反观各大厂同样要有效可靠的管理大规模集群,kube-on-kube-operator 是一个很好的解决方案。
田飞雨
2019-12-20
894
0
使用 code-generator 为 CustomResources 生成代码
kubernetes
https
数据分析
网络安全
api
笔者最初接触 kubernetes 时使用的是 v1.4 版本,集群间的通信仅使用 8080 端口,认证与鉴权机制还未得到完善,到后来开始使用 static token 作为认证机制,直到 v1.6 时才开始使用 TLS 认证。随着社区的发展,kubernetes 的认证与鉴权机制已经越来越完善,新版本已经全面趋于 TLS + RBAC 配置,但其认证与鉴权机制也极其复杂,本文将会带你一步步了解。
田飞雨
2019-12-20
964
0
浅析 kubernetes 的认证与鉴权机制
kubernetes
https
数据分析
网络安全
api
笔者最初接触 kubernetes 时使用的是 v1.4 版本,集群间的通信仅使用 8080 端口,认证与鉴权机制还未得到完善,到后来开始使用 static token 作为认证机制,直到 v1.6 时才开始使用 TLS 认证。随着社区的发展,kubernetes 的认证与鉴权机制已经越来越完善,新版本已经全面趋于 TLS + RBAC 配置,但其认证与鉴权机制也极其复杂,本文将会带你一步步了解。
田飞雨
2019-12-20
1.2K
0
使用 kind 部署单机版 kubernetes 集群
kubernetes
github
https
git
开源
kubernetes 从一发布开始其学习门槛就比较高,首先就是部署难,用户要想学习 kubernetes 必须要过部署这一关,社区也推出了多个部署工具帮助简化集群的部署,社区中推出的部署工具主要目标有两大类,部署测试环境与生产环境,本节主要讲述测试环境的部署,目前社区已经有多套部署方案了:
田飞雨
2019-12-20
2.5K
0
使用 Go Modules 管理依赖
编程算法
go
kubernetes
https
git
Go Modules 是 Go 语言的一种依赖管理方式,该 feature 是在 Go 1.11 版本中出现的,由于最近在做的项目中,团队都开始使用 go module 来替代以前的 Godep,Kubernetes 也从 v1.15 开始采用 go module 来进行包管理,所以有必要了解一下 go module。go module 相比于原来的 Godep,go module 在打包、编译等多个环节上有着明显的速度优势,并且能够在任意操作系统上方便的复现依赖包,更重要的是 go module 本身的设计使得自身被其他项目引用变得更加容易,这也是 Kubernetes 项目向框架化演进的又一个重要体现。
田飞雨
2019-12-20
958
0
kubelet 启动流程分析
go
命令行工具
kubernetes
http
android
上篇文章(kubelet 架构浅析 )已经介绍过 kubelet 在整个集群架构中的功能以及自身各模块的用途,本篇文章主要介绍 kubelet 的启动流程。
田飞雨
2019-12-20
798
0
kubernetes 中 kubeconfig 的用法
kubernetes
access
用于配置集群访问信息的文件叫作 kubeconfig 文件,在开启了 TLS 的集群中,每次与集群交互时都需要身份认证,生产环境一般使用证书进行认证,其认证所需要的信息会放在 kubeconfig 文件中。此外,k8s 的组件都可以使用 kubeconfig 连接 apiserver,client-go 、operator、helm 等其他组件也使用 kubeconfig 访问 apiserver。
田飞雨
2019-12-20
1.8K
0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档