本章概述 日志收集准备工作-部署ELK 日志收集方式 前言 日志收集的目的: 分布式日志数据统一收集,实现集中式查询和管理 故障排查 安全信息和事件管理 报表功能 日志收集的价值: 日志查询,问题排查,故障恢复,故障自愈 应用日志分析,错误报警 性能分析,用户行为分析 日志收集流程图: 日志收集流程 1、在k8s集群内部(node、pod、容器)内置…
本章概述 日志收集准备工作-部署ELK 日志收集方式 前言 日志收集的目的: 分布式日志数据统一收集,实现集中式查询和管理 故障排查 安全信息和事件管理 报表功能 日志收集的价值: 日志查询,问题排查,故障恢复,故障自愈 应用日志分析,错误报警 性能分析,用户行为分析 日志收集流程图: 日志收集流程 1、在k8s集群内部(node、pod、容器)内置…
本章概述 K8S集群镜像更新 结合k8s实现CI/CD 基于脚本实现代码部署与回滚案例 蓝绿发布和灰度发布 CI/CD说明 CI:持续集成,开发持续更新代码,常用工具:svn(早期),gitlab CD:持续部署,运维将集成代码部署到环境中,常用工具:jenkins 14.1 K8S集群镜像更新 14.1.1 镜像更新方式 常见的更新方式有三大类。 1、更新yaml 2、kubecetl set image 3、API调用 注意:为了便于演示效果,这里准备了几个测试镜像,这些镜像已经上传到阿里云镜像仓库,可以直接下…
本章概述 Kubernetes API 鉴权流程 Kubernetes API 鉴权类型 准入控制示例 13.1 Kubernetes API 鉴权流程: 1、身份验证: kubernetes API-Server验证客户端身份是不是合法的service account账户,如果不是则API服务器直接返回错误状态码401并终止请求。此步骤会检查头部报文和客户端证书,如:client certificates,password,tokens 集群认证证书文件默认在用户家…
本章概述 node Affinity与anti-affinity(node亲和与反亲和) pod Affinity与pod antiaffinity(pod亲和与反亲和) 污点与容忍 kubernetes pod驱逐 12.1 node Affinity与anti-affinity(node亲和与反亲和) 12.1.1 nodeSelector nodeSelector 基于node标签选择器,将pod调度的指定的目的节点上。 官网链接:https://kuberne…
本章概述 kubernetes资源限制概括 kubernetes对单个容器的CPU及memory实现资源限制 kubernetes对单个pod的CPU及memory实现资源限制 kubernetes对整个namespace的CPU及memory实现资源限制 11.1 kubernetes资源限制概括 前言 1、如果运行的容器没有定义资源(memory、CPU)等限制,但是在namespace定义了LimitRange限制,那么该容器会继承LimitRange中的默认限制。 2、如果namespace没有定义Limi…
本章概述 通过手动调整pod 动态伸缩控制器HPA 前言 pod伸缩策略: 根据当前pod的负载,动态调整 pod副本数量,业务高峰期自动扩容pod的副本数以尽快响应pod的请求,业务低峰期对pod进行缩容,实现降本增效的目的。 pod级别的扩容缩容一般是根据pod资源(CPU、内存)的使用情况进行扩容缩容。比如:设置扩容阈值为80%,缩容阈值为40%,当pod资源资源使用率达到80%,就对当前pod进行自动扩容,当pod资源使用率低于等于40%,就对当前pod进行缩…
本章概述 案例一:镜像分层构建 案例二:自定义镜像运行Nginx及tomcat服务并基于NFS实现动静分离 案例三:自定义镜像结合PV/PVC运行Zookeeper集群 案例四:kubernetes运行Redis单机及Redis Cluster 案例五:kubernetes基于StatefulSet运行MySQL一主多从 案例六:kubernetes运行Jenkins 案例七:单Pod多容器实现LNMP并使用MySQL作为SQL服务器 案例八:kubernetes基于Zookeeper案例实现微服务动态注册和发现 …
本章概述 Pod常见状态 pause容器 init容器 Health Check(容器健康检查) kubernetes pod生命周期和探针 前言 pod调度流程: (1)客户端发起创建pod的请求 (2)api-server验证请求是否合法 api-server收到请求,对用户进行验证,调用本地/etc/.kube/config文件,如果验证不通过,拒绝用户访问(报403,promising deny);验证通过后,对用户命令(验证命令格式、参数)进行验证 (3)api-server验证通过后,将请求指令写入et…
本章概述 kubernetes资源管理核心概念 Kubernetes API kubernetes资源对象 7.1 kubernetes资源管理核心概念 K8S的设计理念-分层架构 备注:无状态服务(应用)和有状态服务(应用) 无状态:无状态服务不会在本地存储持久化数据,多个服务实例对于同一个用户请求的响应结果是完全一致的。这种多服务实例之间是没有依赖关系,比如web应用,在k8s控制器 中动态启停无状态服务的pod并不会对其它的pod产生影响。 有状态:有状态服务需要在本地存储持久化数据,典型的是分布式数据库的应…
本章概述 yaml文件介绍 通过yaml文件实现nginx+tomcat的访问 6.1 yaml文件介绍 yaml文件是k8s集群的重中之重,集群部署完成后,要想实现业务容器化,要通过yaml文件拉起容器。 示例: 人员名单: 张三: 年龄: 18 # 职业: Linux运维工程师 爱好: - 看书 - 学习 - 加班 李四: 年龄: 20 职业: Java开发工程师 # 这是职业 爱好: - 开源技术 - 微服务 - 分布式存储 特点: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用T…