简介
通过容器化,应用程序可以使用一系列服务组合架构而成,同时信任底层架构能够以最高效的方式分布这些服务。而Kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群、滚动升级回滚、弹性伸缩、自动治愈、服务发现等多种特性能力。
本课程基于Kubernetes的基础与生态分享Kubernetes集群管理与运营以及实践发现的对Kubernetes建设的一些建议。
目标
1、深度了解K8s的架构生态
2、熟悉基于Kubernetes的集群建设运营及管理,包括:集群管理中的资源配额限制存储、网络方案、镜像中心;集群运营中的高可用方案、性能测试、灾备方案等
3、帮助掌握中小规模下基于Kubernetes全流程业务分析与容器化,涵盖应用的梳理、应用的容器化、私有云、公有云、混合云的云化分析及CI/CD流程
受众人群
1、运维工程师和架构师
2、软件开发人员
课程时长
1天(6H)
分享提纲
Kubernetes的基础与生态 | 容器化与kubernetes趋势 | |
k8s架构 | k8s的基本概念 ·pod/service/rc/rs ·name/ns/label/annotation | |
k8s基本组件 ·controller ·schduler ·apiserver ·kubelet | ||
k8s生态 ·网络:calico/flannel 容器:docker ·存储:glusterfs,nfs,hostPath,emptyDir ·镜像中心:harbor ·dns:kube-dns ·负载均衡:nginx | ||
JD的kubernetes集群建设运营 | CICD | ·编译构建 。编译打包 。构建镜像 。部署规范 ·胖容器 。容器CMD 。其他服务(ssh/cront) |
应用上线 | ·应用上下线与更新 。多版本并存 。滚动升级 | |
·系统、应用与分组配置文件 ·日志收集 ·资源监控 | ||
·pod标签设计 负载均衡与DNS 。负载均衡摘除 | ||
集群管理与运营 | ·集群管理 | 。容器:是否最大权限 。资源配额限制存储:lvm 。网络方案:vlan/BGP 。镜像中心:改造的harbor |
·集群运营 | 。参数优化(系统内核参数/k8s参数) 巡检系统 。高可用方案 。k8s优化:性能测试, 。etcd升级 。抑制雪崩 ·有限自动化 ·controller定制:禁用node-controller功能,禁用lb摘除功能 ·灾备方案:数据备份,故障恢复演练 ·node生命周期管理 | |
中小规模下基于k8s的全流程建议 | 业务分析与容器化 | ·应用的梳理 。是否有状态 。应用之间的调用关系和方式隔离需求 。应用部署的规范 。网络需求:升级是否要求ip不变日志与监控 。高可用方案 。负载均衡/DNS需求 |
·应用容器化 。镜像定制 。应用改造 | ||
·云化分析 。私有云 。公有云 。混合云 | ||
·CICD流程 。源码编译 。镜像构建 。容器发布 | ||
集群的运营管理 | ·node节点规划 ·事件记录与问题复盘 ·安全管理 ·自动化 | |
Kubernetes建设的一些建议 | kubernetes的生态建设 | ·方案选型 。网 络 :flannel 。容 器 :docker 。存储:emptyDir 。镜像中心:harbor 。dns:kube-dns 。负载均衡:nginx 。 cicd:jenkins |
·版本选定 ·测试充分:网络性能/k8s稳定性 ·测试社区跟随:对于bug进行跟踪合并 ·周边开发:开发辅助工具 | ||
团队建设 | ·开发团队 | 。有一定的k8s研发能力,可以阅读合并社区PR 。研发能力可以支持 |
·运维团队 | 。应用的日常上下线和更新 。一般问题的排障 。灾难状态的人工介入和应急预案处理 |