我有2个VM节点.两者都通过主机名(通过/ etc/hosts)或ip地址相互看到.其中一个已经配备了kubeadm作为主人.另一个作为工作节点.按照说明(http://kubernetes.io/docs/getting-started-guides/kubeadm/),我添加了weave-net.pod的列表如下所示:
vagrant@vm-master:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-vm-master 1/1 Running 0 3m
kube-system kube-apiserver-vm-master 1/1 Running 0 5m
kube-system kube-controller-manager-vm-master 1/1 Running 0 4m
kube-system kube-discovery-982812725-x2j8y 1/1 Running 0 4m
kube-system kube-dns-2247936740-5pu0l 3/3 Running 0 4m
kube-system kube-proxy-amd64-ail86 1/1 Running 0 4m
kube-system kube-proxy-amd64-oxxnc 1/1 Running 0 2m
kube-system kube-scheduler-vm-master 1/1 Running 0 4m
kube-system kubernetes-dashboard-1655269645-0swts 1/1 Running 0 4m
kube-system weave-net-7euqt 2/2 Running 0 4m
kube-system weave-net-baao6 1/2 CrashLoopBackOff 2 2m
Run Code Online (Sandbox Code Playgroud)
连接的每个工作节点都会出现CrashLoopBackOff.我花了几个时间玩网络接口,但似乎网络很好.我找到了类似的问题,答案建议查看日志,没有跟进.所以,这是日志:
vagrant@vm-master:~$ kubectl logs weave-net-baao6 -c weave --namespace=kube-system
2016-10-05 10:48:01.350290 I | error contacting APIServer: Get https://100.64.0.1:443/api/v1/nodes: dial tcp 100.64.0.1:443: getsockopt: connection refused; trying with blank env vars
2016-10-05 10:48:01.351122 I | error contacting APIServer: Get http://localhost:8080/api: dial tcp [::1]:8080: getsockopt: connection refused
Failed to get peers
Run Code Online (Sandbox Code Playgroud)
我做错了什么?从哪里去?
我也遇到了同样的问题.似乎weaver想要连接到Kubernetes Cluster IP地址,这是虚拟的.只需运行此命令即可找到集群ip :
kubectl get svc. 它应该给你这样的东西:
$ kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 100.64.0.1 <none> 443/TCP 2d
Run Code Online (Sandbox Code Playgroud)
Weaver获取此IP并尝试连接到它,但工作节点对此一无所知.简单的路线将解决这个问题.在所有工作节点上,执行:
route add 100.64.0.1 gw <your real master IP>
Run Code Online (Sandbox Code Playgroud)
单节点设置也会发生这种情况。我尝试了一些方法,例如重新应用配置和重新创建,但目前最稳定的方法是执行完整的拆卸(如文档中所述)并重新启动集群。
我使用这些脚本重新启动集群:
向下
#!/bin/bash
systemctl stop kubelet;
docker rm -f -v $(docker ps -q);
find /var/lib/kubelet | xargs -n 1 findmnt -n -t tmpfs -o TARGET -T | uniq | xargs -r umount -v;
rm -r -f /etc/kubernetes /var/lib/kubelet /var/lib/etcd;
Run Code Online (Sandbox Code Playgroud)
up.sh
#!/bin/bash
systemctl start kubelet
kubeadm init
# kubectl taint nodes --all dedicated- # single node!
kubectl create -f https://git.io/weave-kube
Run Code Online (Sandbox Code Playgroud)
编辑:如果这是与编织相关的问题,我也会尝试其他 Pod 网络,例如 Calico
| 归档时间: |
|
| 查看次数: |
5750 次 |
| 最近记录: |