06 2019 档案

摘要:"系列目录" 由于服务端设置了https访问,因此如果通过浏览器访问时会提示证书不被信任,但是仍然可以通过处理继续访问.但是在自动化环境中,都是通过命令来请求的,这样不受信任的https就会报错误,这样我们就要像docker服务器一样添加对自签证书的信任.前两部分我们分别在docker推送镜像和拉取 阅读全文
posted @ 2019-06-28 14:47 周国通 阅读(3902) 评论(0) 推荐(1) 编辑
摘要:"系列目录" Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜像仓库.并且有免费版,OSS版即为免费版,下载的时候请注意版本的选择. "下载地址" 往下面滚动 阅读全文
posted @ 2019-06-28 08:18 周国通 阅读(3288) 评论(0) 推荐(1) 编辑
摘要:目录 "1.kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建" "2.kubernetes实战篇之windows添加自签ca证书信任" "3.kubernetes实战篇之创建密钥自动拉取私服镜像" "4.kubernetes实战篇之为默认账户创建镜像 阅读全文
posted @ 2019-06-28 08:12 周国通 阅读(4153) 评论(0) 推荐(6) 编辑
摘要:"系列目录" 前面一节我们介绍了使用curl命令行工具访问apiserver,命令行工具快速高效,但是对于输出非常长的内容查看不是特别方便,尤其终端界面输入的东西非常多的时候,过长的内容不是特别容易通过滚动快速定位到本次输出内容的开始部分.也不便于复制到网页在线json格式化工具里查看.命令行输入过 阅读全文
posted @ 2019-06-27 14:21 周国通 阅读(4635) 评论(2) 推荐(2) 编辑
摘要:"系列目录" 在Kubernetes集群中,API Server是集群管理API的入口,由运行在Master节点上的一个名为kube apiserver的进程提供的服务。 用户进入API可以通过kubectl、客户端库或者http rest,User 或者 Service Account可以被授权进 阅读全文
posted @ 2019-06-27 08:02 周国通 阅读(8417) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 在linux系统里,sysctls 接口允许管理员在运行时修改内核参数.参数存在于 虚拟进程文件系统里.参数涉及到很多子模块,例如: 内核(kernel)(常见前缀 ) 网络(networking)(常见前缀 ) 虚拟内存(virtual memory) (常见前缀 ) MDADM(常 阅读全文
posted @ 2019-06-25 14:54 周国通 阅读(3248) 评论(1) 推荐(0) 编辑
摘要:"系列目录" 动态准入控制器文档介绍了如何使用标准的,插件式的准入控制器.但是,但是由于以下原因,插件式的准入控制器在一些场景下并不灵活: 它们需要编译到kube apiserver里 它们仅在apiserver启动的时候可以配置 准入钩子(Admission Webhooks 从1.9版本开始)解 阅读全文
posted @ 2019-06-25 07:58 周国通 阅读(3321) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 什么是pod安全策略 pod安全策略是集群级别的用于控制pod安全相关选项的一种资源. 定义了一系列pod相要进行在系统中必须满足的约束条件,以衣一些默认的约束值.它允许管理员控制以下方面内容 | Control Aspect | Field Names | | | | | 以特权运行 阅读全文
posted @ 2019-06-24 17:05 周国通 阅读(14655) 评论(3) 推荐(2) 编辑
摘要:"系列目录" 使用docker创建只读文件系统 容器化部署对应用的运维带来了极大的方便,同时也带来一些新的安全问题需要考虑.比如黑客入侵到容器内,对容器内的系统级别或者应用级别文件进行修改,会造成难以估量的损失.(比如修改hosts文件导致dns解析异常,修改web资源导致网站被嵌入广告,后端逻辑被 阅读全文
posted @ 2019-06-24 08:12 周国通 阅读(1396) 评论(1) 推荐(0) 编辑
摘要:"系列目录" 问题描述:测试环境由于异常断电导致服务器重启一后,有一个节点的状态一直是 .通过 没有错误日志输出.通过 查看日志信息,发现有输出日志 这样的错误.经过排查这是由 于 的 "一个bug造成" 的.截至目前该问题已经修复,但是新的版本还没有发布. 目前的解决办法是先把这个节点从集群中删除 阅读全文
posted @ 2019-06-24 08:00 周国通 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 问题描述:周五写字楼整体停电,周一再来的时候发现很多pod的状态都是 ,经排查是因为测试环境kubernetes集群中的有些节点是PC机,停电后需要手动开机才能起来.起来以后节点恢复正常,但是通过 查看日志不断有以下错误 我们通过cd进入 目录,使用ls查看 可以看到,错误信息里的po 阅读全文
posted @ 2019-06-24 07:59 周国通 阅读(8553) 评论(3) 推荐(1) 编辑
摘要:"系列目录" 案例现场: 测试环境集群本来正常,突然间歇性地出现服务不能正常访问,过一会儿刷新页面又可以正常访问了.进入到服务所在的pod查看输出日志并没有发现异常.使用 命令正好发现一个节点是 状态 为了方便观察,使用 来观测一段时间,发现 节点不断的在Ready和NotReady状态之间切换(使 阅读全文
posted @ 2019-06-21 20:08 周国通 阅读(4585) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 由由种种原因,在安装或者使用kubernetes的过程中,可能会遇到各种各样的问题.本篇按照官网的介绍罗列出一些常见的故障,以帮助快速解决一些常见的错误. 安装赛程中出现ebtables or some similar executable not found 在执行 中出现以下警告 阅读全文
posted @ 2019-06-21 20:03 周国通 阅读(11957) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 前面两节我们由浅入深介绍了不少kubernetes管理比较常用的命令.本节我们通过案例讲解一些需要更为复杂的操作才能完成的命令. 选择一个deployment下的所有pod 前面讲到过,kubernetes的deployment和pod的命令上有关联关系,我们可以通过查看deploym 阅读全文
posted @ 2019-06-20 20:26 周国通 阅读(924) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 上一节我们介绍了一些基本的命令,这一节我们介绍一些更为复杂的命令. pod排序 使用kubectl get pod获取pod资源默认是以名称排序的,有些时候我们可能希望按其它顺序排序.比如说我们想要按照节点来排序.以便可以看到不同的节点上都运行着哪些pod. 这个需求可以使用linux 阅读全文
posted @ 2019-06-20 14:17 周国通 阅读(2344) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 我们把集群管理命令分为两个部分,第一部分介绍一些简单的,但是可能是非常常用的命令以及一些平时可能没有碰到的技巧.第二部分将综合前面介绍的工具通过示例来讲解一些更为复杂的命令. 列出集群中所有pod 使用 获取的一般是默认名称空间的信息(可以在配置文件中指定默认全称空间,如果没有指定则默 阅读全文
posted @ 2019-06-20 08:12 周国通 阅读(3320) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 首先要声明,这里的jq并不是批前端框架里的jquery,而是一个处理json的命令行工具. jq工具相比yq,它更加成熟,功能也更加强大,主要表现在以下几个方面 支持递归查找(我点对我们平时查看文件很方便) 支持条件过滤 支持控制语句 支持数组范围索引 这个工具在macos和windo 阅读全文
posted @ 2019-06-19 20:14 周国通 阅读(2160) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 前面我们讲解过使用go template或者jsonpath格式(kubectl get 资源 output go tempalte(或jsonpath))来截取属性的值,并且我们比较了使用它们较使用grep,awk等字符串截取在准确获取属性值方面的优势.然而更多时候我们是查看属性,使 阅读全文
posted @ 2019-06-19 14:09 周国通 阅读(5039) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 前面一节我们介绍了使用go template截取属性,go template功能非常强大,可以定义变量,使用流程控制等,这是jsonpath所不具备的.然而,jsonpth使用的时候更为灵活.通过上一节我们发现,我们想要找到某个具体属性,必须从最外层一层层向内找到具体属性,这对于嵌套层 阅读全文
posted @ 2019-06-19 07:59 周国通 阅读(11492) 评论(0) 推荐(3) 编辑
摘要:"系列目录" 在使用 获取资源信息的时候,可以通过 o( output简写形式)指定信息输出的格式,如果指定的是yaml或者json输出的是资源的完整信息,实际工作中,输出内容过少则得不到我们想要的信息,输出内容过于详细又不利于快速定位的我们想要找到的内容,其实 o输出格式可以指定为go templ 阅读全文
posted @ 2019-06-18 20:30 周国通 阅读(7476) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 在学习docker的时候,大家可能经常看到不少示例在docker run的时候指定环境变量(比如wordpress的docker示例就是通过环境变量传入账户和密码到容器内).这里之所以经常用到环境变量,主要基于以下两点原因 容器内的操作往往都是自动化的,而不像在windows会有图形界 阅读全文
posted @ 2019-06-18 14:29 周国通 阅读(4270) 评论(1) 推荐(2) 编辑
摘要:"系列目录" 在kubernetes里,pod,service,rs,rc,deploy,resource等对象都需要使用yaml文件来创建,很多时候我们都是参照照官方示例或者一些第三方示例来编写yaml文件以创建对象.虽然这些示例很有典型性和代表性,能够满足我们大部分时候的需求,然而这往往还是不够 阅读全文
posted @ 2019-06-18 08:07 周国通 阅读(28413) 评论(1) 推荐(7) 编辑
摘要:"系列目录" 上节提到过,QoS影响pod的调度和驱离,本节讲解如何通过配置pod来使它自动被赋予一个QoS 实际上是pod的配置达到一定标准,则kubernetes会自动为其它添加一个QoS类 QoS类型 当一个pod被创建,kubernetes会赋予它们以下类型的值之一 Guaranteed B 阅读全文
posted @ 2019-06-18 08:04 周国通 阅读(2051) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 在kubernetes中,每个POD都有个QoS标记,通过这个Qos标记来对POD进行服务质量管理。QoS的英文全称为"Quality of Service",中文名为"服务质量",它取决于用户对服务质量的预期,也就是期望的服务质量。对于POD来说,服务质量体现在两个指标上,一个指标是 阅读全文
posted @ 2019-06-18 08:02 周国通 阅读(1262) 评论(1) 推荐(0) 编辑
摘要:"系列目录" kubernetes提供了 和`readinessProbe(就绪性探针)`对容器的健康性进行检测,当然这仅仅简单的关于可用性方面的探测,实际上我们不仅仅要对容器进行健康检测,还要对容器内布置的应用进行健康性检测,这不在本篇讨论之列,后面会有专门篇幅来讨论结合APM工具,grafana 阅读全文
posted @ 2019-06-17 21:25 周国通 阅读(3814) 评论(0) 推荐(3) 编辑
摘要:"系列目录" 首先我们创建一个名称空间 创建资源配额 通过命令创建它 查看它的详细信息: 资源配额对名称空间quota mem cpu example增加了以下限制: 每一个pod都必须内存申请/限制,cpu申请/限制 这里是针对上面的示例来说的,因为示例中配额同时配置了这4个选项,因此pod必须声 阅读全文
posted @ 2019-06-17 21:20 周国通 阅读(1315) 评论(0) 推荐(0) 编辑
摘要:"系列目录" LimitRange从字面意义上来看就是对范围进行限制,实际上是对cpu和内存资源使用范围的限制 前面我们讲到过资源配额,资源配额是对整个名称空间的资源的总限制,是从整体上来限制的,而LimitRange则是对pod和container级别来做限制的 由于LimitRange是基于名称 阅读全文
posted @ 2019-06-17 20:16 周国通 阅读(6373) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 本篇将介绍如何使用 处理资源耗尽的情况 当可用的计算机资源非常低的时候,kubelet仍然要保证节点的稳定性.当处理不可压缩的计算机资源(比如内存或磁盘空间)时,这尤其重要,当这些资源被耗尽时,节点将变得不稳定 驱离策略 kubelet会积极的监视并阻止可用计算机资源耗尽.这种情况下, 阅读全文
posted @ 2019-06-17 14:04 周国通 阅读(2767) 评论(0) 推荐(2) 编辑
摘要:"系列目录" Pod可以拥有优先级.优先意味着相对于其它pod某个pod更为重要.如果重要的pod不能被调度,则kubernetes调度器会优先于(驱离)低优先级的pod来让处于pending状态的高优先级pod被调度. kubernetes 1.9以后,优先级会影响pod的调度顺序和资源耗尽时po 阅读全文
posted @ 2019-06-17 07:55 周国通 阅读(3050) 评论(0) 推荐(2) 编辑
摘要:"系列目录" 前面说过,资源配额限制在指定名称空间下,对资源对象数量和特定类型的资源的限制,你可以在 中指定配额 创建名称空间 我们创建一个新的名称空间来演示 创建资源配额 以下是资源配额对象的配置 通过 创建配额对象 查看资源配额详细信息 输出信息显示,在 名称空间下,只允许最多有一个 ,最多有两 阅读全文
posted @ 2019-06-16 15:30 周国通 阅读(944) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 当多个用户或者开发团队共享一个有固定节点的的kubernetes集群时,一个团队或者一个用户使用的资源超过他应当使用的资源是需要关注的问题,资源配额是管理员用来解决这个问题的一个工具. 资源配额,通过 定义,提供了对某一名称空间使用资源的总体约束.它即可以限制这个名称空间下有多少个对象 阅读全文
posted @ 2019-06-16 09:07 周国通 阅读(1808) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 当你编排一个pod的时候,你也可以可选地指定每个容器需要多少CPU和多少内存(RAM).当容器请求特定的资源时,调度器可以更好地根据资源请求来确定把pod调度到哪个节点上.当容器请求限制特定资源时,特定节点会以指定方式对容器的资源进行限制. 对于资源请求和资源限制的区别,可以查看 "Q 阅读全文
posted @ 2019-06-15 14:52 周国通 阅读(2068) 评论(0) 推荐(0) 编辑
摘要:"系列目录" Service Account Service Account概念的引入是基于这样的使用场景:运行在pod里的进程需要调用Kubernetes API以及非Kubernetes API的其它服务。Service Account它并不是给kubernetes集群的用户使用的,而是给pod 阅读全文
posted @ 2019-06-15 14:48 周国通 阅读(6163) 评论(0) 推荐(3) 编辑
摘要:"系列目录" 概述 RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。 StatefulSet本质上是Deplo 阅读全文
posted @ 2019-06-15 14:42 周国通 阅读(17459) 评论(5) 推荐(4) 编辑
摘要:"系列目录" 节点亲和性(affinity),是节点的一种属性,让符合条件的pod亲附于它(倾向于或者硬性要求).污点是一种相反的行为,它会使pod抗拒此节点(即pod调度的时候不被调度到此节点) 污点和容易结合在一起以确保pod不会被调度到不适合的节点上.当一个或者多个污点添加到某个节点上,则意味 阅读全文
posted @ 2019-06-15 08:22 周国通 阅读(18742) 评论(1) 推荐(4) 编辑
摘要:"系列目录" 部署pod时,大多数情况下kubernetes的调度程序能将pod调度到集群中合适的节点上。但有些情况下用户需要对pod调度到哪个节点上施加更多控制,比如将特定pod部署到拥有SSD存储节点、将同一个服务的多个后端部署在不同的机器上提高安全性、将通信频繁的服务部署在同一个可用区域降低通 阅读全文
posted @ 2019-06-14 14:42 周国通 阅读(3203) 评论(0) 推荐(2) 编辑
摘要:"系列目录" kubernetes支持多种资源调度模式,前面讲过简单的基于 和`nodeSelector 用户绑定策略 PriorityClass 抢占式调度策略` 现在版本支持Pod优先级抢占,通过PriorityClass来实现同一个Node节点内部的Pod对象抢占。根据 Pod 中运行的作业类 阅读全文
posted @ 2019-06-14 14:40 周国通 阅读(7246) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 在编排kubernetes时,Deployment的Pod项有containerPort,Service文件里的port,targetPort, nodePort,这些pod概念有些时候可能会让人感到非常困惑,这里通过示例来简单介绍各种port的含义 阅读全文
posted @ 2019-06-14 14:37 周国通 阅读(12633) 评论(1) 推荐(2) 编辑
摘要:"系列目录" Kubernetes的调度有简单,有复杂,指定NodeName和使用NodeSelector调度是最简单的,可以将Pod调度到期望的节点上。 本文主要介绍kubernetes调度框架中的NodeName和NodeSelector。 NodeName 用于强制约束将Pod调度到指定的No 阅读全文
posted @ 2019-06-14 14:34 周国通 阅读(22966) 评论(0) 推荐(0) 编辑
摘要:"系列目录" kubernetes 滚动升级 Kubernetes 中采用ReplicaSet(简称RS)来管理Pod。如果当前集群中的Pod实例数少于目标值,RS 会拉起新的Pod,反之,则根据策略删除多余的Pod。Deployment正是利用了这样的特性,通过控制两个RS里面的Pod,从而实现升 阅读全文
posted @ 2019-06-14 14:25 周国通 阅读(5653) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 在为对象定义好Label后,其他对象就可以通过Label来对对象进行引用。Label的最常见的用法便是通过spec.selector来引用对象。 关于Label的用法重点在于这两步: + 通过 字段 。在上面的例子中,新建了一个名称为nginx的Pod,它拥有一个键值对为app:ngi 阅读全文
posted @ 2019-06-14 08:23 周国通 阅读(4364) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 容器经常是为了解决单一的,窄范围的问题,比如说微服务.然而现实中,一些复杂问题的完成往往需要多个容器.这里我们讨论一下如何把多个容器放在同一个pod里以及容器间的通信 什么是pod pod是kubernetes里的一个基本概念,可能我们从一开始接触kubernetes的时候就开始接触p 阅读全文
posted @ 2019-06-12 14:23 周国通 阅读(23922) 评论(1) 推荐(7) 编辑
摘要:"系列目录" 理解初始容器 一个pod里可以运行多个容器,它也可以运行一个或者多个初始容器,初始容器先于应用容器运行,除了以下两点外,初始容器和普通容器没有什么两样: + 它们总是 + 一个初始容器必须成功运行另一个才能运行 如果pod中的一个初始容器运行失败,则kubernetes会尝试重启pod 阅读全文
posted @ 2019-06-12 08:06 周国通 阅读(10406) 评论(0) 推荐(3) 编辑
摘要:"系列目录" DaemonSet确保集群中每个(部分)node运行一份pod副本,当node加入集群时创建pod,当node离开集群时回收pod。如果删除DaemonSet,其创建的所有pod也被删除,DaemonSet中的pod覆盖整个集群。 当需要在集群内每个node运行同一个pod,使用Dae 阅读全文
posted @ 2019-06-12 08:03 周国通 阅读(1847) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 概述 向外网暴露集群内服务,以使客户端能够访问,有以下几种方法,本文重点描述Ingress。 LoadBalancer LoadBalancer一般由云服务供应商提供或者用户自定义,运行在集群之外。在创建service时为其配置LoadBalancer相关参数,当从外网访问集群内ser 阅读全文
posted @ 2019-06-11 15:19 周国通 阅读(2211) 评论(2) 推荐(4) 编辑
摘要:"系列目录" 概述 Volume是对各种存储资源的抽象、虚拟化。为管理、控制、使用存储资源提供统一接口。Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储。因为在kubernetes中可部署运行最小单位是pod ,所以kubernetes的volume为p 阅读全文
posted @ 2019-06-11 08:19 周国通 阅读(1494) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 概述 Kubernetes要求集群中所有pod,无论是节点内还是跨节点,都可以直接通信,或者说所有pod工作在同一跨节点网络,此网络一般是二层虚拟网络,称为pod网络。在安装引导kubernetes时,由选择并安装的network plugin实现。默认情况下,集群中所有pod之间、p 阅读全文
posted @ 2019-06-10 08:28 周国通 阅读(15425) 评论(0) 推荐(0) 编辑
摘要:"系列目录" Secrets是Kubernetes中一种对象类型,用来保存密码、私钥、口令等敏感信息。与直接将敏感信息嵌入image、pod相比,Secrets更安全、更灵活,用户对敏感信息的控制力更强。同Docker对敏感信息的管理类似,首先用户创建Secrets将敏感信息加密后保存在集群中,创建 阅读全文
posted @ 2019-06-10 08:25 周国通 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 类似于Linux的Cron模块,CronJob用来运行定时性任务,或者周期性、重复性任务。注意CronJob启动的是kubernetes中的Job,不是ReplicaSet、DaemonSet等其它控制器类型。 示例: 以下CronJob每分钟运行一次,打印出当前时间与hello消息。 阅读全文
posted @ 2019-06-10 08:23 周国通 阅读(2758) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 说到ReplicaSet对象,得先说说ReplicationController(简称为RC)。在旧版本的Kubernetes中,只有ReplicationController对象。它的主要作用是 ,即如果有容器异常退出,会自动创建新的 Pod 来替代;而异常多出来的容器也会自动回收。 阅读全文
posted @ 2019-06-10 08:20 周国通 阅读(985) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 本文详细探索deployment在滚动更新时候的行为 要详细探讨的参数描述: livenessProbe:存活性探测。判断pod是否已经停止 readinessProbe:就绪性探测。判断pod是否能够提供正常服务 maxSurge:在滚动更新过程中最多可以存在的pod数 maxUna 阅读全文
posted @ 2019-06-10 08:18 周国通 阅读(1093) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 这个系列分为两个小节,第一个小节介绍deployment滚动更新时,deployment、replicaset、pod的细节以及创建过程以及deployment版本管理的方式 第二个小节将介绍滚动更新过程中最大可用、liveness以及readiness等 我们在阿里云上有两个不同版本 阅读全文
posted @ 2019-06-10 08:17 周国通 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务。如果业务集群规模较大时,这个工作就变成了一个挑战,而且先全部了停止,再逐步升级的方式会导致服务较长时间不可用。kubernetes提供了滚动更新(r 阅读全文
posted @ 2019-06-10 08:14 周国通 阅读(5181) 评论(0) 推荐(1) 编辑
摘要:"系列目录" job是什么 对于ReplicaSet、ReplicationController等类型的控制器而言,它希望pod保持预期数目、持久运行下去,除非用户明确删除,否则这些对象一直存在,它们针对的是耐久性任务,如web服务等。对于非耐久性任务,比如压缩文件,任务完成后,pod需要结束运行, 阅读全文
posted @ 2019-06-09 08:24 周国通 阅读(2049) 评论(0) 推荐(1) 编辑
摘要:"系列目录" 通过ReplicaSet来创建一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题: + Pod IP仅仅是集群内可见的虚拟IP,外部无法访问。 + Pod IP会随着Pod的销毁而消失,当ReplicaSet对Pod进行动态伸缩时,P 阅读全文
posted @ 2019-06-08 08:01 周国通 阅读(1272) 评论(0) 推荐(1) 编辑
摘要:"系列目录" RS与Deployment主要用于替代RC。RS的全称为Replica Set。相对于RC,RS与Deployment的优势如下: RC只支持基于等式的selector,如env=dev或者environment!=qa。但在RS中,还支持新的基于集合的selector,如versio 阅读全文
posted @ 2019-06-07 16:41 周国通 阅读(1406) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 简述 Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括: + 定义Deployment来创建Pod和ReplicaSet + 滚动升级和回滚 阅读全文
posted @ 2019-06-07 16:37 周国通 阅读(1673) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 上一节我们讲到了由于一些人为的或者不可避免的原因,pod可能会中断,而使用 可以最大限度地保证在pod中断发生时集群仍然保持能够接受的状态. 一句话,PDB能够限制同时中断的pod的数量,以保证集群的高可用性. 使用PodDisruptionBudget来保护集群 1) 确定你想要使用 阅读全文
posted @ 2019-06-07 08:40 周国通 阅读(4784) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 目标读者: 想要构建高可用应用的应用所有者,因此需要知道pod会发生哪些类型的中断 想要执行自动化(比如升级和自动扩容)的集群管理员. 自愿和非自愿的中断 pod不会自动消息,除非有人(可能是一个人或者一个控制器)把它销毁了,或者出现无法避免的硬件或者系统软件错误. 我们把这些称作非自 阅读全文
posted @ 2019-06-06 08:15 周国通 阅读(1920) 评论(1) 推荐(1) 编辑
摘要:"系列目录" Pod是Kubernetes调度的最小单元。一个Pod可以包含一个或多个容器,因此它可以被看作是内部容器的逻辑宿主机。 Pod的设计理念是为了支持多个容器在一个Pod中共享网络和文件系统 因此处于一个Pod中的多个容器共享以下资源: + PID命名空间:Pod中不同的应用程序可以看到其 阅读全文
posted @ 2019-06-05 08:27 周国通 阅读(1161) 评论(0) 推荐(0) 编辑
摘要:本篇主要用于记录在实施docker和kubenetes过程中遇到的一个问题和解决办法. 本节部分内容摘自互联网,有些部分为自己在测试环境中遇到到实际问题,后面还会根据实际情况不断分享关于docker/k8s在开发和维护过程中出现的种种问题,以便后来者少走弯路. "系列目录" kubernets no 阅读全文
posted @ 2019-06-04 17:49 周国通 阅读(4259) 评论(1) 推荐(3) 编辑
摘要:"系列目录" 根据机器环境的不同,有的可能一次就安装成功,有的则可能遇到各种各样的坑需要排查.建议不熟悉linux的用户使用全新的环境来安装kubernetes.以下记录本人在安装过程中遇到的问题及解决方案. 缺少docker 由于是按照步骤安装的,刚开始装前几台机器的时候都看的非常认真,到了后面就 阅读全文
posted @ 2019-06-04 17:34 周国通 阅读(20654) 评论(0) 推荐(0) 编辑
摘要:"系列目录" 由于一些原因,在国内无法访问gcr.io上的镜像,在安装kubernetes时,很多官方镜像又是都存在gcr.io上,在国内的一些教程中大都使用阿里云的镜像,但是由于阿里云镜像地址更换等原因,当按照文档使用阿里云镜像时可能已经变得不可用.下面结合实际经验,列举出几种常用的办法来解决这个 阅读全文
posted @ 2019-06-04 08:12 周国通 阅读(23276) 评论(1) 推荐(1) 编辑
摘要:"系列目录" kubernetes简介 Kubernetes节点架构图: kubernetes组件架构图: 准备基础环境 我们将使用kubeadm部署3个节点的 Kubernetes Cluster,整体结构图: 节点详细信息: 无特殊说明以下操作在所有节点执行: 修改主机名: 基本配置: 配置时间 阅读全文
posted @ 2019-06-04 08:08 周国通 阅读(29159) 评论(0) 推荐(5) 编辑
摘要:"系列目录" Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。 社区版按照stable和edge两种方 阅读全文
posted @ 2019-06-03 17:53 周国通 阅读(40306) 评论(1) 推荐(0) 编辑
摘要:本贴为目录贴,将不断更新 目录 "1.Docker在centos下安装以及常见错误解决" "2.使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)" "3.无法访问gcr.io的几种解决办法" "4.kubernetes安装过程中遇到问题及解决" "5.doc 阅读全文
posted @ 2019-06-03 17:45 周国通 阅读(8256) 评论(2) 推荐(5) 编辑