本章概述 service回顾 ingress介绍和部署 实现单host及多host的ingress 实现基于URL的ingress ingress实现单域名及多域名https ingress证书更新 前言 由于ingress会用到service,这里对service进行回顾 17.1 service回顾 service类型包括四种: NodePort、clusterIP、loadBalancer、ExternalName。 其中NodePort和clusterIP在第…
本章概述 service回顾 ingress介绍和部署 实现单host及多host的ingress 实现基于URL的ingress ingress实现单域名及多域名https ingress证书更新 前言 由于ingress会用到service,这里对service进行回顾 17.1 service回顾 service类型包括四种: NodePort、clusterIP、loadBalancer、ExternalName。 其中NodePort和clusterIP在第…
本章概述 kubernetes网络组件flannel kubernetes网络组件calico kubernetes NetworkPolicy(网络策略) 通过网络策略限制通信案例 16.1 kubernetes网络组件flannel 官网:https://coreos.com/flannel/docs/latest/ 文档:https://coreos.com/flannel/docs/latest/kubernetes.html 由CoreOS开源的针对k8s的网络服务,其目的为解决k…
本章概述 日志收集准备工作-部署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…