华为datacom-HCIA学习之路

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为datacom-HCIA学习之路相关的知识,希望对你有一定的参考价值。

华为datacom-HCIA

​​华为datacom-HCIA 1​​

​​1. 第四弹 5​​

​​1.1. OSPF认证 5​​

​​1.1.1. 基于接口认证 5​​

​​1.1.1.1. 接口认证更优先 6​​

​​1.1.1.2. [R2]interface g0/0/1 6​​

​​1.1.1.3. [R2-g0/0/1]ospf authentication-mode simple huawei 6​​

​​1.1.1.3.1. 明文认证 6​​

​​1.1.1.4. [R2-g0/0/1]ospf authentication-mode md5 1 cipher huawei 6​​

​​1.1.1.4.1. MD5认证 6​​

​​1.1.2. 基于区域认证 6​​

​​1.1.2.1. ospf 1 7​​

​​1.1.2.2. area 0 7​​

​​1.1.2.3. authentication-mode simple cipher huawei 7​​

​​1.2. OSPF选路 7​​

​​1.2.1. 标准:优先级、子网掩码、开销值 7​​

​​1.2.2. cost=带宽参考值(100MB/S)/接口带宽 7​​

​​1.2.3. 路由传递的入方向,接口开销之和 7​​

​​1.2.4. 修改cost值方式 7​​

​​1.2.4.1. 1、修改带宽参考值 7​​

​​1.2.4.1.1. [Huawei-ospf-1]bandwidth-reference x 8​​

​​1.2.4.2. 2、修改一个接口 8​​

​​1.2.4.2.1. [Huawei-GigabitEthernet0/0/0] ospf cost cost 8​​

​​1.3. 命令 8​​

​​2. 第五弹 9​​

​​2.1. WLAN原理与配置 10​​

​​2.1.1. Virtual Local Area Network虚拟局域网 10​​

​​2.2. VLAN 10​​

​​2.2.1. 虚拟局域网 10​​

​​2.2.2. 将一个物理局域网,在逻辑上划分成多个小的局域网 10​​

​​2.2.3. 通过在交换机上配置VLAN,可以实现,在同一个VLAN的用户可以相互通信,不同vlan的用户被二层隔离 11​​

​​2.2.4. 作用:隔离广播域 11​​

​​2.2.5. 交换机通过Tag区分不同的VLAN ID 11​​

​​2.3. VLAN数据帧格式 11​​

​​2.3.2. DMAC SMAC Type Data FCS 11​​

​​2.3.2.1. 没有携带Tag的帧 12​​

​​2.3.3. DMAC SMAC Tag Type Data FCS(帧尾) 12​​

​​2.3.3.1. 携带Tag的帧 12​​

​​2.3.3.2. Tag 4字节 12​​

​​2.3.3.3. TPID 12​​

​​2.3.3.3.1. 标签协议标识:0x8100,代表vlan tag 12​​

​​2.3.3.4. TCI 12​​

​​2.3.3.4.1. Pri:优先级,用于服务质量 13​​

​​2.3.3.4.2. CFI:是否支持令牌环网络 13​​

​​2.3.3.5. VLAN ID 13​​

​​2.3.3.5.1. 12bit 13​​

​​2.3.4. Tag 14​​

​​2.3.4.1. VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明 14​​

​​2.3.4.2. TPID:Tag Protocol Identifier,2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃 14​​

​​2.3.4.3. TCI:Tag Control Information,2字节。帧的控制信息,详细说明如下 14​​

​​2.3.4.3.1. Priority:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧 14​​

​​2.3.4.3.2. CFI:Canonical Format Indicator,1比特。CFI表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0 14​​

​​2.3.4.3.3. VLAN Identifier:VLAN ID,12比特,在X7系列交换机中,可配置的VLAN ID取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,不能给用户使用 15​​

​​2.3.4.4. 在现有的交换网络环境中,以太网的帧有两种格式 15​​

​​2.3.4.4.1. 没有加上VLAN标记的标准以太网帧(untagged frame);有VLAN标记的以太网帧(tagged frame) 15​​

