J'ai un cluster Jenkins et Kubernetes qui s'exécute dans le même réseau dans AWS. Jenkins a son propre exemple.Les conteneurs de plug-ins Kubernetes ne peuvent pas se reconnecter à Jenkins
J'ai configuré le plugin Kubernetes comme suit:
L'image JNLP docker recommandée est utilisé. Le port Jenkins JNLP est configuré pour être statique 5000
. Maintenant, lorsque je lance le travail, il me montre que le nœud est hors ligne. Lorsque je clique sur le nœud déconnecté je reçois ceci:
Cela me fait aller au cluster de K8. L'exécution docker ps
ne montre aucun conteneur en cours d'exécution. Cependant:
De là, je vais trouver ce conteneur docker s'exécutent et quels logs il laisse après:
J'utilise: https://github.com/jenkinsci/docker-jnlp-slave comme l'image
https://github.com/jenkinsci/kubernetes-plugin
J version enkins: 2.27
K8: hyperkube:v1.4.3_coreos.0
Jenkins ne tourne le conteneur, je suppose que cela fonctionne et les erreurs parce que aucun argument valable sont fournis pendant le conteneur courir? Je n'ai pas besoin de me connecter à mes conteneurs (clients Java). Comment puis-je y parvenir?
MISE À JOUR
Sur la base de cette réponse: kubernetes slaves cannot register to jenkins master
Si je me connecte dans le conteneur et exécutez la commande que Jenkins affiche sous l'hôte qui ne peuvent pas se connecter:
java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2
Le conteneur se connecte via JNLP2 et le travail s'exécute.
J'ai essayé d'ajouter les arguments comme suggéré, mais pas de chance. Les conteneurs ne se connecteront toujours pas automatiquement: