現在、私はマスターとノードを立ち上げることを可能にするVagrant/Ansibleプロジェクトを作成してKubernetesを学習しようとしています。いくつかの問題。私は現在、kubeadm
を使用してinit
とjoin
の機能を実行しています。 (?私はひどいですけど、これを行うために、より標準的な方法があります)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
しかし、できます。トラブルは、私は、ノードが接続するために得ることができない、次のとおりです。
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>
に参加する前に
'kubectl taint'は、ポッドがクラスタにノードを結ぶとは何の関係もありませんし、これはまだ原因となるマスターノード上に展開することができます上記の問題。 – frankgreco