Calico 部署方式
Calico部署方式有两种:operator部署和清单方式部署。
Calico operator
Calico由operator安装,该operator负责管理Calico集群的安装、升级和一般生命周期。operator作为Deployment直接安装在集群上,并通过一个或多个自定义Kubernetes API资源进行配置。
Calico manifests
Calico也可以使用原始清单作为operator的替代品进行安装。清单包含在Kubernetes集群中的每个节点上安装Calico所需的资源。不建议使用清单,因为它们不能像operator那样自动管理Calico的生命周期。然而,清单可能对需要对底层Kubernetes资源进行高度特定修改的集群有用。
使用operator 部署 Calico
Operator 安装
# kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
下载配置 Calico 所需的自定义资源
# curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml -O
安装 Calico
# kubectl create -f custom-resources.yaml
使用manifests 部署Calico
Calico 使用Kubernetes API作为数据存储且集群节点少于等于50个
1. 下载Calico 清单
# curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml -O
2. 如果您使用的是 pod CIDR 192.168.0.0/16,请跳至下一步。如果您在 kubeadm 中使用不同的 pod CIDR,则无需进行任何更改 - Calico 将根据运行配置自动检测 CIDR。对于其他平台,请确保取消注释清单中的 CALICO_IPV4POOL_CIDR 变量,并将其设置为与您选择的 pod CIDR 相同的值。
3. 根据需要自定义清单
4. 应用清单
# kubectl apply -f calico.yaml
Calico 使用Kubernetes API作为数据存储且集群节点大于50个
1. 下载Calico 清单
curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/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-typa的部署中将副本计数修改为所需的数字。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: calico-typha
...
spec:
...
replicas: <number of replicas>
我们建议每 200 个节点至少有 1 个副本,并且不超过 20 个副本。在生产中,我们建议至少三个副本,以减少滚动升级和故障的影响。副本数量应始终小于节点数量,否则滚动升级将停止。此外,只有当 Typha 实例少于节点数时,Typha 才有助于扩展。
如果设置typa_service_name并将typha部署副本计数设置为0,则Felix将不会启动。
4. 如果需要,可以自定义清单。
5. 应用清单
# kubectl apply -f calico.yaml
Calico 使用etcd作为数据存储
1. 下载Calico 清单
curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/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. 在ConfigMap中的calico-config,将etcd_endpoints的值设置为 etcd 服务器的 IP 地址和端口。可以使用逗号作为分隔符来指定多个etcd_endpoint。
4. 根据需要自定义清单
4. 应用清单
# kubectl apply -f calico.yaml
验证集群中的 Calico
# watch kubectl get pods -n calico-system
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-node-txngh 1/1 Running 0 54s
参考文档
https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremises
标签:部署,operator,calico,yaml,清单,CIDR,Calico From: https://www.cnblogs.com/wangguishe/p/17635391.html