我在Virtualbox
内运行的centos VM上安装kubernetes(kubeadm),因此我使用yum安装了kubeadm, kubelet
和docker
。
现在,在尝试使用kubeadm init --pod-network-cidr=192.168.56.0/24 --apiserver-advertise-address=192.168.56.33/32
设置群集时,我遇到以下错误:
Unable to update cni config: No networks found in /etc/cni/net.d
Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
所以我检查了cni
中的/etc
文件夹,即使安装了kubernetes-cni-0.6.0-0.x86_64
也是如此。我尝试在KUBELET_NETWORK_ARGS
中对/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
发表评论,但它没有成功。
PS:
我在代理服务器后面安装。
我有多个网络适配器:
NAT:10.0.2.15/24 for Internet
仅限主持人:192.168.56.33/32
和docker界面:172.17.0.1/16
Docker版本:17.12.1-ce
kubectl版本:专业:" 1", 轻微:" 9",GitVersion:" v1.9.3"
Centos 7
答案 0 :(得分:2)
添加Pod Network插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
答案 1 :(得分:1)
使用“ kubeadm init”设置集群时要记住几点,并且在Kubernetes站点kubeadm cluster create上有明确记录:
如果正确执行了所有这些步骤,则您的集群将正常运行。
不要忘记执行以下命令以在创建的集群上启用调度:
kubectl taint nodes --all node-role.kubernetes.io/master-
答案 2 :(得分:0)
这是Github
https://github.com/kubernetes/kubernetes/issues/34695
他们建议使用kubeadm init --use-kubernetes-version v1.4.1
,但我完全改变了我的网络(没有代理),我设法设置我的群集。
之后我们可以使用kubectl apply -f ...
设置pod网络,请参阅https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network
答案 3 :(得分:0)
选中this answer。
使用此PR(直到批准):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
这是一个已知问题:coreos/flannel#1044
答案 4 :(得分:0)
我看不到掌舵服务器版本:
$ helm version --tiller-namespace digital-ocean-namespace
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Error: could not find a ready tiller pod
kubectl describe node kubernetes-master --namespace digital-ocean-namespace
命令显示以下消息:
NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
节点尚未准备就绪:
$ kubectl get node --namespace digital-ocean-namespace
NAME STATUS ROLES AGE VERSION
kubernetes-master NotReady master 82m v1.14.1
kubernetes-worker-1 NotReady <none> 81m v1.14.1
我在Kubernetes和绒布网络之间存在版本兼容性问题。
我的k8s版本为1.14
,如命令所示:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:02:58Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
使用以下命令重新安装绒布网络后:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
然后我可以看到头盔服务器版本:
$ helm version --tiller-namespace digital-ocean-namespace
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
答案 5 :(得分:0)
我也遇到同样的错误,并且发现systemd
存在问题。我不记得我的上一个systemd
版本。但是更新它可以为我解决问题。
答案 6 :(得分:0)
我的问题是在创建集群之后,我正在更新主机名。这样,就像主人不知道是主人一样。
我仍在跑步:
sudo journalctl -u kubelet
[1] [2]
但是现在我在集群初始化之前运行它
导致我无法运行Unable to register node "ip-10-126-121-125.ec2.internal" with API server: nodes "ip-10-126-121-125.ec2.internal" is forbidden: node "ip-10-126-121-125" cannot modify node "ip-10-126-121-125.ec2.internal"
的错误:
Hashtable
答案 7 :(得分:0)
这是针对 AWS VPC CNI
第一步:kubectl get mutatingwebhookconfigurations -oyaml > 变异.txt
第 2 步:Kubectl delete -f mutating.txt
Step3:重启节点
Step4 : 您应该能够看到节点已准备就绪
步骤 5:重新安装 mutatingwebhook 配置
答案 8 :(得分:0)
我通过安装 Pod 网络附加组件解决了这个问题, 我使用了 Flannel pod 网络,这是一个非常简单的覆盖网络,满足 kubernetes 的要求
你可以用这个命令:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
您可以在 kubernetes 文档中阅读更多相关信息
答案 9 :(得分:0)
通过使用以下命令安装 Calico CNI 插件解决了这个问题:
curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubectl apply -f calico.yaml