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