1、kubernetes生产级容器应用集群平台1PPT课件架构2PPT课件组件、概念 masterkube-apiserverkube-controller-managerkube-scheduler nodekubeletkube-proxydeploymentdeployment3PPT课件k8s重要流程说明 负载均衡 服务发现 更新回滚 日志收集 扩容缩容 监控预警4PPT课件service概念 将一组提供相同服务的pod定义为一个服务 提供统一的访问地址入口 服务端口暴露 服务发现 负载机制5PPT课件node1node2pod1label:app=opspod2label:app=dbp
2、od3label:app=opspod4label:app=dbname=svc-opslabel:app=opscluster ip:192.168.6.6:5000svc2name=svc-dblabel:app=dbcluster ip:192.168.6.7:5000pod1pod3pod2pod4svc1svc26PPT课件node1ip:192.168.6.128port:5000node2ip:192.168.6.208port:5000pod1ip:172.16.1.1port:5000label:app=opspod2ip:172.16.1.2port:5000label:a
3、pp=ops映射:192.168.6.128:5000172.16.1.1:500映射:192.168.6.208:5000172.16.1.2:500用户servicecluster ip:192.168.6.111port:5000kube-proxy转发映射映射请求请求proxypod1proxypod2service端口暴露7PPT课件服务注册发现k8s mastersvc信息:name:dbvalue:192.168.6.7:5000kube2skyetcd获取写入skydns查询pod1label:name=ops数据库地址:dbpod2label:name=db查询db对应的ip
4、地址192.168.6.7:50008PPT课件服务的负载均衡机制 轮询 session会话保持9PPT课件应用日志收集 挂载到物理主机保持日志持久化 定义容器组pod收集10PPT课件应用日志收集 node1pod1label:name=ops日志路径:/var/log/ops/graylog agent/var/log/ops/挂载采集pod1容器1label:name=ops/var/log/ops容器2label:name=graylog_agent/var/log/ops目录共享11PPT课件pod更新回滚 rolling update 滚动更新 recreate 重建12PPT课件
5、rolling update 滚动更新servicecluster ipold版本pod1label:name=opsold版本pod2label:name=opsold版本pod3label:name=opsnew版本pod4label:name=opsnew版本pod4label:name=opsnew版本pod5label:name=opsnew版本pod5label:name=opsnew版本pod6label:name=opsnew版本pod6label:name=ops13PPT课件recreate 重建servicecluster ipold版本pod1label:name=op
6、sold版本pod2label:name=opsold版本pod3label:name=opsnew版本pod5label:name=opsnew版本pod6label:name=opsnew版本pod4label:name=ops14PPT课件pod扩容缩容 手动扩容缩容 命令:kubectl scale deployment xxx replicas=1 自动扩容缩容根据cpu使用率15PPT课件自动扩容HPApod1Heapster获取cpuresources:requests:cpu:200mminReplicas:1maxReplicas:10targetCPUUtilization
7、Percentage:50scalerc/deploymentHPApod1Heapsterscalerc/deploymentpod216PPT课件资源监控 cAdvisor(单节点收集)kubernetes dashboard(集群展示)Heapster+InfluxDB+Grafana(持久化展示)17PPT课件cAdvisor 单节点监控node1kubelet 监听:4149cAdvisorpod1pod2pod3http:/192.168.6.208:419418PPT课件kubernetes dashboardnode1node2kubeletkubeletpod1label:n
8、ame:heapsterpod2label:name:opspod3label:name:dashboardpod4label:name:opsmasterapi-server采集采集cAdvisorcAdvisornodeportservicehttp:/192.168.6.208:3000119PPT课件Heapster+InfluxDB+Grafanamasterapi_serverheapster获取节点信息node1kubeletcAdvisorpod1pod2node2kubeletcAdvisorpod3pod4influxdbGrafanahttp:/192.168.6.208:30002采集采集写入读取20PPT课件持续部署(CD)开发者gitlabJenkinsdocker打包docker仓库k8s集群pushpostcallpushcall拉取镜像部署21PPT课件git:http:/192.168.6.230:8090Jenkins:http:/192.168.6.230:8080ops:http:/192.168.6.230:!02422PPT课件测试环境应用总结 容器即进程 应用、数据拆分 镜像越小越好(待优化)提交制作镜像,dockerfile去掉网络安装。开箱即用 devops理念23PPT课件谢谢观赏!24PPT课件