【K8s網路】自定義Calico部署清單
參考:https://docs.projectcalico.org/getting-started/kubernetes/installation/config-options
自定義 Calico 清單
關於自定義 Calico 清單
每個清單都包含在 Kubernetes 叢集中的每個節點上安裝 Calico 所需的所有資源。
它安裝以下 Kubernetes 資源:
- 使用 DaemonSet 在每個主機上安裝 calico/node 容器。
- 使用 DaemonSet 在每個主機上安裝 Calico CNI 二進位制檔案和網路配置。
- 執行 calico/kube-controllers 作為deployment。
- calico-etcd-secrets 可選擇允許提供 etcd TLS 資產。
- calico-config ConfigMap,其中包含用於配置安裝的引數。
以下部分更深入地討論了可配置引數。
配置 pod IP 範圍
Calico IPAM 從 IP 池分配 IP 地址。
要更改用於 Pod 的預設 IP 範圍,請修改calico.yaml中 CALICO_IPV4POOL_CIDR 環境變數。
配置 IP-in-IP
預設情況下,清單啟用跨子網的 IP-in-IP 封裝。 許多使用者可能想關閉IP-in-IP封裝,比如以下情況。
- 他們的叢集 在正確配置的 AWS VPC 中執行。
- 他們所有的 Kubernetes 節點都連線到同一個第 2 層網路。
- 他們打算使用 BGP 對等互連讓他們的底層基礎設施路由到 pod IP 地址。
要禁用 IP-in-IP 封裝,請修改 CALICO_IPV4POOL_IPIP 環境變數。
從 IP-in-IP 切換到 VXLAN
預設情況下,Calico 清單啟用 IP-in-IP 封裝。 如果您在阻止 IP-in-IP 的網路上,例如 作為Azure,你不妨切換到 Calico 的VXLAN 封裝模式 。 要在安裝時執行此操作(以便 Calico 建立帶有 VXLAN 的預設 IP 池,並且無需進行 IP-in-IP 配置) 撤銷):
- 從用於策略和網路的 Calico 清單之一開始。
- 使用 CALICO_IPV4POOL_VXLAN 替換環境變數名 CALICO_IPV4POOL_IPIP. 將新變數的值保留為“Always”。
- 可選,(如果您執行的是 VXLAN-only 叢集,為了節省一些資源)完全禁用 Calico 基於 BGP 的 聯網:
- 使用 calico_backend: "vxlan" 代替 calico_backend: "bird". 這將禁用 BIRD。
- 註釋掉來自 calico/node 就緒/存活檢查部分的 - -bird-ready 和 - -bird-live (否則禁用 BIRD 將導致 在每個節點上的就緒/存活檢查失敗):
livenessProbe:
exec:
command:
- /bin/calico-node
- -felix-live
# - -bird-live
readinessProbe:
exec:
command:
- /bin/calico-node
# - -bird-ready
- -felix-ready
有關 calico/node 的配置變數的更多資訊,包括其他 VXLAN 設定,請參閱 配置 calico/node(https://docs.projectcalico.org/reference/node/configuration) 。
作者:Varden 出處:http://www.cnblogs.com/varden/ 本文內容如有雷同,請聯絡作者! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。注意 : CALICO_IPV4POOL_VXLAN 環境變數僅在第一個 calico/node 啟動時生效 建立預設 IP 池。 池已經建立後,它沒有任何影響。 切換到 VXLAN 模式 安裝完成後,使用calicoctl修改 IPPool 資源。