​​2.4. 链路类型 15​​

​​2.4.1. access类型 15​​

​​2.4.1.1. 接入链路 16​​

​​2.4.1.1.1. 连接主机和交换机 16​​

​​2.4.2. trunk链路 16​​

​​2.4.2.1. 干道链路 16​​

​​2.4.2.1.1. 交换机与交换机之间 17​​

​​2.4.3. hybrid链路 17​​

​​2.4.3.1. 混合链路,华为专有 17​​

​​2.4.3.2. 手动定义对于tag的处理动作 17​​

​​2.5. PVID 17​​

​​2.5.1. 端口 VLAN ID 17​​

​​2.5.2. 默认情况下,每个端口的vlan id都是1 18​​

​​2.6. 端口收发规则 18​​

​​2.6.1. access端口 18​​

​​2.6.1.1. 接收规则 18​​

​​2.6.1.1.1. 收到一个不带tag字段的数据帧,添加上tag字段,VLAN ID的取值为本端口PVID的值 18​​

​​2.6.1.2. 发送规则 18​​

​​2.6.1.2.1. 查看数据帧的VLAN ID和本端口的PVID是否相同,相同去掉tag发送,不同丢掉 19​​

​​2.6.2. trunk端口 19​​

​​2.6.2.1. 发送规则 19​​

​​2.6.2.1.1. 1、首先查看数据帧的VLAN ID是否在允许通过列表中 19​​

​​2.6.2.1.2. 2、 19​​

​​2.6.2.2. 接收规则 20​​

​​2.6.2.2.1. 1、收到一个不带tag的数据帧,添加tag字段,VLAN ID取值为本端口的值,然后查看允许通过列表 20​​

​​2.6.2.2.2. 2、收到一个带tag的数据帧,查看允许通过列表 21​​

​​2.6.3. hybrid端口 21​​

​​2.6.3.1. 发送规则 21​​

​​2.6.3.1.1. 查看VLAN ID是否在允许通过列表 22​​

​​2.6.3.2. 接收规则 23​​

​​2.6.3.2.1. 1、收到一个不带tag的数据帧,打上本端口的PVID,查看允许通过列表 23​​

​​2.6.3.2.2. 2、收到一个带tag的数据帧,查看允许通过列表 23​​

​​2.7. 命令配置 24​​

​​2.7.1. 创建VLAN 24​​

​​2.7.1.1. 创建一个VLAN 24​​

​​2.7.1.1.1. vlan batch 10 25​​

​​2.7.1.2. 创建多个vlan 25​​

​​2.7.1.2.1. vlan batch 10 20 30 25​​

​​2.7.1.3. 创建多个连续的vlan 25​​

​​2.7.1.3.1. vlan batch 10 to 50 25​​

​​2.7.2. access 25​​

​​2.7.2.1. 1、进入接口 26​​

​​2.7.2.1.1. interface e0/0/1 26​​

​​2.7.2.2. 2。设置链路类型 26​​

​​2.7.2.2.1. [Huawei-Ethernet0/0/4]port link-type access 26​​

​​2.7.2.3. 3、设置所属的VLAN ID 26​​

​​2.7.2.3.1. [Huawei-Ethernet0/0/4]port default vlan 20 26​​

​​2.7.3. trunk 26​​

​​2.7.3.1. 1、进入接口 27​​

​​2.7.3.2. 2、设置链路类型 27​​

​​2.7.3.2.1. [Huawei-Ethernet0/0/1]port link-type trunk 27​​

​​2.7.3.3. 3、设置允许通过VLAN 27​​

​​2.7.3.4. 4、更改PVID 27​​

​​2.7.4. hybrid 27​​


华为datacom-HCIA学习之路_datacom


第四弹​

华为datacom-HCIA学习之路_datacom_02


OSPF认证​

华为datacom-HCIA学习之路_数据帧_03


基于接口认证​

华为datacom-HCIA学习之路_华为认证_04


接口认证更优先​

华为datacom-HCIA学习之路_数据帧_05


