2017-10-16 7 views
1

現在、Gitlab CI用にKubernetesクラスタを使用しようとしています。 あまり良くない文書(https://docs.gitlab.com/runner/install/kubernetes.html)に続いて、Gitlab CIセクションのトークンをランナーに手作業で登録して、別のトークンを取得して、配置用に使用するConfigMapで使用することができました。私はGitlabランナーセクションでランナーを見ることが私は仕事を起動するたびに、新しい作成したポッドが保留のままにこれら二つでGitlab CI runnerをKubernetesで実行しているときのポッドのステータス

-ConfigMap

apiVersion: v1 
kind: ConfigMap 
metadata: 
    name: gitlab-runner 
    namespace: gitlab 
data: 
    config.toml: | 
    concurrent = 4 
    [[runners]] 
     name = "Kubernetes Runner" 
     url = "https://url/ci" 
     token = "TOKEN" 
     executor = "kubernetes" 
     [runners.kubernetes] 
      namespace = "gitlab" 

-Deployment

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: gitlab-runner 
    namespace: gitlab 
spec: 
    replicas: 4 
    selector: 
    matchLabels: 
     name: gitlab-runner 
    template: 
    metadata: 
     labels: 
     name: gitlab-runner 
    spec: 
     containers: 
     - args: 
     - run 
     image: gitlab/gitlab-runner:latest 
     imagePullPolicy: Always 
     name: gitlab-runner 
     volumeMounts: 
     - mountPath: /etc/gitlab-runner 
      name: config 
     restartPolicy: Always 
     volumes: 
     - configMap: 
      name: gitlab-runner 
     name: config 

状態。

私はそれを修正したいと思いますが、私は知っているすべてのノードとポッドは、これらのイベントを取得することです:

-Pods:

Events: 
  FirstSeen     LastSeen        Count   From                    SubObjectPath   Type            Reason                  Message 
  ---------     --------        -----   ----                    -------------   --------        ------                  ------- 
  35s           4s              7       {default-scheduler }                    Warning         FailedScheduling        No nodes are available that match all of the following predicates:: MatchNodeSelector (2). 

-nodes:どれ

Events: 
  FirstSeen     LastSeen        Count   From                                            SubObjectPath   Type            Reason                                  Message 
  ---------     --------        -----   ----                                            -------------   --------        ------                                  ------- 
  4d            31s             6887    {kubelet gitlab-ci-hc6k3ffax54o-master-0}                       Warning         FailedNodeAllocatableEnforcement        Failed to update Node Allocatable Limits "": failed to set supported cgroup subsystems for cgroup : Failed to set config for supported subsystems : failed to write 3783761920 to memory.limit_in_bytes: write /rootfs/sys/fs/cgroup/memory/memory.limit_in_bytes: invalid argument  

なぜこれが起こっているのか?

EDIT:kubectlが追加について説明します。

Name:   runner-45384765-project-1570-concurrent-00mb7r 
Namespace:  gitlab 
Node:   /
Labels:   <none> 
Status:   Pending 
IP: 
Controllers: <none> 
Containers: 
    build: 
    Image:  blablabla:latest 
    Port: 
    Command: 
     sh 
     -c 
     if [ -x /usr/local/bin/bash ]; then 
     exec /usr/local/bin/bash 
elif [ -x /usr/bin/bash ]; then 
     exec /usr/bin/bash 
elif [ -x /bin/bash ]; then 
     exec /bin/bash 
elif [ -x /usr/local/bin/sh ]; then 
     exec /usr/local/bin/sh 
elif [ -x /usr/bin/sh ]; then 
     exec /usr/bin/sh 
elif [ -x /bin/sh ]; then 
     exec /bin/sh 
else 
     echo shell not found 
     exit 1 
fi 


    Volume Mounts: 
     /var/run/secrets/kubernetes.io/serviceaccount from default-token-1qm5n (ro) 
     /vcs from repo (rw) 
    Environment Variables: 
     CI_PROJECT_DIR:   blablabla 
     CI_SERVER:    yes 
     CI_SERVER_TLS_CA_FILE: -----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 

     CI:      true 
     GITLAB_CI:    true 
     CI_SERVER_NAME:   GitLab 
     CI_SERVER_VERSION:  9.5.5-ee 
     CI_SERVER_REVISION:  cfe2d5c 
     CI_JOB_ID:    5625 
     CI_JOB_NAME:    pylint 
     CI_JOB_STAGE:    build 
     CI_COMMIT_SHA:   ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_COMMIT_REF_NAME:  master 
     CI_COMMIT_REF_SLUG:  master 
     CI_REGISTRY_USER:   gitlab-ci-token 
     CI_BUILD_ID:    5625 
     CI_BUILD_REF:    ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_BUILD_BEFORE_SHA:  ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_BUILD_REF_NAME:  master 
     CI_BUILD_REF_SLUG:  master 
     CI_BUILD_NAME:   pylint 
     CI_BUILD_STAGE:   build 
     CI_PROJECT_ID:   1570 
     CI_PROJECT_NAME:   blablabla 
     CI_PROJECT_PATH:   blablabla 
     CI_PROJECT_PATH_SLUG:  blablabla 
     CI_PROJECT_NAMESPACE:  vcs 
     CI_PROJECT_URL:   https://blablabla 
     CI_PIPELINE_ID:   2574 
     CI_CONFIG_PATH:   .gitlab-ci.yml 
     CI_PIPELINE_SOURCE:  push 
     CI_RUNNER_ID:    111 
     CI_RUNNER_DESCRIPTION: testing on kubernetes 
     CI_RUNNER_TAGS:   docker-image-build 
     CI_REGISTRY:    blablabla 
     CI_REGISTRY_IMAGE:  blablabla 
     PYLINTHOME:    ./pylint-home 
     GITLAB_USER_ID:   2277 
     GITLAB_USER_EMAIL:  blablabla 
    helper: 
    Image:  gitlab/gitlab-runner-helper:x86_64-a9a76a50 
    Port: 
    Command: 
     sh 
     -c 
     if [ -x /usr/local/bin/bash ]; then 
     exec /usr/local/bin/bash 
elif [ -x /usr/bin/bash ]; then 
     exec /usr/bin/bash 
elif [ -x /bin/bash ]; then 
     exec /bin/bash 
elif [ -x /usr/local/bin/sh ]; then 
     exec /usr/local/bin/sh 
elif [ -x /usr/bin/sh ]; then 
     exec /usr/bin/sh 
elif [ -x /bin/sh ]; then 
     exec /bin/sh 
else 
     echo shell not found 
     exit 1 
fi 


    Volume Mounts: 
     /var/run/secrets/kubernetes.io/serviceaccount from default-token-1qm5n (ro) 
     /vcs from repo (rw) 
    Environment Variables: 
     CI_PROJECT_DIR:   blablabla 
     CI_SERVER:    yes 
     CI_SERVER_TLS_CA_FILE: -----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
blablabla 
-----END CERTIFICATE----- 

     CI:      true 
     GITLAB_CI:    true 
     CI_SERVER_NAME:   GitLab 
     CI_SERVER_VERSION:  9.5.5-ee 
     CI_SERVER_REVISION:  cfe2d5c 
     CI_JOB_ID:    5625 
     CI_JOB_NAME:    pylint 
     CI_JOB_STAGE:    build 
     CI_COMMIT_SHA:   ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_COMMIT_REF_NAME:  master 
     CI_COMMIT_REF_SLUG:  master 
     CI_REGISTRY_USER:   gitlab-ci-token 
     CI_BUILD_ID:    5625 
     CI_BUILD_REF:    ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_BUILD_BEFORE_SHA:  ece31293f8eeb3a36a8585b79d4d21e0ebe8008f 
     CI_BUILD_REF_NAME:  master 
     CI_BUILD_REF_SLUG:  master 
     CI_BUILD_NAME:   pylint 
     CI_BUILD_STAGE:   build 
     CI_PROJECT_ID:   1570 
     CI_PROJECT_NAME:   blablabla 
     CI_PROJECT_PATH:   blablabla 
     CI_PROJECT_PATH_SLUG:  blablabla 
     CI_PROJECT_NAMESPACE:  vcs 
     CI_PROJECT_URL:   blablabla 
     CI_PIPELINE_ID:   2574 
     CI_CONFIG_PATH:   .gitlab-ci.yml 
     CI_PIPELINE_SOURCE:  push 
     CI_RUNNER_ID:    111 
     CI_RUNNER_DESCRIPTION: testing on kubernetes 
     CI_RUNNER_TAGS:   docker-image-build 
     CI_REGISTRY:    blablabla 
     CI_REGISTRY_IMAGE:  blablabla 
     PYLINTHOME:    ./pylint-home 
     GITLAB_USER_ID:   2277 
     GITLAB_USER_EMAIL:  blablabla 
Conditions: 
    Type   Status 
    PodScheduled False 
Volumes: 
    repo: 
    Type:  EmptyDir (a temporary directory that shares a pod's lifetime) 
    Medium: 
    default-token-1qm5n: 
    Type:  Secret (a volume populated by a Secret) 
    SecretName: default-token-1qm5n 
QoS Class:  BestEffort 
Tolerations: <none> 
Events: 
    FirstSeen  LastSeen  Count From     SubObjectPath Type   Reason     Message 
    ---------  --------  ----- ----     ------------- --------  ------     ------- 
    39s   8s    7  {default-scheduler }     Warning   FailedScheduling  No nodes are available that match all of the following predicates:: MatchNodeSelector (2). 
+1

保留中のポッド(および既存の場合はデプロイメント)に 'kube describe'を追加できますか? どのK8を使用していますか? – adebasi

答えて

0

ための:

selector: 
    matchLabels: 
     name: gitlab-runner 

ませポッドは、そのラベルを使用してジョブを取得することができません。

セレクタを削除するだけで十分ですが、その必要はありません。

関連する問題