2017-05-17 1 views
0

J'ai suivi ce guide https://coreos.com/kubernetes/docs/latest/deploy-workers.html pour configurer un réseau Kubernetes et lorsque j'ai exécuté les add-ons Dashboard ou DNS, ils ont généré crashloopbackoff après 25 secondes. J'ai ensuite suivi ce https://github.com/kubernetes/dashboard/blob/master/docs/user-guide/troubleshooting.md qui a expiré à quand j'exécutéKubernetes/CoresOS Les nœuds ne peuvent pas communiquer avec ApiServer Kube Proxy

kubectl exec test 701.078.429-s5kca - boucle -k https://10.3.0.1

note si j'exécutais kubectl exec test 701.078.429-s5kca - boucle -k https://192.168.3.240 cela a fonctionné (IP publique)

aussi si j'ai exécuté curl -k https://10.3.0.1 sur le nœud maître est également travaillé. Donc, le problème est que mes Kubelets sur 10.2.0.0/16 ne peuvent pas communiquer avec le serveur api sur 10.3.0.1/24 ce qui suggère qu'il pourrait s'agir d'un problème de proxy kube. Pour votre information: Je peux Sucessfully ping à l'intérieur d'un noeud sur une machine à un autre noeud sur une autre machine en utilisant 10.2.xx

Répondre

0

Le problème était un problème de configuration dans kubelets /etc/kubernetes/manifests/kube-proxy.yaml

la ligne - --master = https: // nécessite https: // où j'ai juste l'IP 192.168.3.220. Ci-dessous mon Kube travaille-proxy.yaml

apiVersion: v1 
    kind: Pod 
    metadata: 
     name: kube-proxy 
     namespace: kube-system 
    spec: 
     hostNetwork: true 
     containers: 
     - name: kube-proxy 
     image: quay.io/coreos/hyperkube:v1.6.1_coreos.0 
     command: 
     - /hyperkube 
     - proxy 
     - --master=https://192.168.3.240 
     - --kubeconfig=/etc/kubernetes/worker-kubeconfig.yaml 
     - --proxy-mode=iptables 
     securityContext: 
      privileged: true 
     volumeMounts: 
     - mountPath: /etc/ssl/certs 
      name: "ssl-certs" 
     - mountPath: /etc/kubernetes/worker-kubeconfig.yaml 
      name: "kubeconfig" 
      readOnly: true 
     - mountPath: /etc/kubernetes/ssl 
      name: "etc-kube-ssl" 
      readOnly: true 
     volumes: 
     - name: "ssl-certs" 
     hostPath: 
      path: "/usr/share/ca-certificates" 
     - name: "kubeconfig" 
     hostPath: 
      path: "/etc/kubernetes/worker-kubeconfig.yaml" 
     - name: "etc-kube-ssl" 
     hostPath: 
      path: "/etc/kubernetes/ssl" 

Le guide qui est grande, était un peu trompeur dans ce domaine comme dans l'extrait de code immédiatement avant pour /etc/systemd/system/kubelet.service il avait --api-servers = https: // $ {MASTER_HOST} \ avec le https: // present où le yaml pour /etc/kubernetes/manifests/kube-proxy.yaml a - --master = $ {MASTER_HOST } sans https: // préfixe