【发布时间】:2018-09-11 10:39:27
【问题描述】:
我正在尝试使用最新的 HypriotOS 在 RaspberryPi 3 上设置 Kubernetes,运行 Docker 17.03 和 Kubeadm/ctl/kubelet 1.9。我通过 WiFi 建立了连接
在我尝试运行kubeadm init --apiserver-advertise-address=...之前一切似乎都很正常
也许知识渊博的人可以确认,但在我看来,它无法拉取 api 容器,然后无法执行 api 调用。
我不确定可能是什么问题,如果有任何帮助,我将不胜感激。
Apr 2 07:24:19 docker5 kubelet[28562]: E0402 07:24:19.316996 28562 kubelet_node_status.go:375] Unable to update node status: update node status exceeds retry count
Apr 2 07:24:19 docker5 kubelet[28562]: W0402 07:24:19.341134 28562 status_manager.go:459] Failed to get status for pod "kube-apiserver-docker5_kube-system(0be6a3a13f3b3c604447ca6f55a6c407)": Get https://192.168.0.104:6443/api/v1/namespaces/kube-system/pods/kube-apiserver-docker5: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:19 docker5 kubelet[28562]: W0402 07:24:19.342988 28562 status_manager.go:459] Failed to get status for pod "kube-controller-manager-docker5_kube-system(d92e00dc78c1cb276248a9695158c4c1)": Get https://192.168.0.104:6443/api/v1/namespaces/kube-system/pods/kube-controller-manager-docker5: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:19 docker5 kubelet[28562]: I0402 07:24:19.671521 28562 kuberuntime_manager.go:514] Container {Name:kube-apiserver Image:gcr.io/google_containers/kube-apiserver-arm:v1.9.6 Command:[kube-apiserver --requestheader-username-headers=X-Remote-User --advertise-address=192.168.0.104 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --secure-port=6443 --insecure-port=0 --allow-privileged=true --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --requestheader-allowed-names=front-proxy-client --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --requestheader-group-headers=X-Remote-Group --service-cluster-ip-range=10.96.0.0/12 --service-account-key-file=/etc/kubernetes/pki/sa.pub --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --enable-bootstrap-token-auth=true --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --client-ca-file=/etc/kubernetes/pki/ca.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota --requestheader-extra-headers-prefix=X-Remote-Extra- --authorization-mode=Node,RBAC --etcd-servers=http://127.0.0.1:2379] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env:[] Resources:{Limits:map[] Requests:map[cpu:{i:{value:250 scale:-3} d:{Dec:<nil>} s:250m Format:DecimalSI}]} VolumeMounts:[{Name:k8s-certs ReadOnly:true MountPath:/etc/kubernetes/pki SubPath: MountPropagation:<nil>} {Name:ca-certs ReadOnly:true MountPath:/etc/ssl/certs SubPath: MountPropagation:<nil>}] VolumeDevices:[] LivenessProbe:&Probe{Handler:Handler{Exec:nil,HTTPGet:&HTTPGetAction{Path:/healthz,Port:6443,Host:192.168.0.104,Scheme:HTTPS,HTTPHeaders:[],},TCPSocket:nil,},InitialDelaySeconds:15,TimeoutSeconds:15,PeriodSeconds:10,SuccessThreshold:1,FailureThreshold:8,} ReadinessProbe:nil Lifecycle:nil TerminationMes
Apr 2 07:24:19 docker5 kubelet[28562]: sagePath:/dev/termination-log TerminationMessagePolicy:File ImagePullPolicy:IfNotPresent SecurityContext:nil Stdin:false StdinOnce:false TTY:false} is dead, but RestartPolicy says that we should restart it.
Apr 2 07:24:19 docker5 kubelet[28562]: I0402 07:24:19.672072 28562 kuberuntime_manager.go:758] checking backoff for container "kube-apiserver" in pod "kube-apiserver-docker5_kube-system(0be6a3a13f3b3c604447ca6f55a6c407)"
Apr 2 07:24:19 docker5 kubelet[28562]: I0402 07:24:19.673128 28562 kuberuntime_manager.go:768] Back-off 5m0s restarting failed container=kube-apiserver pod=kube-apiserver-docker5_kube-system(0be6a3a13f3b3c604447ca6f55a6c407)
Apr 2 07:24:19 docker5 kubelet[28562]: E0402 07:24:19.673390 28562 pod_workers.go:186] Error syncing pod 0be6a3a13f3b3c604447ca6f55a6c407 ("kube-apiserver-docker5_kube-system(0be6a3a13f3b3c604447ca6f55a6c407)"), skipping: failed to "StartContainer" for "kube-apiserver" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kube-apiserver pod=kube-apiserver-docker5_kube-system(0be6a3a13f3b3c604447ca6f55a6c407)"
Apr 2 07:24:19 docker5 kubelet[28562]: E0402 07:24:19.945110 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:471: Failed to list *v1.Service: Get https://192.168.0.104:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:20 docker5 kubelet[28562]: E0402 07:24:20.007637 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:480: Failed to list *v1.Node: Get https://192.168.0.104:6443/api/v1/nodes?fieldSelector=metadata.name%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:20 docker5 kubelet[28562]: E0402 07:24:20.019886 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.0.104:6443/api/v1/pods?fieldSelector=spec.nodeName%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:20 docker5 kubelet[28562]: E0402 07:24:20.947291 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:471: Failed to list *v1.Service: Get https://192.168.0.104:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:21 docker5 kubelet[28562]: E0402 07:24:21.009803 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:480: Failed to list *v1.Node: Get https://192.168.0.104:6443/api/v1/nodes?fieldSelector=metadata.name%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:21 docker5 kubelet[28562]: E0402 07:24:21.022165 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.0.104:6443/api/v1/pods?fieldSelector=spec.nodeName%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:21 docker5 kubelet[28562]: E0402 07:24:21.951488 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:471: Failed to list *v1.Service: Get https://192.168.0.104:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:22 docker5 kubelet[28562]: E0402 07:24:22.012018 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:480: Failed to list *v1.Node: Get https://192.168.0.104:6443/api/v1/nodes?fieldSelector=metadata.name%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
Apr 2 07:24:22 docker5 kubelet[28562]: E0402 07:24:22.024773 28562 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.0.104:6443/api/v1/pods?fieldSelector=spec.nodeName%3Ddocker5&limit=500&resourceVersion=0: dial tcp 192.168.0.104:6443: getsockopt: connection refused
【问题讨论】:
-
您使用的是Flannel等overlay网络吗?
-
也许您需要以 root 权限或 sudo 运行 kubeadm init 命令。你能尝试运行
sudo kubeadm init --apiserver-advertise-address=... -
@SureshVishnoi 感谢您抽出宝贵时间查看。我就是这样做的(否则它会抱怨它)。好吧,不是使用 sudo,而是在执行“sudo su -”并以 root 身份完成整个设置之后。
-
@mon 不,虽然我正在考虑尝试这样做,看看它是否有所作为
-
amazon.com/Kubernetes-Running-Dive-Future-Infrastructure/dp/… Appndiex A 有构建 Raspberry Pi Kubernetes 集群部分。它讨论了设置 iptables 以将 eth0 路由到 wlan0,将 cpu 类型从 AMD64 flannel 更改为 ARM 等。可能有用。
标签: kubernetes raspberry-pi3 raspbian hypriot