2016-10-25 9 views
0

現在、私はマスターとノードを立ち上げることを可能にするVagrant/Ansibleプロジェクトを作成してKubernetesを学習しようとしています。いくつかの問題。私は現在、kubeadmを使用してinitjoinの機能を実行しています。 (?私はひどいですけど、これを行うために、より標準的な方法があります)initのために、私はトークンを取得するためのコマンドライン出力を解析しています:kagbernetesノードがVagrant/Ansibleでマスターに接続できません

--- 
    - command: kubeadm init 
    args: 
     creates: /etc/kubernetes/kubelet.conf 
    register: kube_init 

    - local_action: copy content={{ kube_init.stdout_lines[-1].split()[-2] }} dest=../kube.token 
    when: kube_init is defined 

    - local_action: copy content={{ kube_init.stdout_lines[-1].split()[-1] }} dest=../kube.master_ip 
    when: kube_init is defined 

出典:https://gitlab.com/djsumdog/skube/blob/0e25fca668e1067a8aa4af59b019411303838e86/ansible/roles/master/tasks/main.yml

しかし、できます。トラブルは、私は、ノードが接続するために得ることができない、次のとおりです。

TASK: [node | command kubeadm join --token=1a3131.637de46bfdebadd4 10.0.2.15] *** 
failed: [node1] => {"changed": true, "cmd": ["kubeadm", "join", "--token=1a3131.637de46bfdebadd4", "10.0.2.15"], "delta": "0:00:00.079545", "end": "2016-10-25 01:54:51.858545", "rc": 1, "start": "2016-10-25 01:54:51.779000", "warnings": []} 
stderr: error: <node/discovery> failed to request cluster info [Get http://10.0.2.15:9898/cluster-info/v1/?token-id=1a3131: dial tcp 10.0.2.15:9898: getsockopt: connection refused] 
stdout: <util/tokens> validating provided token 
<node/discovery> created cluster info discovery client, requesting info from "http://10.0.2.15:9898/cluster-info/v1/?token-id=1a3131" 

FATAL: all hosts have already failed -- aborting 

私はノードVMから私のマスターVMにpingを実行することができますし、私もそれにsshをすることができます。 kubernetesサービスがすべてマスター上で実行されているかのように見えます。

$ systemctl status kubelet.service 
● kubelet.service - kubelet: The Kubernetes Node Agent 
    Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled) 
    Drop-In: /etc/systemd/system/kubelet.service.d 
      └─10-kubeadm.conf 
    Active: active (running) since Tue 2016-10-25 01:51:35 UTC; 13h ago 
    Docs: http://kubernetes.io/docs/ 
Main PID: 5726 (kubelet) 
    Tasks: 15 
    Memory: 45.5M 
     CPU: 11min 37.179s 
    CGroup: /system.slice/kubelet.service 
      ├─5726 /usr/bin/kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster- 
      └─5740 journalctl -k -f 

Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532171 5726 factory.go:108] Factory "systemd" can handle container "/system.slice/var-lib-kubelet-pods-9d0e93cd\\x2d9a55\\x2d11e6\\x2db2dd\\x2d02558d159192-volumes-kubernetes.io\\x7esecret-default\\ 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532175 5726 manager.go:843] ignoring container "/system.slice/var-lib-kubelet-pods-9d0e93cd\\x2d9a55\\x2d11e6\\x2db2dd\\x2d02558d159192-volumes-kubernetes.io\\x7esecret-default\\x2dtoken\\x2ddn3r9.m 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532184 5726 factory.go:104] Error trying to work out if we can handle /system.slice/run-docker-netns-default.mount: invalid container name 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532187 5726 factory.go:115] Factory "docker" was unable to handle container "/system.slice/run-docker-netns-default.mount" 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532190 5726 factory.go:108] Factory "systemd" can handle container "/system.slice/run-docker-netns-default.mount", but ignoring. 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532194 5726 manager.go:843] ignoring container "/system.slice/run-docker-netns-default.mount" 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532316 5726 factory.go:104] Error trying to work out if we can handle /system.slice/var-lib-docker-overlay-6d625f0d241bc6ae9eb243b430a71f078912a76147fc51e41e8e6e5f3226c6e9-merged.mount: error inspec 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532321 5726 factory.go:115] Factory "docker" was unable to handle container "/system.slice/var-lib-docker-overlay-6d625f0d241bc6ae9eb243b430a71f078912a76147fc51e41e8e6e5f3226c6e9-merged.mount" 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532325 5726 factory.go:108] Factory "systemd" can handle container "/system.slice/var-lib-docker-overlay-6d625f0d241bc6ae9eb243b430a71f078912a76147fc51e41e8e6e5f3226c6e9-merged.mount", but ignoring. 
Oct 25 15:43:35 ubuntu-xenial kubelet[5726]: I1025 15:43:35.532330 5726 manager.go:843] ignoring container "/system.slice/var-lib-docker-overlay-6d625f0d241bc6ae9eb243b430a71f078912a76147fc51e41e8e6e5f3226c6e9-merged.mount" 

マスターが接続をリッスンしないのはなぜですか?

https://gitlab.com/djsumdog/skube/tree/0e25fca668e1067a8aa4af59b019411303838e86

をインストールしansibleと放浪を持っている場合は、あなたがvagrant upを実行し、同じ結果を得ることができる必要があります:ここでは正確な私が使用しているコミットです。 kubeadmが

kubectl taint nodes --all dedicated- 
kubectl apply -f <add-on.yaml> 

に参加する前に

答えて

2

このページを参照してくださいkubeadmの初期化後に次のコマンドを実行してみて、これは私のベイグラントの設定によるものであったが判明しました。どちらのVMも同じIPアドレスを取得していました。私は私のVagrantfileで:private_networkip:を指定する必要が:

... 
config.vm.define "master" do |master| 
    master.vm.network :private_network, ip: 10.10.30.10 
... 
... 
config.vm.define "node1" do |node1| 
    node1.vm.network :private_network, :ip: 10.10.30.50 
... 
関連する問題