您好,欢迎访问三七文档
kubernetes生产级容器应用集群平台架构组件、概念•master•kube-apiserver•kube-controller-manager•kube-scheduler•node•kubelet•kube-proxydeploymentdeploymentk8s重要流程说明•负载均衡•服务发现•更新回滚•日志收集•扩容缩容•监控预警service概念•将一组提供相同服务的pod定义为一个服务•提供统一的访问地址入口•服务端口暴露•服务发现•负载机制node1node2pod1label:app=opspod2label:app=dbpod3label:app=opspod4label:app=dbname=svc-opslabel:app=opsclusterip:192.168.6.6:5000svc2name=svc-dblabel:app=dbclusterip:192.168.6.7:5000pod1pod3pod2pod4svc1svc2node1ip:192.168.6.128port:5000node2ip:192.168.6.208port:5000pod1ip:172.16.1.1port:5000label:app=opspod2ip:172.16.1.2port:5000label:app=ops映射:192.168.6.128:5000172.16.1.1:500映射:192.168.6.208:5000172.16.1.2:500用户serviceclusterip:192.168.6.111port:5000kube-proxy转发映射映射请求请求proxypod1proxypod2service端口暴露服务注册发现k8smastersvc信息:name:dbvalue:192.168.6.7:5000kube2skyetcdskydnspod1label:name=ops数据库地址:dbpod2label:name=db查询db对应的ip地址192.168.6.7:5000服务的负载均衡机制•轮询•session会话保持应用日志收集•挂载到物理主机保持日志持久化•定义容器组pod收集应用日志收集node1pod1label:name=ops日志路径:/var/log/ops/graylogagent/var/log/ops/pod1容器1label:name=ops/var/log/ops容器2label:name=graylog_agent/var/log/ops目录共享pod更新回滚•rollingupdate滚动更新•recreate重建rollingupdate滚动更新serviceclusteripold版本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=opsrecreate重建serviceclusteripold版本pod1label:name=opsold版本pod2label:name=opsold版本pod3label:name=opsnew版本pod5label:name=opsnew版本pod6label:name=opsnew版本pod4label:name=opspod扩容缩容•手动扩容缩容命令:kubectlscaledeploymentxxxreplicas=1•自动扩容缩容根据cpu使用率自动扩容HPApod1Heapster获取cpuresources:requests:cpu:200mminReplicas:1maxReplicas:10targetCPUUtilizationPercentage:50scalerc/deploymentHPApod1Heapsterscalerc/deploymentpod2资源监控•cAdvisor(单节点收集)•kubernetesdashboard(集群展示)•Heapster+InfluxDB+Grafana(持久化展示)cAdvisor单节点监控node1kubelet监听:4149cAdvisorpod1pod2pod3:name:heapsterpod2label:name:opspod3label:name:dashboardpod4label:name:opsmasterapi-servernodeportservice获取节点信息node1kubeletcAdvisorpod1pod2node2kubeletcAdvisorpod3pod4influxdbGrafana采集采集写入读取持续部署(CD)开发者gitlabJenkinsdocker打包docker仓库k8s集群pushpostcallpush拉取镜像部署•git:•Jenkins:•ops:@banggood.com!024测试环境应用总结•容器即进程•应用、数据拆分•镜像越小越好(待优化)•提交制作镜像,dockerfile去掉网络安装。开箱即用•devops理念谢谢观赏!
本文标题:k8s应用分享
链接地址:https://www.777doc.com/doc-4005739 .html