• DevOps
  • devops 在arm的机器上无法正常安装

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。
发帖前请点击 发表主题 右边的 预览(👀) 按钮,确保帖子格式正确。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
eks+arm node group

Kubernetes版本信息
1.30。2节点。

KubeSphere版本信息
4.1.2。已有K8s安装还是全套安装。

问题是什么
部署完后kubesphere后部署devops在部署devops-agent-argocd-applicationset-controller的时候报错,我看日志是不支持arm的日志

    yswtrue quay.io 镜像仓库里没有这个镜像 arm 版本的;可以手动编辑下 Deployment devops-agent-argocd-applicationset-controller,更新下 image 为 kubespheredev/argocd-applicationset-arm64:v0.4.1。

    对arm完全不兼容的。不止这个镜像没有,还有一堆问题:

    1.inbound-agent:4.10-2也不兼容arm,流水线启动maven的时候inbound-agent异常且总是自动挂掉死循环重启。

    2.maven容器不兼容jdk8。jenkins/inbound-agent:4.10-2是jdk11,如果jenkins/inbound-agent:4.10-2-jdk8虽然是jdk8但不兼容arm,用官方的重构arm镜像也是没用,依赖的jenkins/agent也是不兼容jdk8,需要父镜像重新构建后才能使用。

    3.kubesphere/builder-maven:v3.2.0-podman 不能执行podman的命令。

    --如果要执行则需要使用base容器,则无法使用maven相关命令,

    --如果使用maven容器则没有podman相关命令

    相关异常信息如下:

    An agent attempted to look up secret patterns from the controller, which is unsupported. Falling back to basic implementation that may not mask common transformations of the secret. This workaround will be removed in a future release. This is a bug in the plugin calling SecretPatterns#getAggregateSecretPattern(String) and should be reported to its maintainers. The plugin can be identified through the stacktrace below.

    java.lang.RuntimeException

    at org.jenkinsci.plugins.credentialsbinding.masking.SecretPatterns.getSecretPatternFactories(SecretPatterns.java:80)
    
    at org.jenkinsci.plugins.credentialsbinding.masking.SecretPatterns.getAggregateSecretPattern(SecretPatterns.java:62)
    
    at org.csanchez.jenkins.plugins.kubernetes.pipeline.SecretsMasker.lambda$decorate$0(SecretsMasker.java:72)
    
    at org.jenkinsci.plugins.credentialsbinding.masking.SecretPatterns$MaskingOutputStream.eol(SecretPatterns.java:122)
    
    at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:61)
    
    at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:57)
    
    at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:75)
    
    at java.base/java.io.PrintStream.write(Unknown Source)
    
    at java.base/sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
    
    at java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
    
    at java.base/sun.nio.cs.StreamEncoder.flushBuffer(Unknown Source)
    
    at java.base/java.io.OutputStreamWriter.flushBuffer(Unknown Source)
    
    at java.base/java.io.PrintStream.newLine(Unknown Source)
    
    at java.base/java.io.PrintStream.println(Unknown Source)
    
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:790)
    
    at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:158)
    
    at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:151)
    
    at hudson.remoting.UserRequest.perform(UserRequest.java:211)
    
    at hudson.remoting.UserRequest.perform(UserRequest.java:54)
    
    at hudson.remoting.Request$2.run(Request.java:376)
    
    at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
    
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    
    at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:122)
    
    at java.base/java.lang.Thread.run(Unknown Source)

    流水线执行到podman ps的时候异常信息

    podman ps

    time=“2024-10-28T09:00:51Z” level=warning msg=“\”/\“ is not a shared mount, this could cause issues or missing mounts with rootless containers”

    Error: cannot re-exec process to join the existing user namespace