[R2]interface g0/0/1​
[R2-g0/0/1]ospf authentication-mode simple huawei​

华为datacom-HCIA学习之路_华为认证_06


明文认证​
[R2-g0/0/1]ospf authentication-mode md5 1 cipher huawei​

华为datacom-HCIA学习之路_华为认证_07


MD5认证​

基于区域认证​

华为datacom-HCIA学习之路_数据帧_08


ospf 1​
area 0​
authentication-mode simple cipher huawei​

OSPF选路​

华为datacom-HCIA学习之路_优先级_09


标准:优先级、子网掩码、开销值​

cost=带宽参考值(100MB/S)/接口带宽​

路由传递的入方向,接口开销之和​

修改cost值方式​

华为datacom-HCIA学习之路_链路_10


1、修改带宽参考值​

华为datacom-HCIA学习之路_链路_11


[Huawei-ospf-1]bandwidth-reference x​
2、修改一个接口​

华为datacom-HCIA学习之路_datacom_12


[Huawei-GigabitEthernet0/0/0] ospf cost cost​

命令​

华为datacom-HCIA学习之路_数据帧_13


华为datacom-HCIA学习之路_数据帧_14


华为datacom-HCIA学习之路_华为认证_15


第五弹​

华为datacom-HCIA学习之路_优先级_16


WLAN原理与配置

华为datacom-HCIA学习之路_优先级_17


Virtual Local Area Network虚拟局域网

VLAN

华为datacom-HCIA学习之路_链路_18


虚拟局域网

将一个物理局域网,在逻辑上划分成多个小的局域网

通过在交换机上配置VLAN,可以实现,在同一个VLAN的用户可以相互通信,不同vlan的用户被二层隔离

作用:隔离广播域

交换机通过Tag区分不同的VLAN ID

VLAN数据帧格式

华为datacom-HCIA学习之路_优先级_19


华为datacom-HCIA学习之路_数据帧_20


DMAC SMAC Type Data FCS

华为datacom-HCIA学习之路_数据帧_21


没有携带Tag的帧

DMAC SMAC Tag Type Data FCS(帧尾)

华为datacom-HCIA学习之路_数据帧_22


携带Tag的帧

Tag 4字节

TPID

华为datacom-HCIA学习之路_datacom_23


标签协议标识:0x8100,代表vlan tag

TCI

华为datacom-HCIA学习之路_datacom_24


Pri:优先级,用于服务质量
CFI:是否支持令牌环网络

VLAN ID

华为datacom-HCIA学习之路_链路_25


12bit

华为datacom-HCIA学习之路_数据帧_26


2^12=4096个
取值范围:0~4095
可用:1~4094

Tag

华为datacom-HCIA学习之路_华为认证_27


VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明

TPID:Tag Protocol Identifier,2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃

TCI:Tag Control Information,2字节。帧的控制信息,详细说明如下

华为datacom-HCIA学习之路_datacom_28


Priority:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧
CFI:Canonical Format Indicator,1比特。CFI表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0
VLAN Identifier:VLAN ID,12比特,在X7系列交换机中,可配置的VLAN ID取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,不能给用户使用

在现有的交换网络环境中,以太网的帧有两种格式

华为datacom-HCIA学习之路_华为认证_29


没有加上VLAN标记的标准以太网帧(untagged frame);有VLAN标记的以太网帧(tagged frame)

链路类型

华为datacom-HCIA学习之路_数据帧_30


access类型

华为datacom-HCIA学习之路_优先级_31


接入链路

华为datacom-HCIA学习之路_优先级_32


连接主机和交换机

trunk链路

华为datacom-HCIA学习之路_数据帧_33


干道链路

华为datacom-HCIA学习之路_datacom_34


交换机与交换机之间

hybrid链路

华为datacom-HCIA学习之路_华为认证_35


混合链路,华为专有

手动定义对于tag的处理动作

PVID

华为datacom-HCIA学习之路_datacom_36


端口

默认情况下,每个端口的vlan id都是1

端口收发规则

