我有一个raspberry pi集群(一个主集群,3个节点)
我的基本图像是:raspbian stretch lite
我已经建立了一个基本的kubernetes设置,主节点可以看到他的所有节点(kubectl获取节点),并且它们都在运行。
我使用weave网络插件进行网络通信
一切就绪后,我尝试在集群上运行一个nginx pod(首先是一些副本,但现在只有一个pod),如下所示
kubectl运行我的nginx--image=nginx
但不知何故,pod被困在“容器创建”状态,当我运行docker映像时,我看不到正在拖动nginx映像。通常,nginx图像并没有那么大,所以必须在现在(15分钟)之前拉出来。
kubectl描述pod给出了pod沙盒未能创建的错误,kubernetes将记录创建它。
我搜索了关于这个问题的所有信息,并尝试了stackoverflow上的解决方案(重新启动以重新启动集群,搜索了Descripte pods,新的网络插件使用flannel进行了尝试),但我看不到实际的问题是什么。
我在Virtual box中做了完全相同的事情(只是ubuntu而不是ARM),一切都正常。
首先,我认为这是一个权限问题,因为我以普通用户的身份运行一切,但在vm中,我做了同样的事情,没有任何改变。
然后,我检查了kubectl get pods--所有名称空间,以验证weaver网络和kube dns的pods是否正在运行,以及是否存在任何问题。
这是Raspberry pi中的防火墙问题吗?
weave网络插件是否与arm设备不兼容(甚至kubernetes网站也表示不兼容)?
我猜这是一个api网络问题,这就是为什么我不能在节点上运行我的pod
[编辑]
日志文件
kubectl描述podName
>
> Name: my-nginx-9d5677d94-g44l6 Namespace: default Node: kubenode1/10.1.88.22 Start Time: Tue, 06 Mar 2018 08:24:13
> +0000 Labels: pod-template-hash=581233850
> run=my-nginx Annotations: <none> Status: Pending IP: Controlled By: ReplicaSet/my-nginx-9d5677d94 Containers:
> my-nginx:
> Container ID:
> Image: nginx
> Image ID:
> Port: 80/TCP
> State: Waiting
> Reason: ContainerCreating
> Ready: False
> Restart Count: 0
> Environment: <none>
> Mounts:
> /var/run/secrets/kubernetes.io/serviceaccount from default-token-phdv5 (ro) Conditions: Type Status
> Initialized True Ready False PodScheduled True
> Volumes: default-token-phdv5:
> Type: Secret (a volume populated by a Secret)
> SecretName: default-token-phdv5
> Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute for
> 300s
> node.kubernetes.io/unreachable:NoExecute for 300s Events: Type Reason Age From
> Message ---- ------ ---- ----
> ------- Normal Scheduled 5m default-scheduler Successfully assigned my-nginx-9d5677d94-g44l6 to kubenode1 Normal
> SuccessfulMountVolume 5m kubelet, kubenode1 MountVolume.SetUp
> succeeded for volume "default-token-phdv5" Warning
> FailedCreatePodSandBox 1m kubelet, kubenode1 Failed create pod
> sandbox. Normal SandboxChanged 1m kubelet, kubenode1
> Pod sandbox changed, it will be killed and re-created.
kubectl日志podName
Error from server (BadRequest): container "my-nginx" in pod "my-nginx-9d5677d94-g44l6" is waiting to start: ContainerCreating
JournalCtrl-u kubelet给出了此错误
Mar 12 13:42:45 kubeMaster kubelet[16379]: W0312 13:42:45.824314 16379 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 12 13:42:45 kubeMaster kubelet[16379]: E0312 13:42:45.824816 16379 kubelet.go:2104] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
问题似乎出在我的网络插件上。在my/etc/systemd/system/kubelet中。服务第10天。库比德。形态。网络插件的标志是否存在?环境=kubelet\u network\u args--cni bin dir=/etc/cni/net。d
--网络插件=cni