參考: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