12 2020 档案
摘要:一 如何有效且更好的将配置写到pod的容器中 考虑一个问题,就是在传统的应用中,程序里面需要的配置一般以配置文件的形式或者shell脚本里面的参数是在执行的时候在命令行里面进行添加,但是在kubernets的pod中,应该如何将变量引入到pod的容器中呢? 二 容器启动的时候是如何将变量引入容器中的
阅读全文
摘要:一 介绍持久卷的动态配置原理 前面介绍的pv以及pvc,都需要kubernets集群管理员来支持实际的底层存储,但是kubernets还支持动态配置持久卷来自动化完成这个任务集群管理员可以创建一个持久卷配置,并定义一个或多个StorageClass,从而让用户选择他们想要的持久卷类型,用户可以在其持
阅读全文
摘要:一 持久卷以及持久卷声明的由来 由于不管是哪种卷,开发者都需要提前预知kubernets集群里面的存储类型,这样就在一定程度上违背了kubernets集群的设计理念,kubernets的设计理念是在由开发者任意使用集群的 资源的基础下,又不需要关注集群的底部的基础设施,甚至可以在各个集群下面任意迁移
阅读全文
摘要:一 卷的由来以及种类和常用的卷的类型 前面介绍了大部分都是pod的管理以及在集群内部和集群外部如何访问pod,但是我们也了解到,pod是有生命周期的,当pod所在节点下线,或者等其他原因原因导致pod需要中止服务,此时 之前pod里面存储的数据也会随之而消失,所以这里就需要一个持久化存储手段,kub
阅读全文
摘要:一 认识headless服务 1服务以及服务的作用相信大家都已经耳熟能详了吗,服务接受请求,并且随机的将请求转发到相关联的任一pod来处理请求,但是考虑另外一种场景, 如果有客户端需要知道这个服务关联的所有pod,常规的服务显然就不能用了,于是headless这种资源就应运而生出来了 二 创建一个h
阅读全文
摘要:一 介绍就绪探针 1.1 开始介绍就绪探针之前,让我们来提问几个问题?第一,在sevice这章我们了解到, 当流量从Ingress被转发到服务,然后服务从其维护当Endponits 里面列表查找到任一pod之后,就开始将该pod作为服务的后端来处理请求,如果是该pod需要提前预热,或者需要一段时间后
阅读全文
摘要:一 Ingress集中式的kubernets服务转发控制器 1.1 认识Ingress的工作原理 注意:图片来源于kubernets in action一书,如若觉得侵权,请第一时间联系博主进行删除 客户端向Ingress服务挂载的IP地址进行发起连接请求 Ingress在收到服务之后会根据请求的主
阅读全文
摘要:一 通过NodePort来暴露服务 前面已经介绍的服务的一些作用,例如将集群内部的应用暴露给集群内部的pod使用,将外部的应用通过服务暴露给内部应用使用,但是服务最大的作用不仅仅是这些 而是将集群内部的应用暴露给外部客户端进行访问,这种实现方式有多种,列举出其中2种进行介绍 第一种是:通过创建Nod
阅读全文
摘要:一 服务的强大功能之处的其他表现 前面介绍的所有有关服务的说明,都是将集群内部的pod应用暴露出来提供外部客户端或者内部的客户端进行访问,但是服务的强大之处远远不止于此 服务甚至可以将集群外部的应用暴露出来给内部pod来访问和应用 二 下面就来介绍服务是如何做到这一点的 2.1 认识服务的endpo
阅读全文
摘要:一 服务与pod的发现 1.1 服务发现pod是很显而易见的事情,通过简称pod的标签是否和服务的标签一致即可,但是pod是如何发现服务的呢?这个问题其实感觉比较多余,但是接下来你就可能不这么想了 首先,众所周知,pod是有生命周期,并且受控于它的管控器(RC等),当节点从集群中离开,则管控器需要重
阅读全文
摘要:一 服务集群内部或者客户端与pod的通信桥梁 kubernets集群的内部pod访问为啥不能使用传统的IP:PORT的形式? pod是短暂的,它们会随时启动或者关闭,原因可能是pod所在的节点下线了,或者管控者RC,RS,DS,JOB,CronJob等的移除 pod的IP在调度前才会分配IP,因此客
阅读全文
摘要:一 介绍job资源 1.1 前面介绍的RC,RS,DS等等,管控的pod都是需要长期持久的运行的应用,但是尝试考虑另外一种场景,在微服务的场景下,有些pod的作用就是需要 执行完一些命令之后正常退出,这时候上面的资源都无法利用,kubernets提供了一种解决方案,job,job的作用就是保障管理的
阅读全文
摘要:一 k8s资源之DaemonSet 1.1 介绍认识DaemonSet DaemonSet可以理解为一种比较特殊的RS,DaemonSet的作用是永远保持被指定的节点只运行一个pod的副本,可用作集群的监控和日志收集等作用 另外一点的是,可能有些节点被设置为不可调度pod的时候,仍然可以使用Daem
阅读全文
摘要:一 介绍RS 1.1 RS与RC在功能上基本上是一摸一样的,因为两者的功能都是用来管控集群内部的pod,并且 两者都具备模版,副本数量以及标签选择器等三要素,区别点在于,RS拥有着更为强大的标签选择器,RC只支持单一键值对匹配规则 而RS则支持正选,反选,甚至正则表达式的匹配规则 二 创建一个RS
阅读全文
摘要:一 Replication Controller的介绍 pod可能会由于各种原因消失和多出来,例如node节点去除集群或者人为的手工创建,所以为了方便和管理pod的数量,k8s里面 的另外一种资源就应运而生,Replication Controller,它能够管理特定的pod的标签,使其动态保持一个
阅读全文
摘要:一 存活探针存在的意义 1.1 kubernet通过存活探针(liveness probe)检查容器是否还在运行,可以为pod中的每个容器单独指定存活探针,如果探针执行失败,kubernets会重启容器 二 存活探针的三种探测机制 2.1 HTTP GET探针是对容器的IP地址以及指定的端口执行HT
阅读全文
摘要:一 删除单个pod 1 删除指定命名空间的指定名称的pod k delete po kubia-manual -n defaultpod "kubia-manual" deleted 2 通过标签删除pod [root@node01 pod]# k delete po -l app=k8s pod
阅读全文
摘要:一 命名空间的介绍以及作用 1 概念 为了方便不同部门之间对kubernets集群的使用,并且对其进行有效的隔离,kubernets提供了一种资源隔离手段,通过将各种不同资源分组到 一个区域,并且统一管理,这个区域的名称叫做命名空间 2 使用 查询kubernets集群内部的所有命名空间 [root
阅读全文
摘要:一 对于kubernets里面的资源标记完成之后的使用 1 node节点标签的应用(将资源调度到特定的节点上) #kubia-gpu.ymlapiVersion: v1 kind: Pod metadata: name: kubia-manual-gpu spec: nodeSelector: gp
阅读全文
摘要:一 标签的拓展使用 1.1 标签的作用范围不仅仅适用于pod对node以及其他类的大部分资源同样适用 k label node node01 gpu=true k是kubectl的别名形式 同样对于node适用,用法几乎和pod一摸一样 1.2 查询node标签的方式 k get no -l gpu
阅读全文
摘要:一 如何查看pod 的日志 1 通过执行命令查看日志信息 kubectl logs pod_name 二 创建带有标签的pod,一个范例的pod创建yaml文件如下所示 2.1 创建带有指定标签的pod 只需要在metadata标签下面添加labels添加,之后再添加需要添加的标签对即可 2.2 如
阅读全文
摘要:一 k8s集群里面的最小单位是pod 1.1 一个较为简单的pod的配置文件 apiverson: api的版本号 kind: 资源的种类 metadata: pod的种类等相关信息 spec: pod里面包含的容器信息 1.2 通过命令创建pod kubectl create -f kubia.y
阅读全文
摘要:一 k8s的组成 1.1 k8s一般由master和node组成,其中重要组件如:apiserver,manager controller,etcd,以及scheduler和网络插件例如flannel等部署在master节点上,而node上面分配的则是kubelet,kubectl,以及pod,其最
阅读全文

浙公网安备 33010602011771号