首页 > 其他分享 >Calico 部署

Calico 部署

时间:2023-08-17 13:33:22浏览次数:38  
标签:部署 operator calico yaml 清单 CIDR Calico

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

相关文章

  • ModemWMS部署
    官方源码&&部署参考https://gitee.com/modernwms/ModernWMS 最新源码下载https://gitee.com/modernwms/ModernWMS/repository/archive/master.zip 部署脚本如下(备注:官方部署文档有所缺陷,以下脚本已验证)#!/bin/bash#依赖部署sudoaptupdatesudoaptinstall-ynpmsudo......
  • 从0开始,Cloudreve开源云盘在centos7上部署,并可在外网访问(资料整合)
    全程我在网络上收集这些资料,太零碎了,每一个一看就会,一动手就废,而且很多都不能实现我白嫖的梦想我一个人折腾了快一周,现在可以正常访问手机电脑多端访问给个赞再走吧此处为没有公网IP(回去折腾你家宽带去,不知道可以去搜索如何获得)和域名的办法简单的说就是想完全白嫖的那种(甚至......
  • Streamlit项目: 轻松搭建部署个人博客网站
    文章目录1前言1.1探索Streamlit:轻松创建交互式应用1.2最全Streamlit教程专栏2我的个人博客网站已上线!2.1一个集成了智能中医舌诊-中e诊专栏的博客网站2.2前期准备2.3使用StreamlitCloud运行3知识点讲解3.1实现多页面:两种方案3.2代码讲解3.3实现步骤3.4完整代码4......
  • kuboard部署在k8s集群中
    kuboard部署在k8s集群中,yaml配置文件#catkuboard.yamlapiVersion:apps/v1kind:Deploymentmetadata:labels:app:kuboardname:kuboardspec:replicas:1selector:matchLabels:app:kuboardtemplate:metadata:labels:......
  • Weblogic集群部署
    Weblogic集群部署Weblogic包官方下载地址:https://www.oracle.com/cn/middleware/technologies/weblogic-server-downloads.html服务规划:我们使用2台设备进行搭建,其中一台设备上部署控制台管理节点和受管理节点,一台设备上只部署受管理节点该部署以RedHat7为例安装前准备(所......
  • kubeadm 部署的集群升级教程
    1、确定升级的集群版本,查看现有的集群版本kubectl getnodes2、执行如下命令确定升级的版本,目标版本是v1.27.4yumlist--showduplicateskubeadm--disableexcludes=kubernetes3、升级master节点,所有master节点都要操作,并升级完验证版本yuminstall-ykubeadm-1.27.4-0-......
  • AlphaPose 部署
    AlphaPose为开源项目。项目基于PyTorch深度学习框架,所以要安装PyTorch,一般来说把这两个教程看完,PyTorch就能成功安装了:搭建Pytorch环境(GPU版本,含CUDA、cuDNN),并在Pycharm上使用(零基础小白向)PyCharm与Anaconda超详细安装配置教程之后就是AlphaPose的本地部署,copy源码后一......
  • 基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
    (基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程)1Jenkins是什么?学习官网:Jenkins官网,Jenkins中文官网;Jenkins是一款开源CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件;用Java语言编写的,可在Tomcat、Docker等流行的容器中运行,也可独立运行。......
  • 利用Docker简化机器学习应用程序的部署和可扩展性
    利用Docker的强大功能:简化部署解决方案,确保可扩展性,并简化机器学习模型的持续集成/持续交付(CI/CD)流程。机器学习(ML)近年来取得了爆炸性增长,导致对稳健、可扩展和高效部署方法的需求增加。传统方法往往需要帮助将ML模型操作化,原因包括训练和服务环境之间的差异或扩展的困难。Docker是......
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践
    一.前言近期,ChatGLM-6B的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性:①.基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6;②.支持8K-32k的上下文;③.推理性能提升了42%;④.对学术研究完全开放,允许申请商用授权。目前大多数部署方案采用的是fastapi+uvi......