华为datacom-HCIA学习之路_datacom_37


access端口

华为datacom-HCIA学习之路_华为认证_38


接收规则

华为datacom-HCIA学习之路_优先级_39


收到一个不带tag字段的数据帧,添加上tag字段,VLAN ID的取值为本端口PVID的值

发送规则

华为datacom-HCIA学习之路_链路_40


查看数据帧的VLAN ID和本端口的PVID是否相同,相同去掉tag发送,不同丢掉

trunk端口

华为datacom-HCIA学习之路_华为认证_41


发送规则

华为datacom-HCIA学习之路_链路_42


1、首先查看数据帧的VLAN ID是否在允许通过列表中
2、

华为datacom-HCIA学习之路_数据帧_43


(1)在允许通过列表中,则查看数据帧的VLAN ID和本端口的PVID是否相同

华为datacom-HCIA学习之路_优先级_44


相同则去掉tag发送

不同则带着tag发送

(2)不在列表中,直接丢弃

接收规则

华为datacom-HCIA学习之路_datacom_45


1、收到一个不带tag的数据帧,

华为云技术分享Python成长之路机器学习:10+分类算法汇总学习

一直都说python是人工智能、机器学习等算法的良配,很多python大神除了常规的大数据爬虫、网站开发等代码能力外,人工智能/机器学习也都是手到擒来。因此我也“跳坑”来看看 。

由于python sklearn库的良好集成,我发现无论对于各类算法的实现、训练、预测都很简单,而且不同算法之间的代码逻辑和使用方法也不尽相同。那就干脆来个一锅端,来个10+分类算法的汇总集锦。

示例代码

这次为了方便理解,我直接先放代码,然后再简单入门级地讲讲各类算法的优劣。

  1 from sklearn import svm
  2 from sklearn.neural_network import MLPClassifier
  3 from sklearn.tree import DecisionTreeClassifier
  4 from sklearn.neighbors import KNeighborsClassifier
  5 from sklearn.naive_bayes import BernoulliNB
  6 from sklearn.naive_bayes import GaussianNB
  7 from sklearn.naive_bayes import MultinomialNB
  8 from sklearn.linear_model import LogisticRegression
  9 from sklearn.ensemble import RandomForestClassifier
 10 from sklearn.ensemble import AdaBoostClassifier
 11 import xgboost
 12 import lightgbm
 13 import time
 14 from sklearn import metrics
 15 from sklearn.model_selection import train_test_split
 16 import random
 17 import numpy
 18 from openpyxl import Workbook,load_workbook
 19 
 20 
 21 def train_test_algorithm(model, x_train, y_train, x_test, y_test):
 22     print(begin to train……)
 23     start_time = time.time()
 24     model.fit(x_train, y_train)
 25     print(begin to predict……)
 26     y_pred_model = model.predict(x_test)
 27     classifier = str(model).split(()[0]
 28     print(begin to get the result of Classifier_Type:{}....format(classifier))
 29     score = metrics.accuracy_score(y_test, y_pred_model)
 30     print(The accuracy score of {0} is: {1}%.format(classifier, round(score * 100, 2)))
 31     end_time = time.time()
 32     use_time = end_time - start_time
 33     print(The time of using {0} is :{1}.format(classifier, round(use_time, 2)))
 34     print({} test end!

.format(classifier))
 35     return score, round(use_time, 2), classifier
 36 
 37 
 38 def get_redball():
 39     redlist = []
 40     while len(redlist) < 7:
 41         temp = random.randint(1, 34)
 42         if temp not in redlist:
 43             redlist.append(temp)
 44     return redlist
 45 
 46 
 47 def get_blueball():
 48     return random.randint(1, 17)
 49 
 50 
 51 def get_data():
 52     x_temp, y_temp = [], []
 53     for i in range(2000):
 54         x_temp.append(get_redball())
 55         y_temp.append(get_blueball())
 56     x = numpy.array(x_temp)
 57     y = numpy.array(y_temp)
 58     return x, y
 59 
 60 def get_data2():
 61     import csv
 62     data = csv.reader(open(winequality-red.csv,r))
 63     labels,xlist=[],[]
 64     firstline = True
 65     for i in data:
 66         if firstline:
 67             firstline = False
 68         else:
 69             r = i[0].split(;)
 70             labels.append(float(r[-1]))
 71             r.pop()
 72             floatrow = [float(num) for num in r]
 73             xlist.append(floatrow)
 74     # 转化为numpy格式
 75     x = numpy.array(xlist)
 76     y = numpy.array(labels)
 77     return x,y
 78 
 79 
 80 if __name__ == __main__:
 81     # 定义各类分类算法
 82     svc = svm.SVC()  # 支持向量机,SVM
 83     mlp = MLPClassifier()  # 多层感知机,MLP
 84     dtc = DecisionTreeClassifier()  # 决策树,DT
 85     knc = KNeighborsClassifier()  # K最近邻,KNN
 86     bnb = BernoulliNB()  # 伯努利贝叶斯,BNB
 87     gnb = GaussianNB()  # 高斯贝叶斯,GNB
 88     mnb = MultinomialNB()  # 朴素贝叶斯,MNB
 89     lgr = LogisticRegression()  # 逻辑回归,LGR
 90     rfc = RandomForestClassifier()  # 随机森林,RFC
 91     abc = AdaBoostClassifier()  # AdaBoost
 92     xgb = xgboost.XGBClassifier()  # xgboost
 93     gbm = lightgbm.LGBMClassifier()  # lightgbm
 94 
 95     # 训练/测试数据生成
 96     # 真实红酒销售数据
 97     x, y = get_data2()
 98     # 随机生成的双色球红蓝球数据
 99     # x,y = get_data()
100     x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.20, random_state=531)
101     classify_type_list = [svc, mlp, dtc, knc, bnb, gnb, mnb, lgr, rfc, abc, xgb, gbm]
102     test_result = {}
103     tablename = wine_result
104     wb = load_workbook(result.xlsx)
105     try:
106         ws = wb[tablename]
107     except:
108         ws = wb.create_sheet(tablename)
109     ws.append([classifer_type,score,use_time])
110     for i, type in enumerate(classify_type_list):
111         score, use_time, classifier = train_test_algorithm(type, x_train, y_train, x_test, y_test)
112         ws.append([classifier,str(round(100*score,2))+%,use_time])
113     wb.save(result.xlsx)

