一、hc(华为云、公有云)、hcso、hcs的区别
1、hc:公有云,物料是华为的,客户买华为服务,数据在华为,华为在线安装,升级、运维,数据控制者;
2、hcso(hcs online):混合云,物料是客户的(也会买华为的硬件),客户买华为服务,数据在客户,华为在线安装,升级、运维(从客户机房拉线)
3、hcs:混合云,物料是客户的(也会买华为的硬件),客户买华为的服务,数据在客户,华为现场安装,升级、运维,设备供应者。
hcip学习笔记-华为云运维方案-9:https://blog.csdn.net/gonewway/article/details/131528217?
hcip:
告警术语
故障:云服务的意外中断或华为云公有云服务质量的下降,面向用户提供的服务发生不可用及用户体验有损的场景定义为故障
隐患:现网云服务发生故障的潜在风险点,如不提前处理可能会引发现网故障
事件型告警:在某一时刻突然触发的错误性告警,例如:某一刻虚拟机蓝屏故障、某接口调用失败
指标型告警:在特定网站,多某个监控指标设置阈值,持续达到阈值时触发的动作,比如:cpu利用率过高,磁盘使用率过高
告警工单:通过告警规则生成的工单,由告警处理人按照规范进行处理,告警平台统一处理承载
告警氛围三个等级:critical(紧急)、major(重要)、info(提示)
二、k8s相关
deployment不是直接控制pod的,deployment是通过一种名为replicaset的控制器控制pod,通过kubectl get rs可以查看replicaset
回滚也称回退,即发现升级出现问题时,让应用回到老的版本,deployment可以非常方便的回滚到老版本,deployment之所以能够如此容易的做到回滚,是因为deployment通过replicaset控制pod的,升级后之前replicaset都一直存在,deployment回滚做的就是使用之前的replicaset再次把pod创建出来,deployment中保存replicaset的数量可以使用revisionhistorylimit参数限制,默认值是10.
job和cronjob
job和cronjob是负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次任务,它保证批处理任务的一个或多个pod成功结束
job:是kubernetes用来控制批处理型任务的资源对象,批处理业务与长期伺服业务(deployment、statefulset)的主要区别是批处理业务的运行有头有尾,而长期伺服业务在用户不停止的情况下永远运行。job管理的pod根据用户的设置把任务成功完成就自动退出(pod自动删除)
cronjob:是基于时间的job,类似于linux的crontab文件中的一行,在指定的时间周期运行指定的job
任务负载的这种用完即停止的特性特别适合一次性任务,比如持续集成
docker和containerd调用链区别
docker(kubernetes 1.23及以下版本)
kubelet–>docker shim (在kubelet进程中)–>docker–>containerd
docker(kubernetes 1.24及以上版本社区方案)
kubelet–>cri-dockerd(在kubelet使用cri接口对接cri-dockerd)–>docker–>containerd
containerd
kubelet–>cri plugin(在containerd进程中)–>containerd
其中docker虽增加了swarm cluster、docker build、docker api等功能,但也会引入一些bug,并且与containerd相比,多了一层调用,因此containerd被认为更加节省资源且安全
devops持续交付场景
开发者–>提交代码–代码库–>源码到镜像–>swr–>cce(测试环境、预发环境、生产环境)
云容器引擎与其他服务的关系图:
- 对象存储服务是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。云容器引擎支持创建obs对象存储卷并挂载到容器的某一路径下。-
- 云容器引擎对接了aom,aom会采集容器日志存储中的“.log”等格式日志文件,转储到aom中,方便您查看和检索;并且云容器引擎基于aom进行资源监控,为您提供弹性伸缩能力。
- 区域(region):从地理位置和网络时延维度划分,同一个region内共享弹性计算、块存储、对象存储、vpc网络、弹性公网ip、镜像等公共服务。region分为通用region和专属region,通用region指面向公共租户提供通用云服务的region,专属region指只承载同一类业务或只面向特定租户提供业务服务的专用region;
- 可用区(az—available zone):一个az是一个或多个物理数据中心的集合,有独立的风火水电,az内逻辑上再将计算、网络、存储等资源划分成多个集群。一个region中的多个az见通过高速光纤相连,以满足用户跨az构建高可用性系统的需求。
一般情况,若客户的应用需要较高的容灾能力,建议将资源部署在同一区域的不同可用区;(一般国内区域间的差别并不大,可暂不考虑时延问题)
三、容器网络
kubernetes本身并不负责网络通信,但提供了容器网络接口cni(container network interface),具体的网络通信交由cni插件来实现。开源的cni插件非常多,像flannel、calico等。针对kubernetes网络,cce也定制了相应的cni插件(canal和yangtse),用于负责集群内网络通信。
kubernetes虽然不负责搭建网络模型,但要求集群网络满足以下要求:
- pod能够互相通信,且pod必须通过非nat网络连接,即收到的数据包的源ip就是发送数据包pod的ip。
- 节点之间可以在非nat网络地址转换的情况下通信。
1、pod通信
同一个节点中的pod通信
pod通过虚拟ethernet接口对(veth pair)与外部通信,veth pair像一根网线,一端在pod内部,一端在pod外部。同一个节点上的pod通过网桥(linux bridge)通信,如下图所示。
在同一节点上的pod会通过veth设备将一端连接到网桥,且它们的ip地址是通过网桥动态获取的,和网桥ip属于同一网段。此外,同一节点上的所有pod默认路由都指向网桥,网桥会负责将所有非本地地址的流量进行转发。因此,同一节点上的pod可以直接通信。
不同节点上的pod通信
kubernetes要求集群pod的地址唯一,因此集群中的每个节点都会分配一个子网,以保证pod的ip地址在整个集群内部不会重复。在不同节点上运行的pod通过ip地址互相访问,该过程需要通过集群网络插件实现,按照底层依赖大致可分为overlay模式、路由模式、underlay模式三类。
overlay模式是在节点网络基础上通过隧道封装构建的独立网络,拥有自己独立的ip地址空间、交换或者路由的实现。vxlan协议是目前最流行的overlay网络隧道协议之一。
路由模式采用vpc路由表的方式与底层网络相结合,能够更加便捷地连接容器和主机,在性能上会优于overlay的隧道封装。
underlay模式是借助驱动程序将节点的底层网络接口直接暴露给容器使用的一种网络构建技术,享有较高的性能,较为常见的解决方案有ip vlan等。
发表评论