![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
文章平均质量分 72
bebc
这个作者很懒,什么都没留下…
展开
-
(译)Kubernetes 如何控制你的集群
Kubernetes is the most popular container orchestrator by far. Much of its success comes from its reliability. All software has bugs. Kubernetes is somehow less buggy than alternatives when it comes to running your containers.翻译 2023-02-12 17:10:38 · 173 阅读 · 0 评论 -
kubernetes的垃圾回收机制(资源对象删除机制)
k8s中,在删除deployment的时候,deployment从属的replicaset也会被删除,这背后就是垃圾收集器控制器在起作用原创 2023-01-25 16:31:34 · 1395 阅读 · 0 评论 -
自动生成webhook组件证书
在开发监控operator的时候,如果项目带有webhook功能,如何部署时自动生成证书原创 2023-01-18 20:17:24 · 1498 阅读 · 1 评论 -
device-plugin组件原理介绍
一:device-plugin能做什么:在k8s中使用gpu资源和设备过程中想到如下几个问题:1.如何在不修改k8s任何组件的情况下引入除cpu,memory外的第三方资源2.kubelet在创建docker的时候如何让docker使用到node的gpu资源。3.k8s在调度任务的时候如何识别到第三方资源(上层调度器如何看到底层资源和设备)。针对引入第三方资源的问题,社区给出了解决方案:community/device-plugin.md at master · kubernetes/c原创 2021-10-06 21:02:13 · 2359 阅读 · 2 评论 -
scheduler优选算法中的map-reduce
查看k8s1.16scheduler的代码中发现其中有这么一段代码:pkg/scheduler/core/generic_scheduler.go:730results := make([]schedulerapi.HostPriorityList, len(priorityConfigs), len(priorityConfigs)) // DEPRECATED: we can remove this when all priorityConfigs implement the // M.原创 2021-09-21 19:11:03 · 228 阅读 · 0 评论 -
使用controller-runtime开发简单的controller
kubebuilder和operator-sdk都是在controller-runtime基础上做了一层封装,如果不需要自定义crd资源,只是使用k8s现有的resource做一些自定义的开发,可以直接使用controller-runtime快速开发。这里我们实现一个对namespace打上label就创建对应的service功能。 首先先初始化一个manager,manager的作用是用来管理controller var namespace string var m...原创 2021-02-14 17:02:30 · 2211 阅读 · 2 评论 -
client-go阅读和使用(三) informer机制
kubernetes并没有使用传统的消息队列来传递消息,而是使用了informer机制来实现各模块间的消息传递,每个资源对象都实现了一套自己的informer,如下图:原创 2020-08-16 11:06:57 · 703 阅读 · 0 评论 -
client-go阅读和使用(一) Client客户端对象
1.RESTClient客户端最基础的客户端。其他客户端都是基于它实现。ClientSet客户端2.ClientSet客户端最经常使用的客户端。需要提前知道Resource所在的Group和对应的Version信息。 不能直接访问CRD资源。需要通过client-gen重新生成ClientSet才能访问。// Clientset contains the clients for groups. Each group has exactly one// version included in原创 2020-08-09 20:01:29 · 1342 阅读 · 0 评论 -
使用client-go 之dynamicclient(二)
在开发中碰到一个场景,在一个yaml文件中同时定义了deployment和service两种资源类型(可能还有更多个),原创 2020-05-15 16:22:38 · 1987 阅读 · 5 评论 -
容器网络实验(二):模拟flannel vxlan模式
前置知识: FDB表:Forwarding DataBase,相当于交换机的mac表 实验拓扑 创建vxlan网卡(注意vxlan0的mac地址,后面手动添加arp和fdb表需要用到) host1:ip link add vxlan0 type vxlan id 42 dstport 4789 local 192.168.120.128 dev ens33 ...原创 2020-01-31 13:23:12 · 786 阅读 · 0 评论 -
容器化redis-cluster使用(一)集群自身ip变化更新问题
最近把redis-cluster集群迁移到了k8s上后发生了一个问题,当一个pod重启后,java程序报错,连不上redis服务器。我们查看集群状态后发现,当pod重启后,pod的ip发生了改变(我们并没有固定redis-cluster的pod的ip),去非重启pod使用cluster nodes查看集群信息,一切正常,但在重启pod节点查看集群信息,发现集群信息中使用的还是重启前的p...原创 2019-09-17 10:43:19 · 9933 阅读 · 3 评论