【问题标题】:switching kubernetes CNI from weave to calico将 kubernetes CNI 从 weave 切换到 calico
【发布时间】:2020-02-28 00:59:06
【问题描述】:

我最初使用 weave 安装了 kubeadm v1.17 集群。我想把它换成使用印花布。但是,由于我最初没有使用

安装集群
kubeadm init --pod-network-cidr=192.168.0.0/16

按照文档,但是很简单

kubeadm init

我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?

【问题讨论】:

    标签: kubernetes weave project-calico


    【解决方案1】:

    要将集群中的 CNI 从 Weave Net 更改为 Calico,您可以执行以下操作:

    删除 weave-net pods 配置:

    kubectl delete -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
    

    然后通过在主节点上运行以下命令来更改 podCIDR:

    sudo kubeadm init phase control-plane controller-manager --pod-network-cidr=192.168.0.0/16
    

    192.168.0.0/16 是 Calico 使用的默认 podCIDR,只能更改一次。

    如果你之后尝试更改它会显示错误:

    spec.podCIDRs: Forbidden: 节点更新可能不会改变 podCIDR,除非 从“”到有效

    所以这是一种单向操作。

    之后就可以使用印花布了:

    kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml
    

    另外,如果您选择设置不同的 podCIDR,您必须在 kubeadm init 中指定 podCIDR:

    sudo kubeadm init phase control-plane all --pod-network-cidr=<your_podCIDR>
    

    然后修改 Calico DaemonSet:

    ...
    - name: CALICO_IPV4POOL_CIDR
    value: "<your_podCIDR>"
    ...
    

    然后应用它。但是如前所述,一旦指定了 podCIDR,您就无法执行此操作。可以添加,以后不能修改。

    【讨论】:

      猜你喜欢
      • 2019-05-22
      • 2019-05-05
      • 2018-04-15
      • 2021-08-31
      • 2021-10-26
      • 2020-05-01
      • 2019-03-25
      • 2022-08-24
      • 2020-11-02
      相关资源
      最近更新 更多