【K8s網絡】爲本地部署安裝 Calico 網絡和網絡策略

參考:https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises數據庫

肯定您的數據存儲

Kubernetes API數據存儲是Kubernetes工做負載推薦的數據存儲。api

注意 : 不建議將 etcd 數據庫用於新安裝。 可是,若是您將 Calico 做爲 OpenStack 和 Kubernetes 的網絡插件運行,則它是一個選項。服務器

在節點上安裝 Calico

根據您的數據存儲和節點數量,選擇下面的選項以安裝 Calico。網絡

注意 :超過 50 個節點使用 Kubernetes API 數據存儲提供擴展 Typha 守護進程。 etcd 不包含 Typha,由於 etcd 已經處理了許多客戶端,所以使用 Typha 是多餘的,不推薦使用。app

使用 Kubernetes API 數據存儲安裝 Calico,50 個或更少節點

1.下載 Kubernetes API 數據存儲的 Calico 網絡清單。curl

curl https://docs.projectcalico.org/manifests/calico.yaml -O

2.若是您使用的是 pod CIDR 192.168.0.0/16,跳到下一步。 若是您在 kubeadm 中使用不一樣的 pod CIDR,則無需更改 - Calico 將根據運行配置自動檢測 CIDR。 對於其餘平臺,請確保取消對清單中的 CALICO_IPV4POOL_CIDR 變量的註釋,並將其設置爲與您選擇的 pod CIDR 相同的值。url

3.根據須要自定義清單(https://docs.projectcalico.org/getting-started/kubernetes/installation/config-options)。插件

4.使用如下命令應用清單。code

kubectl apply -f calico.yaml

默認部署的細節以下:
blog

使用 Kubernetes API 數據存儲安裝 Calico,超過 50 個節點

1.下載 Kubernetes API 數據存儲的 Calico 網絡清單。

curl https://docs.projectcalico.org/manifests/calico-typha.yaml -o calico.yaml

2.若是您使用的是 pod CIDR 192.168.0.0/16,跳到下一步。 若是您在 kubeadm 中使用不一樣的 pod CIDR,則無需更改 - Calico 將根據運行配置自動檢測 CIDR。 對於其餘平臺,請確保取消對清單中的 CALICO_IPV4POOL_CIDR 變量的註釋,並將其設置爲與您選擇的 pod CIDR 相同的值。

3.將calico-typha命名的Deployment副本計數修改成所需的數量

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: calico-typha
  ...
spec:
  ...
  replicas: <number of replicas>

咱們建議每 200 個節點至少有一個副本,而且不超過 20 個副本。 在生產中,咱們建議至少三個副本以減小滾動升級和故障的影響。 副本數應始終小於節點數,不然滾動升級將中止。

警告 :若是你設置 typha_service_name並設置 Typha 部署副本 計數到 0,Felix 將不會啓動。

4.若是須要,自定義清單(https://docs.projectcalico.org/getting-started/kubernetes/installation/config-options)。

5.應用清單。

kubectl apply -f calico.yaml

部署的細節以下:

使用 etcd 數據存儲安裝 Calico

注意: 不建議將 etcd 數據庫用於新安裝。 可是,若是您將 Calico 做爲 OpenStack 和 Kubernetes 的網絡插件運行,則它是一個選項。

1.下載 etcd 的 Calico 網絡清單。

curl https://docs.projectcalico.org/manifests/calico-etcd.yaml -o calico.yaml

2.若是您使用的是 pod CIDR 192.168.0.0/16,跳到下一步。 若是您在 kubeadm 中使用不一樣的 pod CIDR,則無需更改 - Calico 將根據運行配置自動檢測 CIDR。 對於其餘平臺,請確保取消對清單中的 CALICO_IPV4POOL_CIDR 變量的註釋,並將其設置爲與您選擇的 pod CIDR 相同的值。

3.在 calico-config 命名的 ConfigMap 裏面,設置 etcd_endpoints 值到您的 etcd 服務器的 IP 地址和端口。

提示 :您能夠指定多個 etcd_endpoint,使用逗號做爲分隔符。

4.若是須要,能夠 自定義清單(https://docs.projectcalico.org/getting-started/kubernetes/installation/config-options)。

5.使用如下命令應用清單。

kubectl apply -f calico.yaml

部署的細節以下:

相關文章
相關標籤/搜索