1

kubeadm最初に weave を使用して v1.17 クラスターをインストールしました。calico を使用するように切り替えたいと思います。ただし、最初はクラスターをインストールしなかったため、

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

ドキュメントに従って、しかし単純な

kubeadm init

織りからキャリコへの移行を達成するには、どのような手順を実行する必要があるのか​​ 疑問に思っていましたか?

4

1 に答える 1

1

クラスターで CNI を Weave Net から Calico に変更するには、次の手順を実行します。

weave-net ポッド構成を削除します。

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/16Calico が使用するデフォルトの podCIDR であり、一度だけ変更できます。

後で変更しようとすると、エラーが表示されます。

spec.podCIDRs: Forbidden: ノードの更新では、「」から有効なものを除き、podCIDR が変更されない場合があります

したがって、一方通行の操作です。

その後、calico を適用できます。

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

さらに、別の podCIDR を設定することを選択した場合は、 で podCIDR を指定する必要がありますkubeadm init

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

次に Calico DaemonSet を変更します。

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

そしてそれを適用します。ただし、前述のように、podCIDR が指定されると、それを行うことはできません。追加はできますが、後で変更することはできません。

于 2020-02-28T12:26:35.777 に答える