2017-11-03 3 views
1

誰でもCIジョブのgitlabでkubernetes executor/runnerを正常にセットアップできますか?私は自分のパイプラインを無期限に実行することに固執しました。Kubernetes executor gitlab

私は、kubernetesクラスターの上にドッカーコンテナとしてランナーを実行していて、CIビルドを処理するためにgitlabインスタンスに接続しています。

すべての作業用設定ファイルが評価されます。

マイランナー構成は次のようになります。

[[runners]] 
    name = "kube-executor" 
    url = "https://gitlab.example.ltd/" 
    token = "some-token" 
    executor = "kubernetes" 
    [runners.cache] 
    [runners.kubernetes] 
    host = "https://my-kubernetes-api-address:443" 
    ca_file = "/etc/ssl/certs/ca.crt" 
    cert_file = "/etc/ssl/certs/server.crt" 
    key_file = "/etc/ssl/certs/server.key" 
    image = "docker:latest" 
    namespace = "gitlab" 
    namespace_overwrite_allowed = "ci-.*" 
    privileged = true 
    cpu_limit = "1" 
    memory_limit = "1Gi" 
    service_cpu_limit = "1" 
    service_memory_limit = "1Gi" 
    helper_cpu_limit = "500m" 
    helper_memory_limit = "100Mi" 
    poll_interval = 5 
    poll_timeout = 3600 
    [runners.kubernetes.volumes] 

これは、このエラーがスローされます。ERROR: Job failed (system failure): Post https://my-kubernetes-api-address:443/api/v1/namespaces/gitlab/secrets: x509: certificate signed by unknown authority

+0

これまでの設定は何ですか?あなたが何をしているのか、そしてそのエラーが何であるかをより具体的にしてください。 – adebasi

+0

同時= 1 CHECK_INTERVAL = 0 [[ランナー]] 名= "kubernetes" URL = "https://gitlab.repo.ltd" トークン= "私の-token-" キュータ= "kubernetes" [runners.cache] [runners.kubernetes] host = "https://my-kubernetes-api-address.ltd" --tls-cert-file = "/etc/ssl/certs/server.crt" --tls-private-key-file = "/etc/ssl/certs/server.key" --client-ca-file = "/etc/ssl/certs/ca.crt" image = "ドッカー:最新 " 名前空間=" ci " namespace_overwrite_allowed =" ci - 。* " 特権= true [runners.kubernetes.volumes] – Bubacarr

+0

これは私の/etc/gitlab-runner/config.tomlにある設定です – Bubacarr

答えて

0

あなたは、HTTPSを使用しているので、どこ本命は、彼ら自身が本命に署名していますか?はいの場合は、configmapに--tls-cert-file--tls-private-key-fileというフラグを付ける必要があります。

https://stackoverflow.com/a/43362697/432115