这里有两组测试数据,一组是机器学习官网常用的红酒质量数据(下载地址:"http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv"),一组是2000期双色球红/蓝球号码(当然这里我自己偷懒了,是用随机函数生成的,但不影响对机器学习算法的学习)。

对应的测试结果如下:

(1)双色球数据测试结果:

技术图片

(2)红酒质量数据测试结果:

技术图片

知识串讲

(1)分类算法代码实现流程:

1、准备数据样本,通过train_test_split函数可自动按比例生成训练和测试的数据数量,如样例代码为20%的测试数据,80%的训练数据;

2、实例化具体某个算法,如mlp = MLPClassifier();

3、通过fit函数对训练数据(x_train/y_train)进行预处理;

4、基于测试x_test数据进行具体算法的预测(predict函数实现),产生y_pred_data;

5、将预测数据y_pred_data与真实数据y_test进行对比,可以通过平方差等各类评估方法来判定,分类算法的准确率。

从流程上来讲,后面分类算法实现上都可以参照我的样例代码来做。

(2)示例代码有一部分代码是涉及excle表(csv/xlsx格式等)的处理,常用的python库有csv、openpyxl、xlrd等。因此我准备下次对excle表处理再进行汇总整理。这次就不具体记录了。

分类算法对比总结

支持向量机(SVM):通过分类面使两侧样本数据到分类面的最小距离最大,通俗地讲就是让他们离分类面都滚远点;当前在文本识别、人脸识别等场景中都有应用 优点:泛化性能高,能解决高维问题;对小样本的机器学习效果好 缺点:对缺失数据敏感,对非线性问题缺少通用解决方案,参数调节和函数的选择对算法准确率有很大影响

