《k8s应用分享.ppt》由会员分享,可在线阅读,更多相关《k8s应用分享.ppt(24页珍藏版)》请在三一文库上搜索。
1、kubernetes生产级容器应用集群平台,架构,组件、概念,master kube-apiserver kube-controller-manager kube-scheduler,node kubelet kube-proxy,deployment,deployment,k8s重要流程说明,负载均衡 服务发现 更新回滚 日志收集 扩容缩容 监控预警,service概念,将一组提供相同服务的pod定义为一个服务 提供统一的访问地址入口 服务端口暴露 服务发现 负载机制,node1,node2,pod1 label :app=ops,pod2 label :app=db,pod3 label
2、:app=ops,pod4 label :app=db,name=svc-ops label:app=ops cluster ip:192.168.6.6:5000,svc2 name=svc-db label:app=db cluster ip:192.168.6.7:5000,pod1,pod3,pod2,pod4,svc1,svc2,node1 ip:192.168.6.128 port:5000,node2 ip:192.168.6.208 port:5000,pod1 ip:172.16.1.1 port:5000 label:app=ops,pod2 ip:172.16.1.2 p
3、ort:5000 label:app=ops,映射: 192.168.6.128:5000 172.16.1.1:500,映射: 192.168.6.208:5000 172.16.1.2:500,用户,service cluster ip: 192.168.6.111 port:5000 kube-proxy转发,映射,映射,请求,请求,proxy pod1,proxy pod2,service端口暴露,服务注册发现,k8s master svc信息: name:db value:192.168.6.7:5000,kube2sky,etcd,获取,写入,skydns,查询,pod1 labe
4、l:name=ops 数据库地址:db,pod2 label:name=db,查询db对应的ip地址,192.168.6.7:5000,服务的负载均衡机制,轮询 session会话保持,应用日志收集,挂载到物理主机保持日志持久化 定义容器组pod收集,应用日志收集,node1,pod1 label:name=ops 日志路径:/var/log/ops/,graylog agent,/var/log/ops/,挂载,采集,pod1,容器1 label:name=ops /var/log/ops,容器2 label:name=graylog_agent /var/log/ops,目录共享,pod更
5、新回滚,rolling update 滚动更新 recreate 重建,rolling update 滚动更新,service cluster ip,old版本 pod1 label:name=ops,old版本 pod2 label:name=ops,old版本 pod3 label:name=ops,new版本 pod4 label:name=ops,new版本 pod4 label:name=ops,new版本 pod5 label:name=ops,new版本 pod5 label:name=ops,new版本 pod6 label:name=ops,new版本 pod6 label:
6、name=ops,recreate 重建,service cluster ip,old版本 pod1 label:name=ops,old版本 pod2 label:name=ops,old版本 pod3 label:name=ops,new版本 pod5 label:name=ops,new版本 pod6 label:name=ops,new版本 pod4 label:name=ops,pod扩容缩容,手动扩容缩容 命令:kubectl scale deployment xxx replicas=1 自动扩容缩容 根据cpu使用率,自动扩容,HPA,pod1,Heapster,获取cpu,r
7、esources: requests: cpu: 200m,minReplicas: 1 maxReplicas: 10 targetCPUUtilizationPercentage: 50,scale rc/deployment,HPA,pod1,Heapster,scale rc/deployment,pod2,资源监控,cAdvisor(单节点收集) kubernetes dashboard(集群展示) Heapster+InfluxDB+Grafana(持久化展示),cAdvisor 单节点监控,node1,kubelet 监听:4149,cAdvisor,pod1,pod2,pod3
8、,http:/192.168.6.208:4194,kubernetes dashboard,node1,node2,kubelet,kubelet,pod1 label: name:heapster,pod2 label: name:ops,pod3 label: name:dashboard,pod4 label: name:ops,master api-server,采集,采集,cAdvisor,cAdvisor,nodeport,service,http:/192.168.6.208:30001,Heapster+InfluxDB+Grafana,master api_server,h
9、eapster,获取节点信息,node1,kubelet,cAdvisor,pod1,pod2,node2,kubelet,cAdvisor,pod3,pod4,influxdb,Grafana,http:/192.168.6.208:30002,采集,采集,写入,读取,持续部署(CD),开发者,gitlab,Jenkins,docker打包,docker仓库,k8s集群,push,post,call,push,call,拉取镜像部署,git:http:/192.168.6.230:8090 Jenkins:http:/192.168.6.230:8080 ops:http:/192.168.6.230:!024,测试环境应用总结,容器即进程 应用、数据拆分 镜像越小越好(待优化) 提交制作镜像,dockerfile去掉网络安装。开箱即用 devops理念,谢谢观赏!,