【问题标题】:Flannel installation on Kubernetes在 Kubernetes 上安装 Flannel
【发布时间】:2017-09-25 12:16:16
【问题描述】:

我在单个主机上安装了新的 Kubernetes 1.6.2 主服务器,现在尝试使用 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)

我也尝试过使用默认服务帐户,但它不会出现。

【问题讨论】:

    标签: kubernetes flannel


    【解决方案1】:

    如果你使用的是RBAC授权器,还需要创建https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel-rbac.yml来设置flannel服务账号的角色和权限

    【讨论】:

      【解决方案2】:

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

      例子

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

      然后正如 Jordan 所说,在某些环境中您需要安装 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 网桥和虚拟接口是否已启动

      正如在 github 上提到的 https://github.com/kubernetes/kubernetes/issues/36575#issuecomment-264622923

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

      【讨论】:

        【解决方案3】:

        对于最近可能正在寻找此功能的任何人,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/without 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
        

        【讨论】:

          【解决方案4】:

          不工作

          adminka@l-test:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-legacy.yml 服务帐户/法兰绒不变 configmap/kube-flannel-cfg 已配置 错误:无法识别“https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-legacy.yml”:版本“extensions/v1beta1”中没有匹配类型“DaemonSet” "

          adminka@l-test:~$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml 无法识别“https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml”:版本“rbac.authorization.k8s”中的“ClusterRole”类型不匹配.io/v1beta1" 无法识别“https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml”:版本“rbac.authorization.k8s”中没有匹配类型“ClusterRoleBinding” .io/v1beta1" adminka@l-test:~$

          【讨论】:

          • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
          猜你喜欢
          • 2020-10-06
          • 1970-01-01
          • 2020-02-17
          • 2015-10-03
          • 1970-01-01
          • 1970-01-01
          • 2018-02-26
          • 2017-10-14
          • 2017-02-05
          相关资源
          最近更新 更多