【K8s网络】在 K8s 上试用Calico网络

参考:https://docs.projectcalico.org/getting-started/kubernetes/quickstart

使用此快速入门可以快速轻松地试用 Calico 功能。

准备

如果主机上存在 NetworkManager,确保 Calico 可以管理 cali和 tunl主机上的接口。

配置NetworkManager

NetworkManager 操作默认网络中接口的路由表 命名空间,其中 Calico veth 对被锚定以连接到容器。 这会干扰 Calico 代理正确路由的能力。

在以下位置创建配置文件 /etc/NetworkManager/conf.d/calico.conf阻止 NetworkManager 干扰接口:

[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico

概念

基于 Operator 的安装

本快速入门指南使用 Tigera Operator 安装 Calico。 Operator 为 Calico 提供生命周期管理 通过定义为自定义资源定义的 Kubernetes API 公开。

注意 :也可以在没有 Operator 的情况下直接使用 Kubernetes 清单安装 Calico。 对于不使用 Tigera Operator 的平台和指南,您可能会注意到步骤和 Kubernetes 的一些差异 资源与本指南中提供的资源相比。

安装

初始化K8s集群

1.使用以下命令初始化 master:

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

注意 :如果 192.168.0.0/16 已在您的网络中使用,您必须选择不同的 pod 网络 CIDR,替换上面命令中默认的 192.168.0.0/16。

2.执行以下命令配置kubectl(也由 kubeadm init 返回):

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装Calico

1.安装 Tigera Calico Operator 和自定义资源定义。

kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml

2.通过创建必要的自定义资源来安装 Calico。

kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml

注意 :在创建此清单之前,请阅读其内容并确保其设置适合您的环境。 例如, 您可能需要更改默认 IP 池 CIDR 以匹配您的 pod 网络 CIDR。

3.使用以下命令确认所有 pod 都在运行。

watch kubectl get pods -n calico-system

注意 :Tigera Operator 将资源安装在 calico-system命名空间。 其他安装方法可能使用 kube-system 命名空间。

4.删除 master 上的污点,以便您可以在其上安排 pod。

kubectl taint nodes --all node-role.kubernetes.io/master-

它应该返回以下内容。

node/<your-hostname> untainted

5.使用以下命令确认您的集群中现在有一个节点。

kubectl get nodes -o wide

它应该返回如下内容。

NAME              STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION    CONTAINER-RUNTIME
<your-hostname>   Ready    master   52m   v1.12.2   10.128.0.28   <none>        Ubuntu 18.04.1 LTS   4.15.0-1023-gcp   docker://18.6.1
posted @ 2021-08-09 11:05  Varden  阅读(2128)  评论(0编辑  收藏  举报