week1 lidetao - XLab-Tongji/AIOpsConceptualModeling GitHub Wiki

云平台

Cloud Computing Platform

将物理资源虚拟化为虚拟机资源池,实现按需访问并实时迁移虚拟机资源

  • 资源层:服务器集群,利用分布式处理技术

  • 虚拟层:在物理集群基础上建立的虚拟机,最大化资源利用率

  • 中间件层:监测、预警、优化虚拟机资源池

  • 应用层:提供GUI

docker

容器:和宿主机共享硬件资源及操作系统,可实现资源动态分配,在用户空间以分离的进程运行

docker属于Linux容器封装,隔离了进程,使其远离底层系统,将应用程序及其依赖打包在配置文件中

优势

轻量化,可共用内核和app库,对系统利用率高

启动快速,秒级别启动,可快速部署

需要资源少,OS级别虚拟化,性能损耗极小

缺点

安全性弱,租户、宿主机root不分离,容易受到攻击

  • Image(镜像) 特殊的ufs,提供程序、库、资源、配置等文件及运行的配置参数
  • Container(容器) 容器 = 镜像 + 读写层,即容器最上面的一层可读可写
  • Repository(仓库) 集中存放、发放镜像文件(docker registry),提供托管服务,提供不同版本的image,tag对应版本,即:registry➡multi repository➡multi tag➡image

框架

C/S S负责构建、运行、分发Docker image

docker组件的协作:customer执行docker run➡docker daemon响应cli,启动API server接收cli请求,用内部router调度

docker daemon可以从hub上下载本地不存在的image

Dockerfile:自动构建docker image的配置文件,命令格式:INSTRUCTION argument

Kubernetes

k8s

一个用于容器集群的自动化部署、扩容、运维的开源平台

负责管理服务中所有Docker容器的创建、运行、重启和删除

新增/修改需求时可以快速部署以供测试,部署时自动检查硬件资源并进行服务器分配,且可以根据不同条件动态变容,自动更新列表服务中的新增实例

支持多种语言,便于对接新应用

通过管理对象来管理整个k8s集群

声明式管理

三层网络模型:PodIP 每个服务的唯一标识 ClusterIP 一个服务多个实例组成的集群的入口IP NodeIP 每个服务器的IP

优势

具备Docker特性,减少依赖环境冲突和运维成本

虚拟化服务器资源,针对每个服务器(Node)的资源进行运维,高效地利用资源

出现进程丢失可以切换其他服务器并重启

可视化管理,便于服务资源监控,退版本或升级、项目部署均很方便,有大量公共资源

结构

由Master和Worker节点组成

Master

ETCD 负责存储worker相关(数据库)

controller manager 负责维护集群状态

scheduler 负责资源调度

Worker

kubelet 维护容器生命周期

kube-proxy 为服务提供 cluster内部的信息

kube-dns 为整个集群提供DNS服务

部署方式

minikube 在本地快速运行单点k8s

kubeadm

发行版二进制包

知识图谱

知识图谱使用图来表示数据,并用某种方式显式地表示知识。

定义:知识图谱是一种用于收集和表达真实世界知识的数据图,图的节点表示相关实体,图的边表示实体之间的关系。

数据图:基于图结构的数据模型,将数据通过图进行抽象。常见的三种数据图如下:

有向标记图:节点及节点之间有向标记边的集合。节点用于表示实体,边用于表示实体间的二元关系。完整的边标签应包括动词。如RDF(资源描述框架)

图数据集:同时管理多个图,通常为一系列命名图和一个默认图

属性图:允许为节点和边关联一个标签和一系列属性值

本体

对特定领域之中某套概念及其相互之间关系的正式且详细的形式化表达,包括:

  • classes:描述领域中的概念

  • slots:描述每个概念的属性

  • facets:描述属性的限制

本体及其classes的实例集构成一个知识库

构建本体的过程

定义本体中的概念并将概念分层,确定父类、子类,并定义其属性及其限制,最后进行实例的填充

  1. 确定本体的范围和领域

  2. 开发类层次结构,可以选择自顶向下的细化或自底向上的归纳,或结合两者

子类的实例一定是父类的实例

  1. 定义类的属性及其限制

属性的种类:内在属性、外在属性、部件、与其他个体的关系,属性应放置到最宽泛的类中。在此基础上对这些属性做出限制,如属性基数(定义值的个数)、属性值类型(定义string boolean等等类型)。特别的,instance类型用于表示个体之间的关系,需要定义允许的类,即范围,而一个属性所属的类则是该属性的领域

尽量保持类的宽泛性,但不要过于宽泛。

  1. 创造实例

创建某类的实例后写入其属性值即可。

tips:命名时统一单复数;避免类的循环;siblings应在2-12个之间;一个类可以同时是多个类的子类;本体应该只保留最关键的属性;构建本体时应明确分离类;注意本体命名规范

任何领域都没有单一的正确本体

ontology web language(owl)demo编写

参考资料

https://zhuanlan.zhihu.com/p/136570668