kubernetes
文章平均质量分 64
For_Master
作者很懒,什么都没有留下,他可能去打王者了
展开
-
Helm安装失败,“渲染的清单包含已存在的资源”(ClusterRole)
clusterrole 资源清单 already exists原创 2022-05-24 16:47:01 · 5928 阅读 · 0 评论 -
亲和性(affinity) 如何理解拓扑域(topologyKey)?
亲和性(affinity) 如何理解拓扑域(topologyKey)?官方描述pod 间亲和性与反亲和性官方描述pod 间亲和性与反亲和性 Pod 间亲和性与反亲和性的规则格式为“如果 X 上已经运行了一个或多个满足规则 Y 的 Pod, 则这个 Pod 应该(或者在反亲和性的情况下不应该)运行在 X 上”。 这里的 X 可以是节点、机架、云提供商可用区或地理区域或类似的拓扑域, Y 则是 Kubernetes 尝试满足的规则。最终pod调度到哪里的范围就是拓扑域。k8s根据用户的匹配规则获取到一原创 2022-05-05 19:05:04 · 1335 阅读 · 0 评论 -
容器中配置的command和args 和Dockerfiler中的entrypoint,cmd的生效规则
区别如下:如果容器中配置了command,那么就使用容器中的command,参数args如果配置了则使用,如果没有配置,就不带参数执行command如果容器中没有配置command,只是配置了args:使用Dockerfile中提供的命令,参数使用容器中配置的args如果容器中command,args都没有配置:使用Dockerfile中的默认配置总体来可以这样来记:以容器配置优先,Dockerfile配置补充。果只有command,则执行无参数命令。关于entrypoint 和 cmd的配置原创 2021-10-29 10:10:43 · 824 阅读 · 0 评论 -
kubernetes 中的使用的缓存 ---lru.Cache
lru.Cachelru 源码位置 https://github.com/golang/groupcache/tree/master/lruLRU(Least Recently Used)特点:即最近最少使用,优先移除最久未使用的数据,按时间维度衡量。数据结构:双向链表和HashMap淘汰原则:根据缓存数据使用的时间,将最不经常使用的缓存数据优先淘汰。如果一个数据在最近一段时间内都没有被访问,那么在将来他被访问的可能性也很小先看一下Cache代码结构type Cache struct {原创 2021-09-01 16:41:59 · 332 阅读 · 0 评论 -
kubernetes 事件(Events)源码分析(四)---事件处理逻辑
事件处理这里把对事件的处理单独出来分析,之前主要是分析事件从上报到最终每个watcher里面执行处理。对于事件的处理k8s并不是简单的做了发送kube-apiserver,还有一个压缩的逻辑。先回顾一下3个注册方法:StartRecordingToSink()StartLogging()StartStructuredLogging()func (e *eventBroadcasterImpl) StartLogging(logf func(format string, args ...inter原创 2021-09-01 09:44:11 · 632 阅读 · 0 评论 -
kubernetes 事件(Event)源码分析(三)---三大杀器之EventBroadcaster&broadcasterWatcher
EventBroadcasterEventBroadcaster 接口有以下方法:// EventBroadcaster knows how to receive events and send them to any EventSink, watcher, or log. type EventBroadcaster interface { StartEventWatcher(eventHandler func(*v1.Event)) watch.Interface #启动原创 2021-08-27 17:58:27 · 560 阅读 · 0 评论 -
kubernetes 事件(Event )源码分析(一)---总章/使用
首先展示一张大致的流程图来说明k8s记录事件的大致流程,否则后面一头扎进代码里面可能会看懵圈。下面是一段使用示例,可以自己写一下,然后根据示例来一层层分析代码,每一步我都做了简单的注释,清晰明了 broadcaster := record.NewBroadcaster() #创建广播 broadcaster.StartLogging (func(format string, args ...interface{}) { #注册watcher klog.Info(fmt.Sprint原创 2021-08-27 17:52:14 · 351 阅读 · 0 评论 -
kubernetes 事件(Event)源码分析(二)---三大杀器之EventRecorder
EventRecorderEventRecorder 接口,拥有3种记录方式:Event(object runtime.Object, eventtype, reason, message string)Eventf(object runtime.Object, eventtype, reason, messageFmt string, args ...interface{})AnnotatedEventf(object runtime.Object, annotations map[string]原创 2021-08-27 17:50:51 · 464 阅读 · 0 评论 -
k8s network policy配置,看这篇就够了
这是一篇关于k8s的网络策略配置说明用户在使用k8s中,有对网络策略的配置需求,有时候希望不同的namespace之间不能互相访问,但是我们知道k8s中所有的pod之间都是可以互相访问的,这个时候就需要网络策略来帮助我们实现这个诉求,网络策略依赖于cni网络插件,不是所有的网络插件都支持网络策略,calico支持网络策略,而flannel不支持。接下来我以一张图来说明k8s的networkpolicy资源的配置整个图总接下来如下:入口规则: 仅允许 1.来自(from)命名空间(spec原创 2021-06-10 12:40:55 · 6401 阅读 · 0 评论 -
执行kubectl exec 报错
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-05-11 16:53:15 · 2457 阅读 · 1 评论