2017-09-07 7 views
2

Ich versuche, Jennkins CI/CD auf Kubernetes mit dynamischen Sklaven zu führen, meine Jenkins-Version ist offizielles Bild 2.60.2, während das Kubernetes-Plugin 1.0 ist. Nachdem Sie eine Wolke mit Kubernetes hinzugefügt haben, kann der Slave nicht mehr hochlaufen. Es zeigt:Kubernetes Jenkins Plugin - Jenkins hat keine Label Mypod

pending—Jenkins doesn’t have label mypod

ich siehe Kubernetes Jenkins plugin - slaves always offline das jenkins System zu konfigurieren. Ich finde das Problem wird als Defekt beschrieben, ich weiß nicht, ob dies auf die neuesten Jenkins Bilder aktualisiert wurde. Hier ist der Link: https://github.com/jenkinsci/kubernetes-plugin/pull/127

Nächster Fehler:

Jenkins doesn’t have label mypod

dies wegen 400d1ed sein könnte? Wahrscheinlich muss KubernetesDeclarativeAgentScript.groovy dann ein Update bekommen.

Kann jemand dieses Problem beheben?

Antwort

3

Das Schlüsselwort lautet (wie immer): Schau dir die Protokolle an! Sie sollten Ihre Fehler bei der Ausgabe sehen

kubectl logs $JENKINS_POD_NAME 

Sie können auch den folgenden Befehl versuchen. Hier werden deine fehlerhaften Sklaven aufgelistet. Schauen Sie sich die Protokolle für diese:

kubectl get pods -a 

Ihre Frage zu JNLP Kommunikation bezieht, Slave-> Master

Mein jenkins wird in einem Behälter läuft und ich hatte die JNLP-Port an den Cluster-Knoten zu belichten (nodePort).

apiVersion: v1 
kind: Service 
metadata: 
    name: jenkins 
    labels: 
    app: jenkins 
spec: 
    ports: 
    - name: jnlp 
     port: 40294 
     targetPort: 40294 
    - name: http 
     port: 80 
     targetPort: 8080 
    selector: 
    app: jenkins 
    tier: jenkins 
    type: NodePort 

Suchen Sie in jenkins security nach JNLP und aktivieren Sie ALLE Protokolle. Ich spiele immer noch mit festen oder zufälligen Ports. Ich bin mir nicht sicher, wie ich einen zufälligen Port von einem k8s-Dienst freilegen kann. Port-Bereich wird in k8s nicht unterstützt.

Aber ich kann einen Sklaven abfeuern und etwas arbeiten!

+0

In Protokollen überprüfen Sie den Wert für die Behälterkappe, sollte es auf einen höheren Wert eingestellt werden. –

Verwandte Themen