多层感知机(MLP) 其实就是两层的传统神经网络,是为了解决非线性问题(单层感知机只能对线性数据进行分类),通过将第一层神经元计算结果作为第二层输入,进行计算预测 优点:能处理非线性问题 缺点:随着层数增加会导致过拟合,参数调节难,梯度弥散、单侧抑制性等问题

决策树(DT) 通过多个结点判断进行结果判定,类似树的节点为条件,叶节点为分类结果 优点:适用于高维数据 缺点:对各类别样本数量不一致时,会对多样本的类别偏向;易过拟合,会忽略数据之间的相关性

K最近邻(KNN) 通过训练数据与预测数据之间的最邻近K个实例来判断,如果多数实例属于某个类别则预测数据属于那一类 优点:可以处理多分类问题,简单易懂 缺点:每次分类需要重新计算训练数据和测试数据,效率低;对训练数据的容错性较差,对多维数据无法处理

朴素贝叶斯(MNB) 对于待分类数据,通过学习得到的模型计算后验概率分布,并以后验概率作为 类别断定,一般用于新闻分类、垃圾邮件过滤 优点:模型参数少,对缺失数据不敏感,算法简单 缺点:实际应用中数据集属性无法保证相互独立,当数据集呈现不同属性时会导致分类效果大大下降;另外需要事先知道先验概率

逻辑回归(LGR) 是一种广义的线性回归分析模型,一般用于二分类问题,给定一些输入,给出是或否的结果 优点:计算量较小,易于实现和理解 缺点:容易出现欠拟合,对数据正确性高度依赖;如果无效数据过高会直接影响分类精度

随机森林(RFC) 通过随机森林中所有决策树的预测,进行平均值计算,如果哪一分类被选择最多,则预测数据就属于哪一类 优点:能降低过拟合风险,不会因为少量异常导致整体出错,因此相对稳定 缺点:计算成本高,训练时间长,如果训练数据有噪音则会出现过拟合现象

AdaBoost 将多个弱分类器通过加权结合,使其成为一个强分类器 优点:泛化误差低,不易过拟合,易与其他分类算法结合使用 缺点:对异常点非常敏感,并在分错后会逐级影响后面的弱分类器

xgboost 在GBDT(梯度提升决策树)基础发展而来,利用cpu的多线程引入正则化项 优点:不易过拟合,计算有提升,支持线性分类,能通过自动学习解决样本缺失问题 缺点:数据规格大时贪心算法比较耗时,对cache优化不友好

lightgbm 梯度boosting框架的升级版,使用基于学习算法的决策树,能通过减少数据并行过程中的通讯开销提升效率,目前貌似是最热闹的boosting算法 优点:训练效率快,支持并行化学习,能处理大规格数据。速度比xgboost更快

结束

以上示例代码,其实并不能完全代表一类算法的优劣,因为我用的都是默认参数。针对不同测试数据,其实是需要具体来调参的,比如xgboost算法,其实有以下参数。因此我今天只是入门级地了解下机器学习的框架流程。

1 base_score=0.5, booster=gbtree, colsample_bylevel=1,
2               colsample_bynode=1, colsample_bytree=1, gamma=0,
3               learning_rate=0.1, max_delta_step=0, max_depth=3,
4               min_child_weight=1, missing=None, n_estimators=100, n_jobs=1,
5               nthread=None, objective=binary:logistic, random_state=0,
6               reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,
7               silent=None, subsample=1, verbosity=1

作者:华为云特约供稿开发者 鹏哥贼优秀

以上是关于华为datacom-HCIA学习之路的主要内容,如果未能解决你的问题,请参考以下文章

华为云技术分享Python成长之路机器学习:10+分类算法汇总学习

位居中国机器学习公有云市场份额第一,华为云 ModelArts 的进阶之路

AI平民化之路 - 华为云ModelArts和AI Gallery体验指南

skywalking学习之路---skywalking环境从零搭建

华为云的Kubernetes实践之路

图说:华为开放云之路OpenStack篇