代码之家  ›  专栏  ›  技术社区  ›  foobar

“在容器引擎上设置Jenkins”时无法启动容器

  •  0
  • foobar  · 技术社区  · 8 年前

    我正在学习这个教程 https://cloud.google.com/solutions/jenkins-on-container-engine-tutorial “创建Jenkins部署和服务”步骤失败

    我有一个错误:

    jenkins-0/1 rpc错误:code=2 desc=failed to start container“”:来自守护进程的错误响应:{“message”:“linux规范用户:无法找到用户jenkins:passwd文件中没有匹配的条目”}

    我得到了以下命令的结果:

    > kubectl apply -f jenkins/k8s/
    deployment "jenkins" configured
    service "jenkins-ui" configured
    service "jenkins-discovery" configured
    
    > get pods --namespace jenkins
    NAME                       READY     STATUS             RESTARTS   AGE
    jenkins-<some id>   0/1       CrashLoopBackOff   5          10m
    

    我知道它正在passwd文件中查找jenkins用户,但我仍然不确定为什么会发生这个错误,以及正确的修复方法是什么。如有任何见解,我们将不胜感激。


    编辑:

    > kubectl get pods --namespace jenkins
    NAME                READY     STATUS              RESTARTS   AGE
    jenkins-1937056428-fp7vr   0/1       ContainerCreating   0          16s
    

    第二次运行时:

    > kubectl get pods --namespace jenkins
    NAME    READY     STATUS      RESTARTS   AGE                                                                                                                                 
    jenkins-1937056428-fp7vr   0/1       rpc error: code = 2 desc = failed to start container "10a8ab7e3eb0ad153fd6055d86336b1cdfe9642b6993684a7e01fefbeca7a566": Error response from
     daemon: {"message":"linux spec user: unable to find user jenkins: no matching entries in passwd file"}   1          39s
    

    > kubectl get pods --namespace jenkins
    NAME                       READY     STATUS             RESTARTS   AGE
    jenkins-1937056428-fp7vr   0/1       CrashLoopBackOff   270        22h
    
    2 回复  |  直到 8 年前
        1
  •  0
  •   Jayson Chacko    8 年前

    jenkins的持久磁盘卷似乎没有正确设置。尝试运行以下命令来重新配置磁盘卷并重新运行jenkins pod,

    kubectl delete -f jenkins/k8s/
    gcloud compute disks delete jenkins-home
    gcloud compute images delete jenkins-home-image
    gcloud config set compute/zone us-east1-d
    
    gcloud compute images create jenkins-home-image --source-uri https://storage.googleapis.com/solutions-public-assets/jenkins-cd/jenkins-home-v3.tar.gz
    gcloud compute disks create jenkins-home --image jenkins-home-image --zone us-east1-d
    kubectl apply -f jenkins/k8s/
    
        2
  •  0
  •   foobar    8 年前

    我基本上错了一步:

    gcloud container clusters create jenkins-cd \
      --network jenkins \
      --scopes "https://www.googleapis.com/auth/projecthosting,storage-rw"
    

    在这里,确保选项——网络和——作用域实际上得到了传递。我想我复制了命令,但没有修复它,选项被删除了。