【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
作者:Varden
出處:http://www.cnblogs.com/varden/
本文內容如有雷同,請聯絡作者!
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。