cri-dockerd是什么?   在Kubernetesv1.24及更早版本中,我们使用docker作为容器引擎在k8s上使用时,依赖一个dockershim的内置k8s组件;k8sv1.24发行版中将dockershim组件给移除了;取而代之的就是cri-dockerd(当然还有其它容器接口);简单讲CRI就是容器运行时接口(ContainerRuntimeInterface,CRI),也就是说cri-dockerd就是以docker作为容器引擎而提供的容器运行时接口;即我们想要用docker作为k8s的容器运行引擎,我们需要先部署好cri-dockerd;用cri-dockerd来...

  vJr1jzVKsLVk   2023年11月02日   57   0   0 云计算

1、pod的调度流程及常见状态 1.1、pod的调度流程 Pod创建过程如上图所示,首先用户向apiserver发送创建pod的请求,apiserver收到用于创建pod请求后,对应会对该用户身份信息进行验证,该用户是否是合法的用户,是否具有创建pod的权限,如果能够通过apiserver的验证,则进行下一步,对用户提交的资源进行准入控制,所谓准入控制是指对用户提交的资源做格式,语法的验证,是否满足apiserver中定义的对应资源的api格式和语法;如果上述身份验证和准入控制能够顺利通过,接下来,apiserver才会把对应创建pod的信息存入etcd中,否者就直接拒绝用户创建pod;et...

  vJr1jzVKsLVk   2023年11月01日   60   0   0 Kubernetes

1、容器技术简介 容器技术除了的docker之外,还有coreOS的rkt、google的gvisor、以及docker开源的containerd、redhat的podman、阿⾥的pouch等,为了保证容器⽣态的标准性和健康可持续发展,包括Linux基⾦会、Docker、微软、红帽、⾕歌和IBM等公司在2015年6⽉共同成⽴了⼀个叫opencontainer(OCI)的组织,其⽬的就是制定开放的标准的容器规范,⽬前OCI⼀共发布了两个规范,分别是runtimespec和imageformatspec,有了这两个规范,不同的容器公司开发的容器只要兼容这两个规范,就可以保证容器的可移植性和相互可...

  vJr1jzVKsLVk   2023年11月01日   82   0   0 Kubernetes

1、基于镜像分层构建及自定义镜像运行Nginx及Java服务并基于NFS实现动静分离 1.1、业务镜像设计规划 根据业务的不同,我们可以导入官方基础镜像,在官方基础镜像的基础上自定义需要用的工具和环境,然后构建成自定义出自定义基础镜像,后续再基于自定义基础镜像,来构建不同服务的基础镜像,最后基于服务的自定义基础镜像构建出对应业务镜像;最后将这些镜像上传至本地harbor仓库,然后通过k8s配置清单,将对应业务运行至k8s集群之上; 1.2、Nginx+Tomcat+NFS实现动静分离架构图 客户端通过负载均衡器的反向代理来访问k8s上的服务,nginxpod和tomcatpod由k8...

  vJr1jzVKsLVk   2023年11月01日   83   0   0 Kubernetes

1、Zookeeper简介 zookeeper是一个开源的分布式协调服务,由知名互联网公司Yahoo创建,它是Chubby的开源实现;换句话讲,zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据的发布/订阅、负载均衡、名称服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列; 2、PV/PVC及zookeeper 3、构建zookeeper镜像 3.1、下载java环境基础镜像,将对应镜像修改本地harbor地址上传至harbor 3.2基于java环境基础镜像,构建zookeeper镜像 root@k8s-master01:/k8...

  vJr1jzVKsLVk   2023年11月01日   75   0   0 Kubernetes

1、在k8s上部署redis单机 1.1、redis简介 redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者SalvatoreSanfilippo在2009年发布,使用C语言编写;redis是基于内存存储,而且是目前比较流行的键值数据库(key-valuedatabase),它提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比memcache,redis还提供了易扩展、高性能、具备数据持久性等功能。主要的应用场景有session共享,常用于web集群中的tomcat或PHP中多web服务器的session共享;消息队列,E...

  vJr1jzVKsLVk   2023年11月01日   63   0   0 Kubernetes

1、前言 Pod调度运⾏时,如果应⽤不需要任何稳定的标示、有序的部署、删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如Deployment或ReplicaSet更适合⽆状态服务需求,⽽StatefulSet适合管理所有有状态的服务,⽐如MySQL、MongoDB集群等。 2、StatefulSet控制器运行MySQL一主多从架构图 StatefulSet本质上是Deployment的⼀种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为⽹络标识(hostname),还必须要...

  vJr1jzVKsLVk   2023年11月01日   90   0   0 Kubernetes

