首页
学习
活动
专区
工具
TVP
发布

Kubernetes

聚焦Kubernetes的深入分析、源码分析等,及其在AI、DevOps、微服务等领域应用。
专栏作者
109
文章
263172
阅读量
210
订阅数
腾讯会议全量上TKE的技术实践
腾讯会议,一款联合国都Pick的线上会议解决方案,提供完美会议品质和灵活协作空间,广泛应用在政府、医疗、教育、企业等各个行业。大家从文章8天扩容100万核,腾讯会议是如何做到的?都知道腾讯会议背后的计算资源已过百万核,如此体量的业务,如何通过云原生技术提升研发和运维效率,是一个非常有价值的课题。这里我将为大家揭秘腾讯自研上云容器平台TKEx在支持腾讯会议全量云原生化上云背后的技术。
Walton
2020-06-21
2.8K0
40天14大版本升级,腾讯会议背后大规模容器技术实践
腾讯会议作为面向企业级的关键产品,对产品的可用性和稳定性要求是非常高的,任何服务不稳定都可能会导致用户无法接入会议、会议中断或音视频质量差,从而导致用户投诉,影响到产品口碑,降低用户信任度。
Walton
2020-03-17
1.9K0
Docker及Kubernetes下device使用和分析
Docker有两种方式访问设备,一种是使用特权模式,一种是通过--device指定要访问的设备。
langwu 吴英文
2019-09-16
9.3K1
如何在Kubernetes中实现容器原地升级
在Docker的世界,容器镜像作为不可变基础设施,解决了环境依赖的难题,而Kubernetes将这提升到了Pod的高度,希望每次应用的更新都通过ReCreate Pod的方式完成,这个理念是非常好的,这样每次ReCreate都是全新的、干净的应用环境。对于微服务的部署,这种方式并没有带来多大的负担,而对于传统应用的部署,一个Pod中可能包含了主业务容器,还有不可剥离的依赖业务容器,以及SideCar组件容器等,这时的Pod就显得很臃肿了,如果因为要更新其中一个SideCar Container而继续按照ReCreate Pod的方式进行整个Pod的重建,那负担还是很大的,体现在:
Walton
2019-04-15
6.3K0
使用Dubbo+Kubernetes部署线上的TensorFlow Serving服务
TensorFlow Serving服务在Kubernetes集群中的部署方案,如果是从零开始建设,那么可以通过Kubernetes原生的Service+KubeDNS实现服务的注册与发现,并通过对接LVS集群进行负载均衡。因此我们在TaaS中开发了Kube2LVS模块,负责对TensorFlow Serving服务进行ListAndWatch,实现TensorFlow Serving Service Info动态reload到LVS config中。
Walton
2019-03-12
2K0
关注专栏作者,随时接收最新技术干货
Walton
Tencent专家工程师
老七Linux
FCLASSROOM运维开发
Howardshaw
Tencent
langwu 吴英文
腾讯公司高级开发工程师
Kubernetes中Pod间共享内存方案
自研的公共基础组件,比如服务路由组件、安全组件等,通常以进程方式部署在Node上并同时为Node上所有的业务提供服务,微服务及容器化之后,服务数量成百上千的增长,如果以sidecar或者打包到业务Image中继续Per Pod Per Agent的方式部署, 那么基础组件的Server端的压力可能也会成百上千的增长,风险是很大的。因此,我们希望能以DaemonSet方式部署这些组件的Agents。
Walton
2019-02-19
4.6K0
深度解析Kubernetes Local Persistent Volume(一)
摘要:本文分析了hostPath volume缺陷,然后对local persistent volume的使用场景、基本的工作机制进行了分析,介绍了使用时的注意事项,并简单介绍local volume manager如何帮助administrator进行local persistent volume的生命周期管理的。
Walton
2018-08-25
5.9K0
Kubernetes ReplicationController源码分析
虽然在Kubernetes v1.2中,Kubernetes推出了Deployments特性,Deployment通过创建ReplicaSet来管理Pod,ReplicaSet被视为下一代ReplicationController。但实际上ReplicaSet和ReplicationController区别仅仅是其Selector支持的类型不同。 ReplicaSet既支持equality-based selector requirements,也支持set-based selector requirem
Walton
2018-04-16
1.9K0
Kubernetes对Container Capabilities的支持
Docker Container Capabilities 在docker run命令中,我们可以通过--cap-add和--cap-drop来给容器添加linux Capabilities。下面表格中的列出的Capabilities是docker默认给容器添加的,用户可以通过--cap-drop去除其中一个或者多个。 Docker’s capabilitiesLinux capabilitiesCapability Description SETPCAPCAP_SETPCAPModify pro
Walton
2018-04-16
3.8K0
Kubernetes Eviction Manager源码分析
Kubernetes Eviction Manager介绍及工作原理 这部分内容,请看我的前一篇博文:Kubernetes Eviction Manager工作机制分析 Kubernetes Eviction Manager源码分析 Kubernetes Eviction Manager在何处启动 Kubelet在实例化一个kubelet对象的时候,调用eviction.NewManager新建了一个evictionManager对象。 pkg/kubelet/kubelet.go:273 func New
Walton
2018-04-16
2.4K1
Kubernetes Eviction Manager工作机制分析
研究过Kubernetes Resource QoS的同学,肯定会有一个疑问:QoS中会通过Pod QoS和OOM Killer进行资源的回收,当发生资源紧缺的时候。那为什么Kubernetes会再搞一个Kubelet Eviction机制,来做几乎同样的事呢? 首先,我们来谈一下kubelet通过OOM Killer来回收资源的缺点: System OOM events本来就是对资源敏感的,它会stall这个Node直到完成了OOM Killing Process。 当OOM Killer干掉某些cont
Walton
2018-04-16
1.7K0
kube-proxy源码分析
##kube-proxy介绍 请参考我的另一篇博文:kube-proxy工作原理 ##源码目录结构分析 cmd/kube-proxy //负责kube-proxy的创建,启动的入口 . ├── app │   ├── conntrack.go //linux kernel的nf_conntrack-sysctl的interface定义,更多关于conntracker的定义请看https://www.kernel.org/doc/Documentation/networking/nf_con
Walton
2018-04-16
2.2K0
kube-proxy工作原理
kube-proxy & service必要说明 说到kube-proxy,就不得不提到k8s中service,下面对它们两做简单说明: kube-proxy其实就是管理service的访问入口,包括集群内Pod到Service的访问和集群外访问service。 kube-proxy管理sevice的Endpoints,该service对外暴露一个Virtual IP,也成为Cluster IP, 集群内通过访问这个Cluster IP:Port就能访问到集群内对应的serivce下的Pod。 servic
Walton
2018-04-16
9.6K1
kubelet最佳配置
author: garnett.wang@gmail.com kubernetes version: 1.6.2 Kubelet Configurations We Should Care About 下面是我梳理的,我认为必须关注的flag。 flagvalue --address0.0.0.0 --allow-privilegedfalse --cadvisor-port int324194 --cgroup-driver stringcgroupfs --cluster-dns stringS
Walton
2018-04-16
2.4K0
使用DaemonSet+Taint/Tolerations+NodeSelector部署Nginx Ingress Controller
在Kuberntes Cluster中准备N个节点,我们称之为代理节点。在这N个节点上只部署Nginx Ingress Controller(简称NIC)实例,不会跑其他业务容器。 给代理节点打上NoExecute Taint,防止业务容器调度或运行在这些节点。 # 给代理节点打上NoExecute Taint $kubectl taint nodes 192.168.56.105 LB=NIC:NoSchedule 给代理节点打上Label,让NIC只部署在打了对应Lable的节点上。
Walton
2018-04-16
1.6K0
深度剖析Kubernetes动态准入控制之Initializers
Author: xidianwangtao@gmail.com Admission Controll的最佳配置 配置过kube-apiserver的同学一定记得这个配置--admission-control或者--admission-control-config-file,你可以在这里顺序的配置你想要的准入控制器,默认是AlwaysAdmit。 在Kubernetes 1.9中,所有允许的控制器列表如已经支持多达32个: AlwaysAdmit, AlwaysDeny, AlwaysPullImag
Walton
2018-04-16
1.6K0
cluster-proportional-autoscaler源码分析及如何解决KubeDNS性能瓶颈
Author: xidianwangtao@gmail.com 工作机制 cluster-proportional-autoscaler是kubernetes的孵化项目之一,用来根据集群规模动态的扩缩容指定的namespace下的target(只支持RC, RS, Deployment),还不支持对StatefulSet。目前只提供两种autoscale模式,一种是linear,另一种是ladder,你能很容易的定制开发新的模式,代码接口非常清晰。 cluster-proportional-autoscal
Walton
2018-04-16
1.5K0
如何在Kubernetes集群中利用GPU进行AI训练
Author: xidianwangtao@gmail.com 注意事项 截止Kubernetes 1.8版本: 对GPU的支持还只是实验阶段,仍停留在Alpha特性,意味着还不建议在生产环境中使用Kubernetes管理和调度GPU资源。 只支持NVIDIA GPUs。 Pods不能共用同一块GPU,即使同一个Pod内不同的Containers之间也不能共用同一块GPU。这是Kubernetes目前对GPU支持最难以接受的一点。因为一块PU价格是很昂贵的,一个训练进程通常是无法完全利用满一块GPU的
Walton
2018-04-16
2.6K0
原 荐 浅析Kubernetes State
StatefulSet和Deployment的区别 “Deployment用于部署无状态服务,StatefulSet用来部署有状态服务”。 具体的,什么场景需要使用StatefulSet呢?官方给出的建议是,如果你部署的应用满足以下一个或多个部署需求,则建议使用StatefulSet。 稳定的、唯一的网络标识。 稳定的、持久的存储。 有序的、优雅的部署和伸缩。 有序的、优雅的删除和停止。 有序的、自动的滚动更新。 稳定的主要是针对Pod发生re-schedule后仍然要保持之前的网络标识和持久化存储。这里
Walton
2018-04-16
1.5K0
原 荐 Flannel是如何工作的
Author: xidianwangtao@gmail.com 概述 最近我们的TaaS平台遇到很多的网络问题,事实证明“contiv + ovs + vlan”的方案并不适合TaaS这种大规模高并发的场景,填不完的坑,当然DevOps场景下是没什么问题的。时间紧迫,只能使用“Flannel + host-gw”这个简单、稳定的网络方案搭建一个小规模的集群来作为紧急备选方案。趁这个机会,也学习一下前两年因性能差,广为诟病而一直不敢碰的Flannel如今是怎么个样子。经过春节半个月的稳定测试、压力测试证
Walton
2018-04-16
4.9K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档