CYJiang
CYJiang
各位前辈好,我是新加入k8s_club的小夥伴,不知道这个issue是不是可以在上面提问交流的(如果不是我会另外开一个issue)。 在公司遇到个小场景就是,变更了deployment挂载的 cm后(cm的作用是给pod读取的一个配置文件),发现cm更新了, 但是deployment对应的pods里面的配置文件没有更新(仍然是旧的),只有把pod给删掉后,dep重起才会挂载新的。 我没有去观察过源码,但是感觉是不是deployment 监听的时候没有把cm 或是secret这种挂载资源 同时也监听到呀,cm变更了但dep没有发现。
https://yc931376pt.feishu.cn/docx/HsnSdqF4VoLsu2x5hnNc7TXMnFk 我用文档复现一下 大家有空可以参考一下
想请教一个小问题。reflector中主要逻辑是ListAndWatch方法,主要操作是list -> resync -> watch 其中list watch都很好理解 但是这个resync 我看源码里面是err := r.store.Resync()。 ``` // ListAndWatch first lists all items and get the resource version at the moment of call, // and...
打扰下各位,最近在开发自己项目的operator时遇到一个有趣的问题,想要让pod中的container中的顺序启动执行。 经过网上找了一下,k8s可以提供poststart字段来控制容器字段。但如果pod中有超过两个的容器且有顺序依赖性,那处理会变得比较复杂,看网上用户都要自己写一堆bash命令。想问问各位前辈对这个的看法,是不是觉得pod里或container里也可以有个字段或是类似优先级的概念来解决这个问题呢?感觉container[] 数组,如果是遍历execute,应该也是能实现的?(具体没有看过相关的源码,如果说错 很抱歉哈~)
刚刚在调用client-go的时候发现一个奇怪又有趣的现象:"使用client-go或informer调用资源对象"时,获取到的GVK都会变成空。 于是随意使用如下代码做个小demo。 ```go package main import ( "context" "fmt" //appsv1 "k8s.io/api/apps/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2" "time" ) /* kubeconfig中的默认配置 */ func main() { // kubeconfig 默认配置...
我小白式提问一下哈:突然想到 如果使用obj加入队列,能确保“整个pod”字段都不变吗?经过控制器调谐后 例如版本号这种应该也会变?这样哈希能哈希到原对象吗?
是的,我猜也是,这应该也是为什么 当我们在yaml提交资源的时候,我们修改资源的 name or namespace 时,不会被同意的原因吧?因为 controller 本身依赖 informer 而 informer 里面的机制又使用 / 当做 key,如果修改了很可能会有这种问题。
想问一下调度插件相关的问题哈~ 如果用了schedulerName: volcano 原本k8s内置的的调度功能还会起坐用吗? @NoicFank 你应该搞过类似的场景对吧 想问问
@lowang-bh Hello, may I ask if this will allocate a specific part?