本文目录导航:
kubernetes 提供什么配置
Kubernetes,是开源容器运行智能化部署技术,也就是大家经常说的k8s。
Kubernetes(k8s)是智能化容器操作的开源平台,这些操作包含部署,调度和节点集群间裁减。
假设你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes外部经常使用的低级别组件。
Kubernetes不只仅支持Docker,还支持Rocket,这是另一种容器技术。
经常使用Kubernetes可以:
它有这些特点:
假设还有想要了解的可以到官方或是相关教程视频中看看,比如B站这个视频教程:
细说kubernetes - 为什么是pod?
k8s作为如今最火的容器编排调度平台,好用我也就不用多说了。
当咱们初识k8s的时刻一个新的概念就到了咱们眼前,那就是pod。
咱们在经常使用了之后也就慢慢的接受了pod这个物品,然而你有没有想过,为什么是pod?k8s为什么会有这样的设计?当天咱们就来细细说说这个pod
首先咱们来回想看看k8s的架构图是什么样子的
从架构图中咱们可以看到,整个k8s的设计架构有以下几个要点:
当然其余组件都十分关键,这个咱们以后再说,咱们当天就来看看主角“pod”
一开局用的时刻我就猎奇为什么k8s要弄出一个pod,由于咱们一开局经常使用的是docker,操作的是docker容器,构建的也是docker镜像,为什么不间接调度docker容器就好了,这样粒度不是愈加粗疏,调度也会愈加繁难吗? 咱们在经常使用k8s之前也经常使用过docker-compose,从另一个角度说,这也是一种容器的治理,看起来也挺好的。 上方咱们就来说说pod
从上方的图你大略可以感遭到pod在k8s中其实是一个什么样的角色。
咱们假设经常使用虚构机,那么上方就会有一系列的服务这些服务或许会有一些依赖,而这样的依赖就如同在主机中运转的一个个进程组,往往其中也有着相关的依赖,而pod中的容器也是一样的情理,其中也会有相似这样的依赖,为了更好的形容和治理这样的依赖,于是就有了pod。
其实这样的理念往往可以类比出很多这样的设计。
必定会有这样的相关吗?我的觉得是,在现代技术服务的开发的环节中,这样的相关是无法防止的。
我上方来举几个例子。
咱们知道 java 的 web 运行往往要求部署在tomcat这样的容器之中,在 springboot 还没有产生以前,要求自己启动一个 tomcat 容器,而后将要求部署的运行打包部署到容器中去。
在以前你或许会想着,将 javaweb 打包一个war,而后编写一个 dockerfile 将 war 包cp到 tomcat 中的 webapp 目录中。
然而这样带来的就是每次更新颁布的时刻,镜像会很大,由于每次构建都会有一个基础的tomcat镜像。
而在k8s经常使用的时刻,会有的设计的是,将tomcat作为一个不变的镜像(它也不应该扭转)而把 war 包作为另外一个容器,而这样个容器同时挂载同一个目录,将 webapp 挂载的目录与 war包挂载的目录相反来到达目标,而后将他们放到同一个 pod 中。
相似的操作还有:外面说的就是前端静态页面和 nginx 的相关。
上方援用官方设计理念中的一句话:“ 比如你运转一个操作系统发行版的软件仓库,一个Nginx容器用来颁布软件,另一个容器专门用来从源仓库做同步,这两个容器的镜像不太或许是一个团队开发的,然而他们一块儿上班能力提供一个微服务;这种状况下,不同的团队各自开发构建自己的容器镜像,在部署的时刻组分解一个微服务对外提供服务。 ”
在经常使用 docker 部署名目标时刻会遇到一个疑问就是日志耐久化的疑问,由于 docker 容器假设被删除的话,其中的文件也会被删除,那么咱们的日志文件同时也会被删除,也就是说咱们必定要将日志耐久化。
最经常出现的形式是,将日志存储的目录挂载到宿主机上,这样容器被删除的时刻日志不会被删除。 而在k8s中经常出现的日志处置架构是怎样样的呢?
经常使用的是 sidecar,这个是什么呢?其实就是一个辅佐性质的容器,同时与主容器放在同一个 pod 中,读取主容器挂载进去的日志目录。
其实后续还可以做更多的操作,比如日志发送es等等。
总之咱们可以看到,在一个pod中的容器相关是十分亲密的,他们可以领有同一个目录,甚至可以领有同一个网络,可以领有相互的服务,这样的相关我听过的名词叫做“超亲密相关”。
就相似一对夫妻之间的相关了。
由于在如今的多说运行中,曾经简直做不到一团体顶天立地了,总是会有各种各样的依赖,依赖一些组件,依赖一些工具,依赖一些网络服务等等,一个进程组有很多的进程相互协助来最终成功配置一样。
这样的相关太过经常出现,于是k8s就将它设计为了pod。
假设你曾经对docker的成功比拟相熟,其实pod的成功并不复杂。(假设对docker成功不相熟可以翻看之前的博客) 其实pod是一个逻辑上的概念,其实pod做的事件很繁难:
其实k8s做的就是初始化一个infra的容器(这是一个很小的容器),应用这个容器去当先占用要求经常使用的 Namespace ,而后在将用户指定的容器加载出去,同时经常使用的就是相反的 Namespace 了。(假设有 InitContainer 会优先按顺序初始化它,图上就不做说明了)
这样共享网络应该是没有疑问了,那么要共享Volume也很繁难。
pod 只有要将 Volume 目录挂载到宿主机,让外部的容器挂载这个目录就可以了。
再来说说pod还有哪些配置,这些配置也是k8s为什么设计pod的要素之一
经过Probe:LivenessProbe或许ReadinessProbe,可以探测运行能否处于肥壮形态,假设不肥壮做出相关的反响。
这就好比k8s可以活期的帮你监控、维持一整个运行的肥壮。
其真实咱们看来,很多时刻服务挂了,要求重启,要求做高可用,那么nginx呢?tomcat呢?也是一样的。
所以pod的肥壮能保障整个服务的所有肥壮经常使用。
咱们可以经过给Pod参与/ingress-bandwidth和/egress-bandwidth这两个annotation来限度Pod的网络带宽。
为什么我提到了这个配置呢?由于在实践的业务开发环节中经常会经常使用一些网络插件,这些网络插件在流量的控制上十分有用,有的时刻咱们会依据网络流量来做一系列的操作,用户的突然增长造成的流量剧增能否要扩容等等...而这样的监控和限度关于pod来说无疑会愈加繁难,而不要求管pod外部的容器的流量。
重启的战略,这个也算是一个配置吧
官方:一个Pod(就像一群鲸鱼,或许一个豌豆夹)。
我觉得 Pod 更证实了一种设计形式“组合”,在有的时刻会,组合的正当,就会繁难很多物品,比如设计了一堆组件,组合在一同;ps画图的时刻方块更圆组合在一同,就可以一同多复制几个组合。
当然咱们在看法到为什么要这样设计 Pod 的同时要求看法到,咱们应该将什么样的容器组合搁置在同一个 Pod 之中才比拟适宜。
遵照必定的“容器设计形式”启动编排,调度的时刻才会愈加随心所欲。
CKA 及CKAD认证阅历分享
大家好,前段期间经过了CNCF CKA、CKAD认证,这里我将分享我的认证阅历,宿愿能对你们有所协助。
**考试目标:**我从事与容器和Kubernetes相关的上班,对这个畛域充溢激情。
我选用参与这个认证一方面是为了坚固我的常识,另一方面是为了取得专业机构的认可。
此外,公司正在放开成为Kubernetes服务提供商,要求至少有三人经过CKA认证。
**考试前预备:**1. **报名相关事项:** - 报名后,他们会审核你的笔记本电脑环境。
- 选用英文版的CKA考试,由于考试是在线启动的(听说台湾有考点,宿愿大陆也能尽快设立)。
- 选用北京时区,并依照揭示选用适宜的期间。
- 考试期间可以修正,但要求在考试前24小时并且在上班日启动。
- CKA考试的及格分数是75分,有两次考试时机,假设第一次性没过,一年内可以再次考试。
- 报名费用为300美元(听说彩色星期五有活动)。
2. **备考资料:** - 官方资料 - 国际有些守业公司提供培训,费用较高,适宜初学者或经济条件准许的人。
- 介绍的学习视频:感谢哔哩哔哩和华为云提供的视频,链接:(华为云的视频内容不错,但录制品质有待提高)。
**考试留意事项:**1. **考试流程:** - 考试前15分钟进入考试界面,确认身份,审核环境等。
- 考题是中文的,但有些翻译不佳,倡导检查英文版。
- 确保有良好的网络环境,可以经常使用公司网络。
- 假设考试终止,尝试新建标签页从新进入。
- 经常使用Chrome阅读器。
- 考试期间弛缓,倡导先做繁难标题,难题记在提供的笔记表格里最后处置。
- 的内容可以间接粘贴。
- 节俭期间的技巧:经常使用kubectl run命令,标签保留内容,命令补全等。
2. **考试关键常识点:** - 创立资源:Pod、Deployment、Daemonset等,留意多容器Pod和Daemonset的tolerations。
- 日志输入:经常使用kubectl logs xxxx | grep xxxx挑选日志。
- 节点调度:经常使用nodeSelector。
- Init容器:在现有文件中参与Init容器。
- Deployment创立和镜像版本更新,经常使用kubectl run、kubectl set image、kubectl rollout undo。
- 泄露服务:经常使用kubectl expose。
- Secret的经常使用。
- 排错:控制节点或上班节点疑问。
- 参与节点:TLS Bootstrap。
- etcd备份。
**考试后留意事项:**1. **结果通知:** - 考试后,不会立刻收到结果。
官方示意36小时内会经过电子邮件通知,我是在34小时后收到邮件的,包含效果和认证证书。
2. **证书有效期:** - 最新的信息是,CKAD的证书有效期改为三年。
- CKAD考试期间为120分钟,19道题;CKA为180分钟,24道题。
- CKAD的证书有效期为2年,而CKA为3年。
- CKAD关键触及资源的创立,而CKA包含创立资源和排错。