阿里云注册集群—混合集群—安装和配置容器网络插件

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 混合集群中的容器网络插件包括本地数据中心中运行的容器网络插件和云上计算节点上运行的容器网络插件两部分。本文将介绍混合集群中的容器网络插件配置。

混合集群中的容器网络插件包括本地数据中心中运行的容器网络插件和云上计算节点上运行的容器网络插件两部分。本文将介绍混合集群中的容器网络插件配置。


场景一:本地数据中心容器网络模式为覆盖(Overlay)网络

若本地数据中心内的容器网络模式为覆盖网络,则云上计算节点也可以复用此网络模式,您只需要保证云上计算节点能够正常拉取容器网络插件守护进程集所使用的容器镜像即可。


例如,常用的覆盖网络模式有:

  • Flannel VXLAN模式。
  • Calico IPIP模式。
  • Cilium VXLAN模式。

场景二:本地数据中心容器网络模式为BGP网络

若本地数据中心内的容器网络模式为BGP网络,那么云上计算节点需要使用Terway网络,云上云下容器网络互通请参见云上边界路由器的BGP配置


在此场景下,我们需要保证:

  • 云下容器网络插件(如Calico BGP路由反射模式)的守护进程集不要被调度到云上计算节点。
  • 同时也要保证Terway网络插件的守护进程集不要被调度到云下计算节点。


在注册集群中,通过注册集群节点池扩容的计算节点都会添加一个固定的节点标签:alibabacloud.com/external=true,它可以作为我们区分云上云下节点的过滤条件。


例如,针对云下Calico网络插件,我们就可以使用nodeAffinity设置其不被调度到拥有标签alibabacloud.com/external=true的节点上。其他任何运行于云下且不希望被调度到云上的工作负载,都可以使用这种方式设置。更新Calico网络插件的命令如下:

cat <<EOF > calico-ds.pactch
spec:
  template:
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: alibabacloud.com/external
                operator: NotIn
                values:
                - "true"
EOF
$ kubectl -n kube-system patch ds calico-node -p "$(cat calico-ds.pactch)"


对于云上Terway网络插件,我们已经默认配置其只被调度到拥有标签alibabacloud.com/external=true的节点上。

场景三:本地数据中心容器网络为Host网络

由于本地数据中心内的容器网络使用的是Host网络,所以我们只需保证云上Terway网络插件的守护进程集不被调度到云下即可。云上Terway网络插件默认只调度到拥有节点标签为alibabacloud.com/external=true的云上节点上。



安装和配置Terway网络插件

在上面描述的场景二和场景三下,我们需要为混合集群的云上节点部分安装和配置Terway网络插件。


前置条件

首先要求您在创建注册集群时,已经配置了Terway网络所需参数,包括是否勾选IPvlan,Pod虚拟交换机和Service CIDR等,参见https://developer.aliyun.com/article/781974?groupCode=kubernetes



安装Terway插件

1)登录容器服务控制台

2)在控制台左侧导航栏中,单击集群

3)在集群列表页面中,单击目标注册集群页面右侧的详情

4)集群详情页签,点击运维管理下的组件管理

5)找到terway-eniip点击安装

image.png

您可以使用kubeconfig连接注册集群并查看Terway网络插件守护进程集,在混合集群扩容云上节点之前,它将不会被调度到任何一个云下节点上,如下所示:

kubectl -nkube-system get ds |grep terway
terway-eniip   0         0         0       0            0           alibabacloud.com/external=true      16s

配置Terway插件

在注册集群中,所有addon组件都使用用户自定义的Access Key来获取云资源的操作权限。您需要创建RAM子账号并为子账号授予以下RAM Policy:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:CreateNetworkInterface",
                "ecs:DescribeNetworkInterfaces",
                "ecs:AttachNetworkInterface",
                "ecs:DetachNetworkInterface",
                "ecs:DeleteNetworkInterface",
                "ecs:DescribeInstanceAttribute",
                "ecs:AssignPrivateIpAddresses",
                "ecs:UnassignPrivateIpAddresses",
                "ecs:DescribeInstances",
                "ecs:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "vpc:DescribeVSwitches"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}


然后编辑ConfigMap eni-config并配置eni_conf.access_key和eni_conf.access_secret


相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
27 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
8天前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
38 13
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
|
8天前
|
机器学习/深度学习 编解码 数据可视化
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
33 11
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
|
11天前
|
机器学习/深度学习 移动开发 测试技术
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
35 13
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
4天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
51 20
|
5天前
|
安全 数据挖掘 BI
|
4天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
91 15
|
2月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
299 78
|
1月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
158 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
2月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序