k8s已经成为了绝对热门的技术,一个上点规模的公司,如果不搞k8s,都不好意思出去见人。安装k8s首先就要突破种种网络阻碍,但更大的阻碍还在后面。。。如何运行、部署、实战? 今天给大家推荐的这份资料既适合纯小白入手,也适合有一定基础的同学进阶提升。由于内容过多,在此只展示部分内容,完整资料领取请下拉至文末! 这份文档的价值 这份k8s实战文档共分为7大部分,从最基础的kubeadm安装k8s讲起,包括master运行机制、node节点运行机制、etcd运行机制、网络运行机制等基础知识点,还覆盖了K8s中nginx、tomcat的运行示例,以及k8s的运维示例:调整pod数量、HPA自动伸缩pod数量等等,k8s的持续集成与部署,容器监控与报警都有详细讲解,可谓干货十足! 最后一章列举了3大实战案例:k8s高可用、动静分离web站点、PV及PVC实战案例。 第一部分:基础集群环境搭建 第一部分首先搭建k8s基础集群环境,根据实际需求,进行规划与部署相应的单master或者多master的高可用k8s运行环境。 第二部分:k8s运行机制及术语 这一个章节分解了k8s集群中master、node、etcd、calico和flannel的运行机制。 第三部分:运行web服务运行nginx:将nginx运行在k8s中并可以从外部访问到nginx的web页面。运行tomcat:基于基础的centos镜像,制作公司内部基础镜像jdk镜像tomcat基础镜像tomcat业务镜像。k8s中nginxtomcat实现动静分离:实现一个通用的nginxtomcat动静分离web架构,即用户访问的静态页面和图片在由nginx直接响应,而动态请求则基于location转发至tomcat。重点:Nginx基于tomcat的servicename转发用户请求到tomcat业务app基于NFS实现动静分离:图片的上传由后端服务器tomcat完成,图片的读取由前端的nginx响应,就需要nginx与tomcat的数据保持一致性,因此需要将数据保存到k8s环境外部的存储服务器,然后再挂载到各nginx与tomcat的容器中进行相应的操作。 第四部分:运行web服务 运维必入!这部分是和运维人员相关的日常运维事宜手动调整pod数量HPA自动伸缩pod数量动态修改资源内容kubectledit定义node资源标签业务镜像版本升级及回滚配置主机为封锁状态且不参与调度从etcd删除pod 第五部分:持续集成与部署jenkins环境准备gitlab环境准备脚本内容 第六部分:运行web服务 容器监控的实现方对比虚拟机或者物理机来说比大的区别,比如容器在k8s环境中可以任意横向扩容与缩容,那么就需要监控服务能够自动对新创建的容器进行监控,当容器删除后又能够及时的从监控服务中删除,而传统的zabbix的监控方式需要在每一个容器中安装启动agent,并且在容器自动发现注册及模板关联方面并没有比较好的实现方式。 这个章节对Prometheus监控系统进行了比较详细的介绍,从安装到报警及监控pod资源。此外还有一份Prometheus官方中文文档也一并打包,需要的在文末自取。 第七部分:k8s实战案例K8S高可用:基于HAProxyKeepalived实现高可用k8s集群环境、实现K8S版本升级、calico与flflannel网络通信、kubeDNS与CoreDNS、Dashboard。动静分离web站点:主要介绍在k8s中运行目前比较常见的主流服务和架构,如基于NginxTomcat的动静分离架构、基于PVC实现的Zookeeper集群和Redis服务,基于PVCStatefulSet实现的MySQL主从架构,运行java应用,K8S中基于NginxPHPMySQL实现的WordPress的web站点,如何在k8s中基于Zookeeper运行微服务等,以及K8S的CI与CD、日志收集分析展示与prometheusgrafana实现pod监控与报警等。PV及PVC实战案例:默认情况下容器中的磁盘文件是非持久化的,对于运行在容器中的应用来说面临两个问题,第一:当容器挂掉kubelet将重启启动它时,文件将会丢失;第二:当Pod中同时运行多个容器,容器之间需要共享文件时,Kubernetes的Volume解决了这两个问题 无论对小白还是有一定基础的人,这都是一本实用性很强,具有指导意义的资料,认真读完它,相信你一定会有所受益! 领取方式见下图! 领取方式见下图!