Ansible 批量管理华为 CE 交换机

注:本文为 “Ansible 管理华为 CE 交换机” 相关文章合辑。


使用 CloudEngine - Ansible 批量管理华为 CE 交换机

wsf535 IP 属地:贵州

2018.02.05 15:26:05

总体介绍

Ansible 是一个开源的自动化运维工具,AnsibleWorks 成立于 2012 年,由自动化工具 Cobbler 及 Func 的开发者 Michael DeHaan 创建,基于 Python 开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible 能够安装在包括 Linux、BSD、Mac OS X 等平台。

Ansible 的 CloudEngine 模块是一个开源的,社区支持的应用程序。使用 CloudEngine 模块,可实现对华为数据中心 CE 系列交换机的自动化部署和配置。 您可以从 https://github.com/HuaweiSwitch/CloudEngine-Ansible 下载。

img

CloudEngine-Ansible 环境安装:

官方 git 地址:https://github.com/HuaweiSwitch/CloudEngine-Ansible

测试最新版本与 2.3 版本都有点问题,(需要加 export ANSIBLE_HOST_KEY_CHECKING=false 这个参数,不然连接会报错) 功能正常的是 2.0 版本

以下是在 centos 7 上的安装:

环境准备:

安装 ansible, 因 2.0 版本支持的 ansible 是 2.2 所以直接安装 ansible2.2, 通过 pip 方式安装

安装 python-devel (不安装,在安装 ansible 会报错)

yum install python-devel

安装 pip

wget https://bootstrap.pypa.io/get-pip.py && python get-pip.py
pip install ansible==2.2

安装 ncclient

 pip install ncclient

下载安装 ce-ansible:

下载

wget https://github.com/HuaweiSwitch/CloudEngine-Ansible/archive/v0.2.0.zip

解压

unzip v0.2.0.zip
cd CloudEngine-Ansible-0.2.0/
sh install.sh

交换机端的配置:(使用的是 ce5855)


# 配置一个 SSH 用户

aaa
local-user wsf535 password irreversible-cipher $1a$}") FR_EZ!*$q9Y/I (iUOXbg~g!!cLuOe9:-OV=;XA*vD9NQ:tk5$
 local-user wsf535 service-type ssh
 local-user wsf535 level 15
#
ssh user wsf535 authentication-type password
ssh user wsf535 service-type all
ssh authorization-type default aaa
#
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound ssh

# 开启 netconf(关键,不开启会导致配置命令失败)

snetconf server enable

使用及排错:

如果 centos 系统没连接过交换机会报以下错

An exception occurred during task execution. 
To see the full traceback, use -vvv. The error was: IOError: [Errno 2] 
No such file or directory: '/root/.ssh/known_hosts'

解决方法:手动 SSH 连接一下

ssh username@172.16.200.6 

执行第一条测试命令:

ansible -m ce_command -a "commands='display vlan summary' transport='cli' host=172.16.200.6 port=22 username=wsf535 password=ABC@2017" localhost --connection local

如果成功返回则安装成功:


localhost | SUCCESS => {

    "changed": false, 
    "stdout": [
        "Number of static VLAN: 10\nVLAN ID: 1 16 to 20 22 25 to 26 99 \n\nNumber of dynamic VLAN: 0\nVLAN ID: \n\nNumber of service VLAN: 31\nVLAN ID: 4064 to 4094"
    ], 
    "stdout_lines": [
        [
            "Number of static VLAN: 10", 
            "VLAN ID: 1 16 to 20 22 25 to 26 99", 
            "", 
            "Number of dynamic VLAN: 0", 
            "VLAN ID:", 
            "", 
            "Number of service VLAN: 31", 
            "VLAN ID: 4064 to 4094"
        ]
    ], 
    "warnings": []
}

使用 playbook

定义主机,我的测试环境只有这一台,如果有多台加到 cloudengine 标签下

cat /etc/ansible/hosts 
[all:vars]
ansible_connection='local'
username='wsf535'
password='ABC@2017'
ansible_ssh_port=22
[cloudengine]
172.16.200.6

