Kubernetes

时间:2017-04-27 15:39:19

标签: kubernetes flannel

我在单个主机上安装了新的Kubernetes 1.6.2 master,现在尝试使用https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml启动Flannel

吊舱没有出现:

$ kubectl get pods kube-flannel-ds-l6gn4 --namespace kube-system   
NAME                    READY     STATUS             RESTARTS   AGE
kube-flannel-ds-l6gn4   1/2       CrashLoopBackOff   36         2h

$ kubectl logs kube-flannel-ds-l6gn4 --namespace kube-system kube-flannel
E0427 15:35:52.232093       1 main.go:127] Failed to create 
SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-l6gn4': the server does not allow access to the requested resource (get pods kube-flannel-ds-l6gn4)

我也尝试使用默认的serviceaccount,但它不会出现。

3 个答案:

答案 0 :(得分:5)

如果您使用的是RBAC授权程序,则还需要创建https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel-rbac.yml以设置法兰绒服务帐户的角色和权限

答案 1 :(得分:3)

请注意,要使用法兰绒安装Kubernetes,您需要指定--pod-network-cidr标志。见kubeadm init section

实施例

kubeadm init --pod-network-cidr=10.244.0.0/16

然后作为Jordan的Menionned,在某些环境中你需要安装RBAC

kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml

如果您仍然遇到问题,请检查

  1. 确保您的cni插件二进制文件位于/ opt / cni / bin中。您应该看到每个CNI加载项的相应二进制文件

  2. 确保网络加载项的CNI配置文件位于/etc/cni/net.d下。 [root @ node1] #ls /etc/cni/net.d 10 flannel.conf

  3. 运行ifconfig检查docker,flannel bridge和虚拟接口是否已启动

  4. 如github上提到的那样 https://github.com/kubernetes/kubernetes/issues/36575#issuecomment-264622923

    如果有帮助,我写了complete blog post on the topic

答案 2 :(得分:0)

对于可能最近才查找此文件的人,most recent docs指出正确的配置命令(对于启用RBAC的1.7+)是:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

请注意,还有instruction docs for older versions /没有RBAC,其状态为:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-legacy.yml

请注意,要在旧版本之上安装RBAC:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml