2017-11-02 3 views
1

Ich habe einen brandneuen Kubernetes v1.8-Cluster mit zwei Knoten (RBAC aktiviert). Jenkins wird als StatefulSet bereitgestellt und empfohlen ServiceAccount/Role und RoleBindings wurden ebenfalls erstellt (from here). Cluster Info:Fehler beim Einrichten des Kubernetes-Plugins für Jenkins

$ kubectl cluster-info 
Kubernetes master is running at https://10.182.255.35:6443 

Wenn ich versuche Kubernetes Wolke in Jenkins Einstellungen einzurichten Ich erhalte eine Fehlermeldung 403 (Forbidden). Ich folgte dem Pugin-Handbuch und erstellte in Jenkins die Anmeldeinformationen für den 'Kubernetes Service Account' und versuchte, eine neue Cloud zu konfigurieren. Jenkins configuration screenshot. Hier ist das Debug-Protokoll von Plugin:

Nov 02, 2017 7:40:57 PM FINE org.csanchez.jenkins.plugins.kubernetes.KubernetesFactoryAdapter 
Creating Kubernetes client: KubernetesFactoryAdapter [serviceAddress=https://10.182.255.35:6443, namespace=default, caCertData=null, credentials=o[email protected]99ee54b6, skipTlsVerify=true, connectTimeout=0, readTimeout=0] 
Nov 02, 2017 7:40:57 PM FINE org.csanchez.jenkins.plugins.kubernetes.KubernetesCloud 
Error connecting to https://10.182.255.35:6443 
java.io.IOException: Unexpected response code for CONNECT: 403 
    at okhttp3.internal.connection.RealConnection.createTunnel(RealConnection.java:371) 
    ...(skipped) 
    at io.fabric8.kubernetes.client.dsl.base.BaseOperation.list(BaseOperation.java:605) 
Caused: io.fabric8.kubernetes.client.KubernetesClientException: Operation: [list] for kind: [Pod] with name: [null] in namespace: [default] failed. 
    at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:62) 
    ...(skipped) 

Zur gleichen Zeit, wenn ich versuche, einen API-Aufruf mit diesem Serviceaccount aus der Schote zu machen, es funktioniert:

$ kubectl exec -ti jenkins-0 bash (ssh into the pod) 
bash-4.3$ KUBE_TOKEN=$(</var/run/secrets/kubernetes.io/serviceaccount/token) 
bash-4.3$ curl -sSk -H "Authorization: Bearer $KUBE_TOKEN" 
https://10.182.255.35:6443/api/v1/namespaces/default/pods 
{ 
    "kind": "PodList", 
    "apiVersion": "v1", 
    "metadata": { 
    "selfLink": "/api/v1/namespaces/default/pods", 
    "resourceVersion": "90645" 
    }, 
    "items": [ 
    { 
    ...(skipped) 

Antwort

0

meine eigene Frage zu beantworten: die Problem war mit meinen Proxy-Einstellungen. Sie müssen die Instanz-IP in der Umgebungsvariablen no_proxy während des Cluster-Setups angeben.

+1

OK ... wie hast du es behoben? – VonC

+0

Sie müssen die Instanz-IP in der Umgebungsvariablen no_proxy während des Cluster-Setups angeben. – Symydo

+0

OK. Können Sie Ihre Antwort bearbeiten, um diese Einstellung zu veranschaulichen? – VonC

Verwandte Themen