新建一下 vlan.yml 文件,以下内容表示创建 vlan 50

---
- hosts: cloudengine
  gather_facts: no
  vars:
    test_vlan: 50
  tasks:  

  - ce_vlan: vlan_id={{test_vlan}} name="WEB" host={{inventory_hostname}} username={{username}} password={{password}} port={{ansible_ssh_port}}

执行操作

ansible-playbook vlan.yml 

成功结果:

img

最后编辑于 :2018.03.08 17:01:40


使用华为 ansible CE 模块管理华为交换机

fengbingjin 于 2020-08-16 02:21:46 发布

华为 ansible CE 模块管理华为交换机

华为自己开源了 CE 交换机 ansible 管理模块,用 ansible 管理交换机那是相当的方便,现在 ansible CE 模块数量已经到了 60 多个,ansible 脚本已经能满足大部分的自动运维管理工作了

在这里插入图片描述

测试环境

在这里插入图片描述

  1. VMware 虚拟机,ubuntu20.04-lts;

  2. 华为 ESNP 模拟器,V100R300C00SPC100;

安装部署

python 配置

ubuntu 虚拟机安装部署好后,系统自带 python3,需要安装 pip3,再通过 pip3 安装 ncclient 模块

apt install python3-pip
pip3 install ncclient

我的虚拟机上两条命令就完成 python 的配置,在另外一台树莓派上 ansible 脚本没有运行成功,报错 python 没有安装 paramiko 模块,还有某些依赖包没有安装,不一一列举了,百度一下就能解决

ansible

ansible 安装配置很简单,直接用 apt 命令安装就行,且自带华为的 CE 模块,不需要去华为的 Github 上去找源码安装,GitHub 上的已经三年没更新,bug 一堆


apt install ansible

配置 ansible 的配置文件 /etc/ansible/ansible.cfg,这里要把 host_key_cheking = False 取消注释,原因是不注释掉,如果本机从来没有 ssh 登录交换机,ansible 检查用户目录下.ssh/known_hosts 文件,发现没有交换机的 key 值,不会执行命令脚本

在这里插入图片描述

/etc/ansible/hosts 文件,配置登录参数和交换机清单

在这里插入图片描述

[all:vars]
ansible_connection=local
ansible_ssh_user=huawei
ansible_ssh_pass=Changeme_123
ansible_ssh_port=22
[cloudengine]
192.168.2.10

ansible playbook 脚本测试

脚本文件 ce.yml,测试 ce_interface 模块,批量打开交换机的端口

下图可见 1-9 口原处于 shutdown 状态

在这里插入图片描述

ce.yml 文件如下,作用是打开 2-9 端口

---
- name: CloudEngine ce_interface test
  hosts: cloudengine
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ ansible_ssh_user }}"
      password: "{{ ansible_ssh_pass }}"
      transport: cli
  tasks:
  - name: "Admin up interfaces"
    ce_interface:
        interface: "{{ item }}"
        admin_state: up
        provider: "{{ cli }}"
    with_items:
            - ge1/0/2
            - ge1/0/3
            - ge1/0/4
            - ge1/0/5
            - ge1/0/6
            - ge1/0/7
            - ge1/0/8
            - ge1/0/9

执行 ansible-playbook ce.yml,结果如下

在这里插入图片描述

去交换机上看结果,2-9 端口都处于 up 状态了

在这里插入图片描述

再用 dis c c c 命令查看交换机配置变更历史

在这里插入图片描述

实验成功!


Ansible 之管理华为交换机配置

恒悦 sunsite 于 2021-05-12 15:15:40 发布

一、需求说明

信息系统日常运维中除了服务器,我们还有很多网络设备,比如路由器、交换机、防火墙等。虽然从专业线上分类由主机工程师、网络工程师分别管理,但是在很多小单位可能配置的岗位并不充足,往往是一人身兼数个角色。很荣幸,Ansible 也支持网络设备的管理,本文介绍如何使用 Ansible 管理华为交换机,目前只支持管理 CE 系列交换机。

环境说明:

  • Ansible 主控机操作系统:centos 8.0.1905

  • Ansible 版本:2.9.21

  • python 版本:3.6.13

  • 交换机型号:CE6800

  • 交换机软件版本:V200R005C10SPC607B607

二、配置步骤

1、查看华为相关的模块

如下所示跟华为相关的模块有 68 个,均以 ce 开头

[root@centos8 ~]# ansible-doc -l |grep -i huawei |wc -l
68

[root@centos7 ~]# ansible-doc -l |grep -i huawei
ce_aaa_server Manages AAA server global configuration on HUAWEI CloudEngine switches
ce_aaa_server_host Manages AAA server host configuration on HUAWEI CloudEngine switches
ce_acl Manages base ACL configuration on HUAWEI CloudEngine switches

hwc_network_vpc Creates a Huawei Cloud VPC
hwc_smn_topic Creates a resource of SMNTopic in Huaweicloud Cloud

2、使用 ce_command 模块查看交换机信息

  • 查看交换机路由信息

    使用命令:[root@centos8 ~]# ansible -m ce_command -a “commands=‘display ip routing-table’ transport=‘cli’ host=192.168.200.100 port=22 username=admin1 password=123456” localhost --connection local

执行后查看的路由信息如下:

在这里插入图片描述

  • 查看 vlan 信息

    使用命令:[root@centos8 ansible]# ansible -m ce_command -a “commands=‘display vlan sum’ transport=‘cli’ host=192.168.200.100 port=22 username=admin1 password=123456” localhost --connection local

在这里插入图片描述

3、配置交换机组的 inventory 文件

[root@centos8 ansible]# cat switchs
[hw]
192.168.200.100 ansible_ssh_port=22 ansible_ssh_user=admin1 ansible_ssh_pass=123456

4、配置 playbook 文件

创建备份 交换机配置 的 playbook,备份到目录 /tmp/backup

[root@centos7 ansible]# vim ce.yml

[root@centos8 ansible]# cat ce.yaml 
- name: CE switch command test.
  hosts: hw
  connection: local
  gather_facts: no
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ ansible_ssh_user }}"
      password: "{{ ansible_ssh_pass }}"
      transport: cli
  tasks:
  - name: configurable backup path
    ce_config:
      lines: sysname {{ inventory_hostname }}
      provider: "{{ cli }}"
      backup: yes
      backup_options:
        filename: backup.cfg
        dir_path: /tmp/backup

5、执行 playbook 任务

[root@centos8 ansible]# ansible-playbook -i switchs ce.yaml

在这里插入图片描述

三、QA

1、执行 ansible-playbook 时报错 No module named ‘ncclient’

[root@centos8 ansible]# pip3 install ncclient

2、执行 playbook 时报错 "Unable to decode JSON from response to exec_command (**). Received ‘None’.

在这里插入图片描述

写在最后,尝试了各种 python 版本、操作系统版本都是报这个错,估计与 eNSP 模拟器 ce6800 有关。折腾了 3 天了,只能放弃了。直接执行是成功的,执行 play-book 报错没有收到交换机的任何信息。


Ansible Network 的基本用法,包括配置管理、状态采集的教程

玩机科技社已于 2023-03-31 18:40:28 修改

Ansible Network 是 Ansible 的一个模块,专门用于管理网络设备,比如交换机、路由器、防火墙等。使用 Ansible Network,我们可以通过编写 Ansible Playbook 来实现自动化的配置管理和状态采集。下面将介绍 Ansible Network 的基本用法。

  1. 安装 Ansible 和 Ansible Network

首先需要安装 Ansible 和 Ansible Network。如果已经安装了 Ansible,则可以使用以下命令安装 Ansible Network:

$ pip install ansible [core,base,netcommon,network]
  1. 编写 Ansible Playbook

Ansible Network 的 Playbook 与 Ansible 的普通 Playbook 类似,但是需要指定网络设备的类型和连接方式。下面是一个简单的 Ansible Network Playbook,用于配置一个 Cisco 交换机的 VLAN:

---
- name: Configure VLAN on Cisco switch
  hosts: switches
  gather_facts: no
  connection: network_cli
  vars:
    vlan_id: 10
    vlan_name: test_vlan
  tasks:
    - name: Create VLAN
      ios_vlan:
        vlan_id: "{{ vlan_id }}"
        vlan_name: "{{ vlan_name }}"
        state: present

该 Playbook 包含以下几个关键部分:

  • hosts:指定要管理的网络设备,可以使用主机名或 IP 地址。

  • gather_facts:关闭事实收集,因为网络设备可能无法返回系统信息。

  • connection:指定连接方式,network_cli 表示使用 SSH 连接到网络设备。

  • vars:定义变量,这里定义了 VLAN 的 ID 和名称。

  • tasks:具体的任务列表,这里只有一个任务,用于创建 VLAN。

  1. 运行 Ansible Playbook

运行 Ansible Network Playbook 与运行普通的 Ansible Playbook 类似,只需要使用 ansible-playbook 命令并指定 Playbook 文件即可。例如,运行上述 Playbook 可以使用以下命令:

$ ansible-playbook -i inventory.ini playbook.yaml

其中,inventory.ini 是一个 Ansible Inventory 文件,包含要管理的网络设备的列表。

  1. 状态采集

    img

    除了配置管理,Ansible Network 还可以用于状态采集,例如获取网络设备的端口状态、路由表等信息。下面是一个简单的 Ansible Network Playbook,用于获取一个 Cisco 路由器的接口状态:

---
- name: Collect interface status from Cisco router
  hosts: routers
  gather_facts: no
  connection: network_cli
  tasks:
    - name: Get interface status
      ios_command:
        commands:
          - show interfaces status
      register: result
    - name: Print interface status
      debug:
        var: result.stdout_lines

该 Playbook 包含以下几个关键部分:

  • hosts:指定要管理的网络设备,可以使用主机名或 IP 地址。

  • gather_facts:关闭事实收集,因为网络设备可能无法返回系统信息。

  • connection:指定连接方式,network_cli 表示使用 SSH 连接到网络设备。

  • 以下是了解网络设备管理工具 Ansible Network 的基本用法,包括配置管理、状态采集的教程:

    Ansible Network 是 Ansible 官方提供的一款用于管理网络设备的工具。它基于 Ansible 的核心技术,提供了专门用于管理网络设备的模块和插件,可以用来自动化配置、部署和管理网络设备。

    一、配置管理

  • 安装 Ansible Network

  • 在使用 Ansible Network 之前,需要安装 Ansible 和 Ansible Network。可以通过以下命令安装:

    $ sudo pip install ansible
    $ sudo pip install ansible-base
    $ sudo pip install ansible-core
    $ sudo pip install ansible-network
    
  • 配置 Ansible Inventory

  • Ansible Inventory 是 Ansible 用来管理主机清单的工具。使用 Ansible Network 时,需要将网络设备的管理 IP 地址加入到 Inventory 中。

    可以手动编辑 Inventory 文件,也可以使用动态 Inventory 来自动生成 Inventory 文件。以下是手动编辑 Inventory 文件的示例:

  • [network]
    10.0.0.1
    10.0.0.2
    [network:vars]
    ansible_network_os=ios
    ansible_user=admin
    ansible_password=123456
    ansible_connection=network_cli
    

    在 Inventory 文件中,可以定义多个组,每个组中包含多个主机。同时还可以为每个组和主机定义变量,以便在后续的任务中使用。

    在以上示例中,定义了一个名为 network 的组,包含两个主机 10.0.0.1 和 10.0.0.2。同时为该组定义了一些变量,如 ansible_network_os 表示网络设备的操作系统为 IOS,ansible_user 表示登录网络设备的用户名为 admin,ansible_password 表示登录密码为 123456,ansible_connection 表示连接方式为 network_cli。

  • 编写 Ansible Playbook

  • 在 Ansible 中,使用 Playbook 来描述一组任务。以下是一个简单的 Ansible Playbook 示例,用于将一个名为 config.cfg 的配置文件上传到网络设备上:

    ---
    - name: upload config file
      hosts: network
      tasks:
        - name: copy config file to network device
          network_cli:
            command_string: "copy tftp://10.0.0.3/config.cfg startup-config"
            authorize: yes
            authorize_password: 123456
    

    以上 Playbook 中,使用 network 组来指定目标设备。在 tasks 中,使用 network_cli 模块来执行命令,将 TFTP 服务器上的 config.cfg 文件拷贝到目标设备的 startup-config 文件中。其中,authorize 表示在执行命令前需要进行认证,authorize_password 表示认证密码为 123456。

  • 执行 Ansible Playbook

  • 使用以下命令执行 Ansible Playbook:

    $ ansible-playbook upload_config.yml
    

执行过程中,Ansible 会连接到目标设备,并将 config.cfg 文件上传到设备上。执行完成后,可以在目标设备上检查配置文件是否已经生效。


via:

  • 使用 CloudEngine - Ansible 批量管理华为 CE 交换机 wsf535 IP 属地:贵州
    https://www.jianshu.com/p/b2b3cffa972b

  • 使用华为 ansible CE 模块管理华为交换机 fengbingjin 于 2020-08-16 02:21:46 发布
    https://blog.csdn.net/fengbingjin/article/details/108031388

  • Ansible 之管理华为交换机配置 恒悦 sunsite 于 2021-05-12 15:15:40 发布
    https://blog.csdn.net/carefree2005/article/details/115527288

  • 20 了解网络设备管理工具 Ansible Network 的基本用法,包括配置管理、状态采集的教程
    https://blog.csdn.net/m0_58782029/article/details/129388320

  • HuaweiSwitch/CloudEngine - Ansible
    https://github.com/HuaweiSwitch/CloudEngine-Ansible

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941505.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年Python最新下载安装教程,附详细图文,持续更新

大家好,我是Python老安,今天为大家带来的是Windows Python3下载、安装教程,适用于 Python3 所有版本,包括 Python3.7,Python33.8,Python33.10 等版本。希望对大家有所帮助 Python目前已支持所有主流操作系统,在Linux,…

《点点之歌》“意外”诞生记

世界是“点点”的,“点点”是世界的。 (笔记模板由python脚本于2024年12月23日 19:28:25创建,本篇笔记适合喜欢诗文的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 …

网络安全检测

实验目的与要求 (1) 帮助学生掌握木马和入侵的防护和检测方法、提高学习能力、应用能力和解决实际问题的能力。 (2) 要求学生掌握方法, 学会应用软件的安装和使用方法, 并能将应用结果展示出来。 实验原理与内容 入侵检测是通过对计算机网络或计算机系统中若干关键点收集信…

c++------------------函数

函数定义 语法格式 函数定义包括函数头和函数体。函数头包含返回类型、函数名和参数列表。函数体是用花括号{}括起来的代码块,用于实现函数的功能。例如,定义一个计算两个整数之和的函数: int add(int a, int b) {return a b; }这里int是返回…

Java WEB:从起源到现代的传奇之旅

Java Web 起源于上世纪 90 年代,随着网络和浏览器的飞速发展,Java 为应对动态处理网页的需求,推出了 Servlet 技术。 1. Servlet 出现之前 在 Servlet 出现之前,用户请求主要是静态资源,如 html、css 等。此时的网络…

社区管理系统:实现社区信息数字化管理的实践

3.1可行性分析 开发者在进行开发系统之前,都需要进行可行性分析,保证该系统能够被成功开发出来。 3.1.1技术可行性 开发该社区管理系统所采用的技术是vue和MYSQL数据库。计算机专业的学生在学校期间已经比较系统的学习了很多编程方面的知识,同…

DataV的安装与使用(Vue3版本)

1、DataV(vue3)地址:DataV Vue3TSVite版 | DataV - Vue3 2、使用 npm install kjgl77/datav-vue3 安装 3、全局引入。 4、此时就可以按需使用了~

隐藏指定文件/文件夹和自动提示功能消失解决方案

一. 隐藏指定文件/文件夹 Idea中隐藏指定文件或指定类型文件 Setting → File Types → Ignored Files and Folders输入要隐藏的文件名,支持*号通配符回车确认添加 二. 自动提示功能消失解决方案 指定SpringBoot配置文件 File → Project Structure → Facets选…

springboot474基于web的垃圾分类回收系统(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统垃圾分类回收系统信息管理难度大,容错率低&am…

最优二叉搜索树【东北大学oj数据结构10-4】C++

题面 最优二叉搜索树是由 n 个键和 n1 个虚拟键构造的二叉搜索树,以最小化搜索操作的成本期望值。 给定一个序列 Kk1​,k2​,...,kn​,其中 n 个不同的键按排序顺序 ,我们希望构造一个二叉搜索树。 对于每个关键 ki​,我们有一个…

jsp-servlet开发

STS中开发步骤 建普通jsp项目过程 1.建项目(非Maven项目) new----project----other----Web----Dynamic Web Project 2.下载包放到LIB目录中,如果是Maven项目可以自动导包(pom.xml中设置好) 3.设置工作空间,网页…

easyExcel导出大数据量EXCEL文件,前端实现进度条或者遮罩层

需求:页面点击导出,先按照页面条件去数据库查询,然后将查询到的数据导出。 问题:由于查询特别耗时,所以点击之后页面会看上去没有反应 方案1:就在点击之后在页面增加了一个进度条,等待后端查询…

新版Android Studio 2024.1.2版本,如何通过无线wifi连接手机实现交互

1、首先,先确定手机是否启动了开发者选项 在我的设备 -> 全部参数 -> MIUI版本点击6下 (有的手机是 关于手机 -> 查看手机版本 ) 2、在设置中搜索 开启开发者选项 3、进入开发者选项后,在 调试 中选择 无线调试并选择…

CEF127 编译指南 MacOS 篇 - 编译 CEF(六)

1. 引言 经过前面的准备工作,我们已经完成了所有必要的环境配置。本文将详细介绍如何在 macOS 系统上编译 CEF127。通过正确的编译命令和参数配置,我们将完成 CEF 的构建工作,最终生成可用的二进制文件。 2. 编译前准备 2.1 确认环境变量 …

扩散模型经典问题:在Image-to-Image或Image-to-Video任务中,如何尽可能地保持住原始输入Image的特征?

AIGC算法工程师 面试八股文 2025年版本 在Image-to-Image或Image-to-Video任务中,如何尽可能地保持住原始输入Image的特征?你知道有哪些经典方法?这些方法各有什么优缺点? 目录 经典条件扩散模型 垫图法 Adapter方法 ControlNet方法 UNet中的ReferenceNet DiT中的Re…

0.96寸OLED显示屏详解

我们之前讲了 LCD1602,今天我们将它的进阶模块——OLED。它接线更少,性能更强,也能显示中文和图像了。 大家在学习单片机的时候是否会遇到调试的问题呢?例如 “这串代码我到底运行成功了没有” ,我相信很多刚开始学习…

windows下VSCode配置C++/CMake/Qt开发环境

文章目录 1 windows下vscode配置C/CMake开发环境2 windows下配置qt开发环境(qmakemingw)3 windows下配置qt开发环境(cmakemingwmsvc) 更多精彩内容👉内容导航 👈👉Qt开发经验 👈&…

项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”

一、UpdownController.cs 1、前端传入 当用户在下图的“记录查询”中的 两个界面选项 中,点击“导出”功能时,向后端发起请求,请求服务器下载文件的权限 【权限是在Program.cs中检测的,这个控制器里只需要进行“谁在哪个接口下载了文件”的日志记录】 【导出:是用户把…

30多种独特艺术抽象液态酸性金属镀铬封面背景视觉纹理MOV视频素材

使用 Prismatic Flows 转换您的项目!这个包拥有 30 多种独特的液体背景和动画,为任何创意活动提供令人惊叹的视觉效果。 棱镜流 – 动画背景和迭加包括30多种不同的液体背景和动画。这些高质量的资源非常适合通过充满活力和动态的视觉效果来增强您的项目…

车载网关性能 --- 车载网关通用buffer分配需求

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“香水”来掩盖问题。 无人问津也好,技不…