随笔分类 -  Linux学习

摘要:ConfigMap configmap是一种比较特殊的存储卷,它的主要作用是用来存储配置信息的 创建configmap.yaml,内容如下 apiVersion: v1 kind: ConfigMap metadata: name: configmap namespace: dev data: in 阅读全文
posted @ 2021-08-19 11:18 路过的柚子厨 阅读(742) 评论(0) 推荐(0)
摘要:PV和PVC 前面已经学习了使用NFS提供存储,此时就会要求用户会搭建NFS系统,并且会在yaml配置nf's,由于k8s支持的存储系统有很多,要求客户全部掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用,k8s引入PV和PVC两种资源对象。 PV(Persistent Volume) 阅读全文
posted @ 2021-08-18 11:52 路过的柚子厨 阅读(1092) 评论(0) 推荐(0)
摘要:EmptyDir EmptyDir是最基础的Volume类型,一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为k8s会自动分配一个目录,当Pod销毁时,EmptyDir中的数据也会被永久删 阅读全文
posted @ 2021-08-16 11:29 路过的柚子厨 阅读(704) 评论(0) 推荐(0)
摘要:数据存储介绍 通过前面的学习已经知道,容器的生命周期可能很短,会被频繁地创建和销毁,那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对于用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,k8s引入了Volume的概念。 Volume是Pod中能够被多个容器访问的共享目录,它被定 阅读全文
posted @ 2021-08-15 10:47 路过的柚子厨 阅读(391) 评论(0) 推荐(0)
摘要:环境准备 搭建ingress环境 #创建文件夹 [root@master ~]# mkdir ingress-controller [root@master ~]# cd ingress-controller/ [root@master ingress-controller]# #获取ingress 阅读全文
posted @ 2021-08-15 09:40 路过的柚子厨 阅读(1362) 评论(1) 推荐(0)
摘要:Ingress介绍 在前面的学习中已经知道,Service对集群之外暴露服务的主要方式有两种:NodePort和LoadBalancer,但是这两种方式,都有一定的缺点: NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显 LB方式的缺点是每个serv 阅读全文
posted @ 2021-08-13 11:02 路过的柚子厨 阅读(1538) 评论(0) 推荐(0)
摘要:实验环境准备 在使用service之前,首先利用deployment创建出3个pod,注意要为pod设置app=nginx-pod的标签 创建deployment.yaml,内容如下 apiVersion: apps/v1 kind: Deployment metadata: name: pc-de 阅读全文
posted @ 2021-08-12 12:00 路过的柚子厨 阅读(2168) 评论(0) 推荐(0)
摘要:service资源清单文件 kind: Service #资源类型apiVersion: v1 #资源版本metadata: name: service namespace: devspec: selector: #标签选择器,用于确定当前service代理哪些pod app: nginx type 阅读全文
posted @ 2021-08-11 10:38 路过的柚子厨 阅读(1292) 评论(0) 推荐(0)
摘要:Service介绍 在k8s中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问 为了解决这个问题,k8s提供了service资源,service会对提供同一个服务的多个pod进行聚合,并且提供一个统 阅读全文
posted @ 2021-08-10 11:16 路过的柚子厨 阅读(3824) 评论(0) 推荐(0)
摘要:CronJob(CJ)介绍 CronJob控制器以Job控制器资源为其管控对象,并借助它管理pod资源对象,Job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但CronJob可以以类似于Linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式。也就是说,CronJob 阅读全文
posted @ 2021-08-09 17:01 路过的柚子厨 阅读(383) 评论(0) 推荐(0)
摘要:Job介绍 job,主要是用于负责批量处理(一次要处理指定数量)短暂的一次性(每个任务仅运行一次就结束)任务。 job特点如下: 当job创建的pod执行成功时,job将记录成功结束的pod数量 当成功结束的pod达到指定数量时,job将完成执行 Job资源清单文件 apiVersion: batc 阅读全文
posted @ 2021-08-09 11:03 路过的柚子厨 阅读(358) 评论(0) 推荐(0)
摘要:DS介绍 DS类型的控制器可以保证集群中的每一台(或指定)节点上都运行一个副本,一般适用于日志收集,节点监控等场景。也就是说,如果一个pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类pod就适合使用DS类型的控制器创建 DaemonSet控制器的特点 每当向集群中添加一个节点时, 阅读全文
posted @ 2021-08-08 12:00 路过的柚子厨 阅读(240) 评论(0) 推荐(0)
摘要:HPA(pod水平自动伸缩)介绍 在前面的学习中,我们可以通过手工执行kubectl scale命令实现pod扩容,但是这显然不符合k8s的定位目标:自动化、智能化。 k8s期望可以通过监测pod的使用情况,实现pod数量的自动调整,于是就产生了HPA这种控制器 HPA可以获取每个pod利用率,然后 阅读全文
posted @ 2021-08-08 10:42 路过的柚子厨 阅读(674) 评论(0) 推荐(0)
摘要:Deployment介绍 为了更好地解决服务编排的问题,k8s在V1.2版本开始,引入了deployment控制器,值得一提的是,这种控制器并不直接管理pod, 而是通过管理replicaset来间接管理pod,即:deployment管理replicaset,replicaset管理pod。所以d 阅读全文
posted @ 2021-07-19 21:06 路过的柚子厨 阅读(2006) 评论(0) 推荐(1)
摘要:ReplicaSet介绍 ReplicaSet的主要作用是保证一定数量的pod能够正常运行,它会持续监听这些pod的运行状态,一旦pod发生故障,就会重启或重建。同时它还支持对pod数量的扩缩容和版本镜像的升级。 ReplicaSet的资源清单文件 apiVersion: apps/v1 #版本号 阅读全文
posted @ 2021-07-16 20:51 路过的柚子厨 阅读(497) 评论(0) 推荐(0)
摘要:在k8s中,按照pod的创建方式可以将其分为两类 自主式pod:k8s直接创建出来的pod,这种pod删除后就没有了,也不会重建 控制器创建的pod:通过控制器创建的pod,这种pod删除了之后还会自动重建 什么是pod控制器 pod控制器是管理pod的中间层,使用了pod控制器之后,我们只需要告诉 阅读全文
posted @ 2021-07-15 17:01 路过的柚子厨 阅读(307) 评论(0) 推荐(0)
摘要:Pod调度 在默认情况下,一个pod在哪个node节点上运行,是由scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。 但是在实际过程中,这并不满足需求,因为很多情况下,我们想控制某些pod到达某些节点上,那么应该怎么做呢? 这就要求了解k8s对pod的调度规则,k8s提供了四 阅读全文
posted @ 2021-07-14 20:56 路过的柚子厨 阅读(1912) 评论(2) 推荐(1)
摘要:Pod生命周期 我们一般将pod对象从创建至终这段时间范围成为pod的生命周期,它主要包含以下的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main container) 容器启动后钩子(post start)、容器终止前钩子(pre stop) 容器的存 阅读全文
posted @ 2021-07-04 20:45 路过的柚子厨 阅读(1313) 评论(0) 推荐(0)
摘要:Pod配置 查看pod.spec.containers属性: [root@master ~]# kubectl explain pod.spec.containers KIND: Pod VERSION: v1 RESOURCE: containers <[]Object> DESCRIPTION: 阅读全文
posted @ 2021-07-04 09:52 路过的柚子厨 阅读(1202) 评论(0) 推荐(0)
摘要:Pod介绍 pod结构 每个pod中都可以包含一个或多个容器,这些容器可以分为两类 用户程序所在的容器,数量可多可少 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个 可以以它为根据,评估整个pod的健康状态 可以在根容器上设置IP地址,其他容器都以此IP(Pod IP),以实现Po 阅读全文
posted @ 2021-07-03 20:49 路过的柚子厨 阅读(669) 评论(0) 推荐(0)