1、jenkins架构 基于java命令,运⾏javawar包或jar包,本次以jenkins.war包部署⽅式为例,且要求jenkins的数据保存⾄外部存储(NFS或者PVC),其他java应⽤看实际需求是否需要将数据保存⾄外部存储。 从上述架构图可以看到,Jenkins通过k8s上的pv/pvc来连接外部存储,通过svc的方式向外暴露服务,在集群内部通过直接访问svc就可以正常访问到jenkins,对于集群外部成员,通过外部负载均衡器来访问Jenkins; 2、镜像准备 2.1、Jenkins镜像目录文件 root@k8s-master01:/k8s-data/dockerfile/w...

  vJr1jzVKsLVk   2023年11月01日   110   0   0 Kubernetes

1、dubbo微服务架构图 通过上述架构可以了解到,生产者通过注册中心,将服务注册至注册中心,消费者通过注册中心找到生产者,从而实现消费者拿到生产者的实际地址,然后直接和生产者通信;管理端通过注册中心发现生产者和消费者,通过svc来管理生产者和消费者;集群外部客户端通过负载均衡器来访问集群内部服务;dubbo产生的数据可以通过pv/pvc将数据放置外部存储,如ceph,nas,nfs等; 2、部署provider服务(生产者) 2.1、准备provider镜像 2.1.1、provider镜像数据目录文件 2.1.2、构建provider镜像Dockerfile root@k8s-ma...

  vJr1jzVKsLVk   2023年11月01日   61   0   0 Kubernetes

1、WordPress架构 LNMP案例之基于Nginx+PHP实现WordPress博客站点,要求Nginx+PHP运⾏在同⼀个Pod的不同容器;nginx主要作用是接入站点请求,如果请求静态资源nginx就直接响应;如果请求的是一个动态php资源,就将对应请求转发给另一个php容器进行处理;在一个pod中运行多容器,网络名称空间是共享的,所以nginx可以将对应请求转发至127.0.0.1:9000这个端口来调用php来处理对应php请求;pod中如果有数据产生,pod通过pvc/pv将对应数据存储到远端存储上;客户端访问通过防火墙,负载均衡器将请求调度到后端node上处理,如果请求所...

  vJr1jzVKsLVk   2023年11月01日   78   0   0 Kubernetes

