Kubernetes容器云平台迁移实践课件.pptx

上传人(卖家):三亚风情 文档编号:2876876 上传时间:2022-06-07 格式:PPTX 页数:22 大小:547.68KB
下载 相关 举报
Kubernetes容器云平台迁移实践课件.pptx_第1页
第1页 / 共22页
Kubernetes容器云平台迁移实践课件.pptx_第2页
第2页 / 共22页
Kubernetes容器云平台迁移实践课件.pptx_第3页
第3页 / 共22页
Kubernetes容器云平台迁移实践课件.pptx_第4页
第4页 / 共22页
Kubernetes容器云平台迁移实践课件.pptx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、Kubernetes容器云平台迁移实践容器云平台迁移实践现有平台的挑战为什么Kubernetes 迁移前的准备工作业务迁移中使用的规范 迁移中遇到的其他问题目录现有平台面临的挑战 基础设施故障率高,运维自动化水平低 系统架构不一致,维护复杂度高 计算资源利用率低 业务迁移或扩展困难 服务总量繁多,管理复杂度高3为什么选择Kubernetesu 提高计算资源的利用率和服务的弹性扩展能力。u 业务容器镜像一次构建,可运行在多种环境。u 消除本地依赖,降低迁移成本,解决服务商锁定问题。u 遵循Borg架构思想,规范网站系统架构设计。u 实现运维自动化向容器云平台迁移前的准备工作 搭建kubernet

2、es集群 构建私有Docker镜像仓库(Harbor) 集群监控Heapster CI/CD基础设施(Jenkins/Helm) 分布式存储解决方案( Glusterfs )组件选型nKubernetes v1.5.2主程序nDocker v1.10.3容器nFlannel v0.7.0网络组件nEtcd3.1.3数据库nKubernetes-DashboardUInKubednsnHarbornHeapsternGlusterFS v3.7.9nJenkins v2.67nHelm v2.5.0DNS组件容器私有镜像库 (Registr y) 监控共享存储CI/CD工具package man

3、ager业务迁移中使用的规范容器镜像封装的基本原则NameSpace的使用规范 service name的命名规范健康检查规范 Image tag配置规范容器镜像封装的基本原则一 尽可能地设计成无状态服务二 尽可能消除不必要的运行环境依赖 三 需要持久化的数据写入到共享存储四 尽可能保持业务的单一性五 控制输出到stdout和stderr的日志写入量。 六 配置与镜像内容分离七 容器中使用k8s内部dns代替ip地址配置形式 八 日志采用集中化处理方案(EFK)九 采用独立的容器处理定时任务NameSpace的使用I.实现在一个集群内部同时运行开发、测试、Staging、生产环境II.软件组件

4、在不同的运行环境之间不会产生命名冲突。III.通过namespace实现资源隔离(Resource Quota) 。Service name的命名规范一v1.5版之前不能超过24个字符, v1.5版后最多63个字符。二需要满足正则regex a-z(-a-z0-9*a-z0-9)? 的要求, 意味着首字母必须是a-z的字母,末字符不能是-,其 他部分可以是字母数字和-符号。三命名方式:业务名-应用服务器类型-其他标识 ,例如 book-tomcat-n1 、book-mysql-m1 、book-redis-n1、 book-zk-n1应用健康检查规范健康检查是系统故障自动发现和自我恢复最重要

5、的手段一、进程级健康检查检验容器进程是否存活,进程级的健康检查都是默认启用的 二、业务级健康检查:I.检查自身核心业务是否正常II.健康检查程序执行时间要小于健康检查周期III.健康检查程序消耗资源要合理控制,避免出现服务抖动健康检查程序的实现WEB服务:服务:采用HTTPGET方式进行健康检查,需要实现一个“/healthz” URI,这个URI对应的程序需要检查所有 核心业务服务是否正常,健康检查程序还应该在异常情况下输出每一个检查项的状态明细。其他网络服务:其他网络服务:可以采用探查容器的指定端口状态来判断容器健康状态。非网络服务:非网络服务:在容器内部执行特定命令,根据退出码判断容器健

6、康状态。HttpGetProbTCP Socket Action12Exec ActionlivenessProbe: httpGet:path: /healthz port: 8080initialDelaySeconds: 15 timeoutSeconds: 1readinessProbe: httpGet:path: /readiness port: 8080 initialDelaySeconds: 5 timeoutSeconds: 1livenessProbe: initialDelaySeconds: 15 timeoutSeconds: 1 tcpSocket:port: 8

7、0livenessProbe: exec: command:-cat-/tmp/health initialDelaySeconds: 15 timeoutSeconds: 1范例1范例2范例313yaml中Image tag配置规范 部署容器镜像时避免使用:latest tag形式n难以跟踪当前运行的images版本n难以进行回滚操作nimagePullPolicy为IfNotPresent时镜像不会更新。 每个容器images的tag应该用版本号来标识(如 myimage:v1)14使用ConfigMap实现应用平滑迁移配置与镜像内容分离以保持容器化应用程序的可移植配置与镜像内容分离以保持

8、容器化应用程序的可移植性性使用场景: 填充环境变量的值 设置容器内的命令行参数 填充卷的配置文件填充卷的配置文件迁移中遇到的其他问题关于CI/CDDocker-in-Docker 时区的配置问题外部网络访问Service 网络问题关于CI/CD 采用Jenkins实现CI/CD 通过Helm实现软件包管理MonocularDocker-in-Docker on Kubernetes在docker中运行docker,实质上是将host的docker.sock 挂载到容器中,在 容器中创建的容器,实际上是运行在host机器上。1718时区的配置问题 容器镜像的/etc/localtime根据需要设

9、置为对应的时区 如:/usr/share/zoneinfo/Asia/Shanghai 采用 配置文件中的volume挂载宿主机对应的localtime文件方式 配置代码:volumeMounts:- name: local-timemountPath: /etc/localtime readOnly: truevolumes:- name: local-time hostPath:path: /usr/share/zoneinfo/Asia/Shanghai readOnly: true外部网络如何访问到Servicen通过Ingress转发集群内部服务nIngress服务通过NodePor

10、t方式暴露给外部网络Web Server 1Web Server 2Web Server nIngressserviceserviceservicekubernetesLoad balancer1920网络问题:关于nf_conntrack: table full, dropping packetip_conntrack 是 Linux 系统内 NAT 的一个跟踪连接条目的模块。ip_conntrack 模块会使用一个哈希 表记录 tcp 通讯协议的 established connection 记录,当这个哈希表满了的时候,便会导致 nf_conntrack: table full, dropping packet 。# vi /etc/sysctl.conf#哈希表项最大值 filter.nf_conntrack_max = 655350#超时时间,默认情况下 timeout 是5天(432000秒) filter.nf_conntrack_tcp_timeout_established = 1200最佳组合21Q&AThank you for your time

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Kubernetes容器云平台迁移实践课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|