1. 程式人生 > 其它 >【K8s網路】自定義Calico部署清單

【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)

注意 : CALICO_IPV4POOL_VXLAN 環境變數僅在第一個 calico/node 啟動時生效 建立預設 IP 池。 池已經建立後,它沒有任何影響。 切換到 VXLAN 模式 安裝完成後,使用calicoctl修改 IPPool 資源。

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