1、Velero简介 Velero是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源数据;官网https://velero.io/。Velero是西班牙语意思是帆船,非常符合Kubernetes社区的命名风格,Velero的开发公司Heptio,已被VMware收购。Velero支持标准的K8S集群,既可以是私有云平台也可以是公有云,除了灾备之外它还能做资源移转,支持把容器应用从一个集群迁移到另一个集群。Velero的工作方式就是把kubernetes中的数据备份到对象存储以实现高可用和持久化,默认的备...

  vJr1jzVKsLVk   2023年11月01日   52   0   0 Kubernetes

  前文我们了解了Ceph集群存储池操作相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16743611.html;今天我们来聊一聊在ceph上认证和授权的相关话题;   我们知道ceph作为一个分布式存储系统,用户想要在其上面存储数据,首先得通过认证以后,才能正常使用ceph;那么对于ceph来讲,它是怎么认证用户的呢?除了认证,我们知道不是所有用户都能在ceph上创建存储池,删除存储池等;这也意味着每个用户都有一定的权限,在自己的权限范围内操作,ceph才算得上是一个安全的存储系统;那么ceph的认证和授权到底是怎么做的呢?   CephX认...

  vJr1jzVKsLVk   2023年11月01日   76   0   0 其他技术区

  前文我们了解了Ceph集群cephx认证和授权相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16748149.html;今天我们来聊一聊ceph集群的RBD接口使用相关话题;   RBD是ceph集群向外提供存储服务的一种接口,该接口是基于ceph底层存储集群libradosapi构建的接口;即RBD是构建在librados之上向外提供存储服务的;对于客户端来说RBD主要是将rados集群之上的某个存储池里的空间通过librados抽象为一块或多块独立image,这些Image在客户端看来就是一块块硬盘;那对于RBD抽象出来的硬盘,客户端该...

  vJr1jzVKsLVk   2023年11月01日   101   0   0 其他技术区

  前文我们了解了ceph之上的RBD接口使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16753098.html;今天我们来聊一聊ceph之上的另一个客户端接口cephfs使用相关话题;   CephFS概述   文件系统是至今在计算机领域中用到的存储访问中最通用也是最普遍的接口;即便是我们前面聊到的RDB块设备,绝大多数都是格式化分区挂载至文件系统之上使用;使用纯裸设备的场景其实不多;为此,ceph在向外提供客户端接口中也提供了文件系统接口cephfs;不同于rbd的架构,cephfs需要在rados存储集群上启动一个mds的进程来帮忙...

  vJr1jzVKsLVk   2023年11月01日   95   0   0 其他技术区

  前文我们了解了cephfs使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16758866.html;今天我们来聊一聊MDS组件扩展相关话题;   我们知道MDS是为了实现cephfs而运行的进程,主要负责管理文件系统元数据信息;这意味着客户端使用cephfs存取数据,都会先联系mds找元数据;然后mds再去元数据存储池读取数据,然后返回给客户端;即元素存储池只能由mds操作;换句话说,mds是访问cephfs的唯一入口;那么问题来了,如果ceph集群上只有一个mds进程,很多个客户端来访问cephfs,那么mds肯定会成为瓶颈,所以为了...

  vJr1jzVKsLVk   2023年11月01日   74   0   0 其他技术区

  前文我们了解了MDS扩展相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16759585.html;今天我们来聊一聊RadosGW的基础使用相关话题;   对象存储系统概述   对象存储系统(ObjectStorageSystem,简称OSS);对象存储(ObjectStorage)是无层次结构的数据存储方法,通常用于云计算环境中;不同于其他数据存储方法,基于对象的存储不使用目录树;数据作为单独的对象进行存储;数据并不放置在目录层次结构中,而是存在于平面地址空间内的同一级别;应用通过唯一地址来识别每个单独的数据对象;每个对象可包含有助于检索的...

  vJr1jzVKsLVk   2023年11月01日   124   0   0 其他技术区

  前文我们了解了Ceph之上的RadosGW基础使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16768998.html;今天我们来聊一聊Ceph启用Dashboard和使用Prometheus监控Ceph相关话题;   MGR组件作用   Ceph在早些版本(L版之前)都是没有MGR这个组件的,L版之前,ceph集群相关监控数据都是靠mon节点完成,为了减轻mon节点的压力,ceph集群相关状态数据的功能在L版之后被独立出来,用MGR来负责,MGR主要作用是用于责跟踪运行时指标和Ceph集群的当前状态,包括存储利用率,当前性能指标和系统...

  vJr1jzVKsLVk   2023年11月01日   58   0   0 其他技术区

  技术背景   90年代初期,互联网流量快速增长,而由于当时硬件技术的限制,路由器采用最长匹配算法逐跳转发数据包,成为网络数据转发的瓶颈;于是快速路由技术成为当时研究的一个热点;在各种方案中,IETF确定了MPLS协议作为标准的协议;MPLS采用短而定长的标签进行数据转发,大大提高了硬件限制下的转发能力(当然现在硬件已经没有限制,MPLS更多用于营运商做MPLSVPN,流量工程和服务质量);而且MPLS可以扩展到多种网络协议;   传统IP转发示意图   提示:如上图所示,用户A想要和用户B通信,首先数据包发送R1以后,路由器会根据数据包的目标ip地址进行路由查找,从而实现将数据包最终转发...

  vJr1jzVKsLVk   2023年11月01日   58   0   0 其他技术区

  前文我们了解了MPLS基础理论部分,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16928096.html;今天我们来聊一聊MPLS静态LSP配置相关话题;   为什么要静态配置LSP?   一般情况下,在MPLS网络中都使用标签分发协议来实现动态建立LSP,如使用LDP;但是使用动态标签分发协议来动态建立LSP,会存在动态标签分发协议故障,导致MPLS网络流量丢失;因此对于某些关键重要的业务,我们还是需要配置静态LSP来确保传输路径;所以静态LSP其实就是动态LSP的一个备份;当动态LSP故障,MPLS网络流量还可以走静态LSP;这个就类似我们的...

  vJr1jzVKsLVk   2023年11月01日   48   0   0 其他技术区

  前文我们了解了MPLS的静态LSP配置相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16937104.html;今天我们来聊一聊标签分发协议LDP相关话题;   我们知道在mpls网络中,只要有了标签,转发就是一件很简单的事;但是如何产生标签,却是MPLS中较难的部分;手动静态配置吧,过于繁琐,且容易出错;为此,MPLS有一个叫LDP的协议出现了;   LDP简介   LDP是LabelDistributionProtocol的首字母缩写翻译成中文就是标签分发协议;该协议主要用于动态分配和维护mpls标签;在LSR之间通过建立LDPSess...

  vJr1jzVKsLVk   2023年11月01日   50   0   0 其他技术区
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~