一、背景信息

k8s 安装方式 二进制
k8s 版本 1.23.17
服务器系统版本 Centos7
机器 虚拟机-VMware

二、问题

2.1 问题一

2.1.1 问题概述

Devops实践章节-自动化构建 Java 应用中定义 Kubernetes 资源通过yaml创建资源Pod发生报错,具体现象为Pod显示Running但是READY不为1/1

image-20230501214132972

image-20230501212917983

2.1.2 日志报错信息

系统报错日志如下:

image-20230501213239528

kubectl get po -nkube-system -owide 结果如下

image-20230501213516363

kubectl get svc 结果如下:

image-20230501213612103

异常容器日志如下:

image-20230501213809469

image-20230501215124694

2.1.3 尝试方法

怀疑虚拟机性能问题,添加sleep时间,无效

2.2 问题二

2.2.1 问题概述

Devops实践章节-自动化构建 Java 应用中发版时,Pod一直重建删除

image-20230501220418505

image-20230501215659846

2.2.2 日志报错信息

系统报错日志如下:

image-20230501215822770

kubectl get po -nkube-system -owide 结果如下

image-20230501215822771

kubectl get svc 结果如下:

image-20230501213612103

异常容器日志如下:

May 01, 2023 1:18:59 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Performing onReconnect operation.
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: onReconnect operation completed.
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://192.168.1.36:8080/]
May 01, 2023 1:19:09 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
  Agent address: 192.168.1.36
  Agent port:    50000
  Identity:      76:78:cc:2c:a7:d9:a1:b1:36:04:9b:10:c5:c8:25:0d
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to 192.168.1.36:50000
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Remote identity confirmed: 76:78:cc:2c:a7:d9:a1:b1:36:04:9b:10:c5:c8:25:0d
May 01, 2023 1:19:09 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected
May 01, 2023 1:19:09 PM hudson.remoting.UserRequest perform
WARNING: LinkageError while performing UserRequest:hudson.slaves.SlaveComputer$SlaveVersion@8213ea3
java.lang.UnsupportedClassVersionError: Failed to load hudson.slaves.SlaveComputer$SlaveVersion
    at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:385)
    at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:134)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1868)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
    at hudson.remoting.UserRequest.deserialize(UserRequest.java:291)
    at hudson.remoting.UserRequest.perform(UserRequest.java:190)
    at hudson.remoting.UserRequest.perform(UserRequest.java:54)
    at hudson.remoting.Request$2.run(Request.java:369)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsupportedClassVersionError: hudson/slaves/SlaveComputer$SlaveVersion has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
    at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:383)
    ... 21 more

2.2.3 尝试方法

1.把 Jenkinsfile 里面 jnlp 的镜像 tag 从 alpine 改成 latest-jdk11,会直接提示找不到

image-20230501211342870

  1. Jenkins URL配置,填写自己的jenkins url,没有效果

image-20230501220723469

2.2.4 解决方案

1.Java Version 问题,需要把 Jenkinsfile 里面 jnlp 的镜像 tag 从 alpine 改成 latest-jdk11

'registry.cn-beijing.aliyuncs.com/dotbalo/jnlp:latest-jdk11'

2.3 问题三

2.3.1 问题概述

自动发版完成后,Pod起不来,拉取不到镜像

image-20230502102145003

2.3.2 日志报错信息

kubectl describe  po spring-boot-project-55fd9f88c4-qhnzn  -n kubernetes

image-20230502101706251

2.3.3 尝试方法

1.检查自身防火墙是否关闭,发现已关闭

2.检查项目是否为公开,项目为已公开且部署安全已关闭

image-20230502102430234

3.本地环境拉取镜像,检查可以正常拉取