随笔分类 -  Kubernetes

摘要:一、概述 1、通过以往的学习应该可以了解到k8s 和以往提到的devops概念更容易落地了。比如我们说的CI,CD,CD a、CI(Continuous Integration):持续集成 b、CD():持续交付 c、CD(Continuous Deployment):持续部署 2、早期作为运维手工 阅读全文
posted @ 2019-09-16 17:01 Presley 阅读(781) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们说过在helm架构中有这么几个关键组件,helm,tiller server,一般托管运行于k8s之上,helm能够通过tiller server在目标k8s集群之上部署应用程序,而后,helm对应程序部署来自于helm能访问到的仓库中的chart。并且我们可以把chart通过配置 阅读全文
posted @ 2019-09-10 09:06 Presley 阅读(955) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们此前在使用kubernetes中,无论我们使用无状态的应用程序,比如myapp,nginx。以及有状态的tomcat,redis,etcd,...等等,他们部署在k8s之上会有这样的问题。首先对无状态应用我们首先使用deployment控制器来实现控制以后其规模伸缩极其容易。这也是 阅读全文
posted @ 2019-08-30 12:12 Presley 阅读(645) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、上集中我们说到,官方文档提示说从k8s 1.11版本开始,将监控体系指标数据获取机制移向新一代的监控模型。也就意味着对于我们的k8s来讲现在应该有这样两种资源指标被使用。一种是资源指标,另一种是自定义指标。意思是说HeapSter提供了指标数据的收集,存储和监控的基本功能。并支持多个数 阅读全文
posted @ 2019-08-27 15:50 Presley 阅读(1207) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、接下来介绍在k8s上运行pod对象时我们如何去监控我们系统级的资源指标以及业务级别的资源指标。数据如何获取和监控。在此之前先介绍一下Pod对象的资源请求和资源限制。即容器的资源需求和资源限制。在docker中说到过容器是可以资源限额的,在启动容器时候我们可以定义一个容器可以使用多少的c 阅读全文
posted @ 2019-08-21 11:51 Presley 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、上集讲了Scheduler在实现调度时分三步实现调度过程。首先是预选,即从所有节点中选择基本符合选择条件的节点。而后在基本符合条件的节点中使用优选函数计算他们各自的得分并加以比较。并从最高得分的节点中随机选择出一个运行pod的节点,这就是我们的控制平面中scheduler所实现负责的主 阅读全文
posted @ 2019-08-20 11:51 Presley 阅读(596) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、k8s集群中能运行pod资源的其实就是我们所谓的节点,也称为工作节点。master从本质上来讲,他其实是运行整个集群的控制平面组件的比如apiserver,scheal,controlmanager,除此之外master还依赖于etcd这样的存储节点。最好还是一个有冗余能力的集群才可以 阅读全文
posted @ 2019-08-14 17:29 Presley 阅读(731) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们说过,k8s的可用插件有很多,除了flannel之外,还有一个流行的叫做calico的组件,不过calico在很多项目中都会有这个名字被应用,所以他们把自己称为project calico,但是很多时候我们在kubernets的语境中通常会单独称呼他为calico。其本身支持bgp 阅读全文
posted @ 2019-08-14 14:05 Presley 阅读(714) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们在学习docker时知道docker有四种常用的网络模型 a、bridge:桥接式网络 b、joined:联盟式网络,共享使用另外一个容器的网络名称空间 b、opened:容器直接共享使用宿主机的网络名称空间 c、none:不使用任何网络名称空间 2、无论是哪一种网络方式都会导致如 阅读全文
posted @ 2019-08-08 17:13 Presley 阅读(1060) 评论(0) 推荐(1) 编辑
摘要:一、概述 1、我们前面介绍了kubernetes的两个东西,认证和授权 2、在kubernetes中我们对API server的一次访问大概会包含哪些信息?简单来讲它是restfule风格接口,也就是某个用户对某个操作执行了某个操作。 subject --> action --> object。 a 阅读全文
posted @ 2019-07-26 11:52 Presley 阅读(779) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、前面讲过,kubernetes的授权也是基于插件来实现而且用户访问时某一次操作经由某一授权插件检查能通过后就不再经由其它插件检查。然后由准入控制插件再做进一步后续的准入控制检查。那么在他众多授权插件中已经解释过常用的有这样四个。 授权插件:Node,ABAC,RBAC,Webhook 阅读全文
posted @ 2019-07-18 11:33 Presley 阅读(610) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、通过此前描述可以知道k8s是以后运行我们生产环境中重要应用程序的尤其是无状态程序的一个非常重要的平台。这里面能托管一些核心应用以及核心数据,很显然对于k8s对应接口的访问不是任何人都可以轻易使用的,比如kubectl 这种工具进行访问,如果人人都可以通过kubectl 进行访问那么很显 阅读全文
posted @ 2019-07-08 16:08 Presley 阅读(2038) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、在应用程序中我们有两类,一种是有状态一种是无状态。此前一直演示的是deployment管理的应用,比如nginx或者我们自己定义的myapp它们都属于无状态应用。 2、而对于有状态应用,比如redis,mysql,还有etcd,还有zookeeper等等需要存数据的都属于有状态。它们不 阅读全文
posted @ 2019-06-20 15:52 Presley 阅读(557) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们在pvc申请的时候未必就有现成的pv能正好符合这个pvc在申请中指定的条件,毕竟上一次的成功是我们有意设定了有一些满足有一些不满足的前提下我们成功创建了一个pvc并且被pod绑定所使用了。但是正常情况下刚好让二者之间符合或者在一众pv中正好有存在符合需要的这么一个pv未必在多种情况 阅读全文
posted @ 2019-06-18 14:31 Presley 阅读(894) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、我们此前讲过根据应用本身是否需要持久存储数据以及某一次请求和之前的请求是否有联系,可以分为四类应用 a、有状态,要存储 b、有状态,无持久存储 c、无状态,要存储 d、无状态,无持久存储 其中,大多数和数据存储服务相关的应用和有状态应用几乎都是需要持久存储数据的。在docker中说过, 阅读全文
posted @ 2019-06-17 10:05 Presley 阅读(689) 评论(0) 推荐(0) 编辑
摘要:一、上集回顾 1、Service 3种模型:userspace,iptables,ipvs 2、Service类型 ClusterIP,NodePort NodePort:client -> NodeIP:NodePort -> ClusterIP:ServicePort -> PodIP:cont 阅读全文
posted @ 2019-05-25 18:29 Presley 阅读(1181) 评论(0) 推荐(0) 编辑
摘要:一、Service对应组件关系 1、在kubernetes平台之上,pod是有生命周期的,所以为了能够给对应的客户端提供一个固定的访问端点,因此我们在客户端和服务Pod之间添加一个固定的中间层,这个中间层我们称之为Service,这个Service的真正工作还要严重依赖于我们k8s之上部署的附件。称 阅读全文
posted @ 2019-05-20 16:29 Presley 阅读(990) 评论(0) 推荐(0) 编辑
摘要:一、Deployment 定义 1、简介 deployment.spec 简介 deployment.spec.strategy #更新策略 deployment.spec.strategy.rollingUpdate #更新粒度 2、deployment具体操作 a、在更新应用时可以直接通过编辑配 阅读全文
posted @ 2019-05-16 14:07 Presley 阅读(771) 评论(0) 推荐(0) 编辑
摘要:一、回顾 1、Pod是标准的kubernetes资源,因此其遵循为其资源清单配置定义的基本格式,包含:apiVersion,kind,metadata,spec,status(只读) 2、spec的内嵌字段 containers: name image imagePullPolicy:Always, 阅读全文
posted @ 2019-05-15 11:09 Presley 阅读(574) 评论(0) 推荐(0) 编辑
摘要:一、容器探测器 1、所谓的容器探测无非就是我们在里面设置了一些探针,或者称之为传感器来获取相应的数据作为判定其存活与否或就绪与否的标准,目前k8s所支持的存活性和就绪性探测方式都是一样的。 2、k8s的探针类型有三种 1、ExecAction 2、TCPSocketAction:TCPSocket探 阅读全文
posted @ 2019-05-14 16:14 Presley 阅读(618) 评论(0) 推荐(0) 编辑