创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
物理机,Ubuntu20.04

Kubernetes版本信息
1.23.10

容器运行时
docker

KubeSphere版本信息
V3.4.0

问题是什么
问题背景:nodejs构建时提示内存不足,故考虑增加默认Pod中limit.memory的上限zhi

处理办法:找到k8s的默认Pod Template的base和nodejs的模板,修改了【Raw YAML for the Pod】的配置,limit下新增了【memroy: 8Gi】

现象:重新运行流水线后,发现一直处于运行状态,查看devops-worker下的agent Pod时,发现jnlp的容器启动异常

流水线日志提示kubesphere-devops-worker/keyanhrtnwnc-keyanhr-front-60-vdzbd-cthnz-cj998 Container jnlp was terminated (Exit Code: 1, Reason: Error)

查看jnlp容器的日志提示

sleep: invalid time interval ‘221f2b4677197c853470382f65ab0e5c4975a8e343025ce92a9b13b8796d6dee’

sleep: invalid time interval ‘keyanhrtnwnc-keyanhr-front-61-kgcld-pw4b5-3nqk1’

Try 'sleep --help' for more information.

且出现多个处于删除中的pod

在排错的过程发现并总结了以下两个问题:

  1. 默认的Pod Template模板,不能修改里面的参数,如果修改了,就会出现jnlp启动报错,而且将修改的配置再回复成原来的,也一样报错
  2. 新增Pod Template后,devops-jenkins的容器重启后,这些模板未被保护

    zbjjyy devops-jenkins 的 PodTemplate 模版的是从 configmap jenkins-casc-config 同步的,如果需要修改模板配置,在此处修改 jenkins_user.yaml 下的 containers 的配置,然后等待 70s 左右使修改生效;

    可以在此处修改 jnlp 的配置,如果修改后再出现启动报错,然后根据报错信息排查即可。

      yudong

      感谢大佬,按照你的配置,可以实现。

      另外再请教以下,如果想要新增模板,是否也只能在jenkins_user.yaml下新增才能够实现持久化模板配置呀?

        1 年 后

        yudong
        您好,我在config看jnlp的image確實在我的私有倉庫中
        但是pipeline自動起來的jnlp卻是docker.io的而不是吃到config image

        有什麼修改方式嗎