When I run kubeadm join
everything seems to be fine in output, but pod for this node has CrashLoopBackOff
status because of the following error in logs:
Traceback (most recent call last):
File "<string>", line 336, in <module>
File "<string>", line 287, in main
File "<string>", line 210, in warn_if_hostname_conflict
File "site-packages/pycalico/datastore.py", line 137, in wrapped
pycalico.datastore_errors.DataStoreError: get_host_bgp_ips: Error accessing etcd (Connection to etcd failed due to MaxRetryError("HTTPConnectionPool(host='127.0.0.1', port=2379): Max retries exceeded with url: /v2/keys/calico/bgp/v1/host/bpmw05/ip_addr_v4 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1872c364d0>: Failed to establish a new connection: [Errno 111] Connection refused',))",)). Is etcd running?
startup returned -1
Waiting for etcd connection...
No IP provided. Using detected IP: 192.168.56.105
Calico node failed to start
NAMESPACE NAME READY STATUS RESTARTS AGE
default my-nginx-379829228-0pf4b 1/1 Running 0 1h
kube-system calico-node-7wodf 2/2 Running 0 2h
kube-system calico-node-s7dyu 1/2 CrashLoopBackOff 6 6m
kube-system calico-policy-controller-modx4 1/1 Running 0 2h
kube-system dummy-2088944543-jl2fu 1/1 Running 0 2h
kube-system etcd-host 1/1 Running 0 2h
kube-system kube-apiserver-host 1/1 Running 0 2h
kube-system kube-controller-manager-host 1/1 Running 0 2h
kube-system kube-discovery-1150918428-asto0 1/1 Running 0 2h
kube-system kube-dns-654381707-rvt9o 3/3 Running 0 2h
kube-system kube-proxy-f7v9u 1/1 Running 0 6m
kube-system kube-proxy-x58jy 1/1 Running 0 2h
kube-system kube-scheduler-host 1/1 Running 0 2h
kube-system kubernetes-dashboard-3095304083-9moev 1/1 Running 0 53m
May be some additional setup for etcd is required? (I am using this tutorial as a reference and running on CentOS 7.2 VMs managed by VMware ESXi.)
I can confirm that etcd is running on master by folowing command:
http://127.0.0.1:2379/version
{"etcdserver":"2.2.5","etcdcluster":"2.2.0"}
But as far as I understand other nodes also should have access to it? Or not? If I try to curl from node on which join command was run I get Connection refused (I use IP of master node instead of localhost). Like so:
curl -s http://[master_ip]:2379/version
[no output]