ImageVerifierCode 换一换
格式:PPTX , 页数:31 ,大小:2.10MB ,
文档编号:3327360      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3327360.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

技术分享k8s容器分享课件.pptx

1、Kubernetes容器的探索与实践-徐兴强整体介绍dockerdocker与与KubernetesKubernetes的关系的关系2Kubernetes介绍介绍3KubernetesKubernetes集群部署集群部署14KubernetesKubernetes运维经验运维经验KubernetesKubernetes运维经验运维经验Docker容器与传统虚拟化方式的不同之处?与传统技术对比:接下来我们看两张经典的图:一、从虚拟化角度:图1:dockerdocker与与KubernetesKubernetes的关系的关系传统的虚拟技术:在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操

2、作系统,接着在这些操作系统上运行相应的应用程序。Docker容器:容器内的应用程序进程直接运行在真实物理机的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。注:一个容器包含了完整的运行时环境:除了应用程序本身之外,这个应用所需的全部依赖、类库、其他二进制文件、配置文件等,都统一被打入了一个称为容器镜像的包中二、从部署角度图2:dockerdocker与与KubernetesKubernetes的关系的关系传统部署方式:是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完

3、全相同的.Docker容器部署:通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。想用Docker,怎么用呢?手动一个一个创建?当然不,故kubernetes技术便出现了,以kubernetes为代表的容器集群管理系统,这时候就该上场表演了。我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。kuberneteskubernetes介绍介绍-什么是什么是k8sk8sl K8s全称Kubernetes,

4、是目前主流的容器编排系统,提供容器的生命周期管理。l k8s目标:提供一个规范,可以描述业务集群的架构,定义服务的最终状态,使业务系统自动得达到和维持在这个状态。k8s的前世今生Kubernetes特性k8s的前世今生:MESOSAPACHE早期的分布式资源管理框架2019-5Twitter开始使用Kubernetes,剔除MESOSDockerSwarm2019-07阿里云宣布DockerSwarm剔除Google10年容器化基础架构borgGO语言重编Borg-k8srancher官方预测:76%的企业会在三年内采纳Kubernetes作为标准。而且IBM也正在逐渐放弃大机,减弱小机,发力

5、云原生kuberneteskubernetes介绍介绍-特性特性l 自我修复自我修复节点发生故障时,容器会在其他节点重新部署;杀死健康检查失败的容器,在容器未创建成功之前,不让它处理客户端请求,确保线上服务不中断。l 弹性伸缩弹性伸缩为了保证业务在高峰时的可靠性,根据业务使用的CPU、内存资源或其他自定义指标,实现业务的扩容;业务低峰时回收资源,以最小成本运行服务。l 自动部署和回滚自动部署和回滚为了支持业务版本迭代,K8S采用滚动更新策略更新应用,一次更新一个业务Pod,而不是同时删除所有Pod,如果更新过程中出现问题,会回滚更改,确保升级不影响业务。l 服务发现和负载均衡服务发现和负载均衡

6、K8S为多个容器提供一个统一访问入口(内部IP地址和域名),并且负载均衡所有关联的容器,使得用户无需考虑容器IP变化问题。l 秘钥和秘钥和配置管理配置管理管理秘钥数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。l 存储编排存储编排为容器提供挂载存储的服务,支持本地存储,可以对接一些主流网络存储(如NFS、GlusterFS、Ceph)。l 批处理批处理提供一次性任务,定时任务;满足批量数据处理和分析的场景。Kubernetes特性KubernetesKubernetes集群集群架构架构Master和Node1.Ku

7、bernetes将集群中的机器划分为一个Master节点和一群工作节点(Node)。2.Master节点上运行着集群管理相关的一组进程etcd、APIServer、ControllerManager、Scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且全都是自动完成。3.在每个Node上运行Kubelet、Proxy、Dockerdaemon三个组件,负责对本节点上的Pod的生命周期进行管理,以及实现服务代理的功能MasterMaster组件组件1.1.kube-apiserver kube-apiserver 对外提供API接口

8、,处理所有资源的增删改查和监听操作,并将数据保存在Etcd。所有服务访问统一入口2.2.kube-controller-kube-controller-manager manager-控制器控制器 ControllerManager负责管理各个资源对应的控制器。维持副本期望数目3.3.kube-scheduler kube-scheduler-调度器调度器 负责介绍任务,选择合适的节点进行分配任务,根据调度算法为新创建的Pod选择一个合适节点部署。4.4.etcd etcd 分布式键值存储系统。用于保存k8s资源数据,比如集群状态数据,Pod、Service等API对象,储存K8S集群所有重要

9、信息NodeNode组件组件1.kubelet kubelet管理本机运行的容器,可以创建容器、为Pod挂载数据卷、获取容器和节点状态等功能。直接跟容器引擎交互实现容器的生命周期管理2.kube-proxy负责写入规则至 IPTABLES、IPVS 实现服务映射访问的,具有一定的四层负载均衡功能。KubernetesKubernetes介绍介绍-pod-pod1.Pod是k8s中可部署的最小单位,它可以由单个容器组成,也可以是多个容器。2.Pod在Node上被创建、启动或者销毁;每个Pod里运行着一个特殊的被称之为Pause的容器,其他容器则为业务容器,pause容器有一个ip地址,和一个存储

10、卷,pod中的其他容器共享pause容器的ip地址和存储,这样就做到了文件共享和互信。KubernetesKubernetes介绍介绍-serviceservice在Kubernetes的世界里,虽然每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失,这就引出一个问题:如果有一组Pod组成一个集群来提供服务,那么如何来访问它呢?Service!一个Service可以看作一组提供相同服务的Pod的对外访问接口,Service作用于哪些Pod是通过LabelSelector来定义的。拥有一个指定的名字(比如my-mysql-server);拥有一个虚拟IP(Cluste

11、rIP、ServiceIP或VIP)和端口号,销毁之前不会改变,只能内网访问;能够提供某种远程服务能力;被映射到了提供这种服务能力的一组容器应用上;如果Service要提供外网服务,需指定公共IP和NodePort,或外部负载均衡器;Service主要用于服务发现。Service有多种类型。主要使用clusterIP和nodeport。clusterIP用于集群内业务通信。Nodeport用于外部访问集群业务。KubernetesKubernetes集群集群架构架构-山东移动山东移动paaspaas容器化容器化目前山东移动已经实现3区crm中间件的容器化。KubernetesKubernete

12、s集群部署集群部署1.配置本地yum源cp/etc/yum.repos.d/CentOS-Media.repo/etc/yum.repos.d/CentOS-Media.repo.bak/本地yum配置文件mkdir/mnt/cdrom/创建用于挂载光盘的目录mount/dev/sr0/mnt/cdrom/挂载catCentOS-Media.repo/etc/resolv.conf/etc/hosts/etc/ansible/hosts/etc/sysctl.confansibleall-mcommand-asysctl-pansibleall-mcommand-ased-is/.*cento

13、s_centos7-swap/#&/g/etc/fstab13.【Master】批量安装telnetansibleall-mcommand-ayuminstall-ytelnetKubernetesKubernetes集群部署集群部署14.【Master】配置iptables对转发数据包进行处理,启用数据包转发cat/etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables=1net.bridge.bridge-nf-call-iptables=1net.ipv4.ip_forward=1EOFsysctl-system/etc/sysc

14、tl.d/k8s.confansiblenode-mcopy-asrc=/etc/sysctl.d/k8s.confdest=/etc/sysctl.d/k8s.confansiblenode-mcommand-asysctl-system/etc/sysctl.d/k8s.conf15.【Master】时间服务配置,几个节点的时间必须保持同步,否则会出现意料不到的结果ansibleall-mcommand-ayuminstall-yntpdateansibleall-mcommand-ansibleall-mcommand-ayuminstall-yntpansibleall-mcomman

15、d-asystemctlenablentpdansibleall-mcommand-asystemctlstartntpdansibleall-mcommand-atimedatectlset-timezoneAsia/Shanghaiansibleall-mcommand-atimedatectlset-ntpyesansibleall-mcommand-ahwclock-hctosysansibleall-mcommand-atimedatectlset-local-rtc0ansibleall-mcommand-ahwclock-showKubernetesKubernetes集群部署集

16、群部署16、安装dockeryuminstall-ydockersystemctlstartdocker&systemctlenabledocker#【Master】配置docker的cgroupdriver、加速器cat/etc/docker/daemon.jsonEOFexec-opts:native.cgroupdriver=systemd,log-driver:json-file,log-opts:max-size:100m,storage-driver:overlay2,storage-opts:overlay2.override_kernel_check=true,registry

17、-mirrors:https:/EOFansiblenode-mcopy-asrc=/etc/docker/daemon.jsondest=/etc/docker/daemon.jsonansibleall-mcommand-asystemctldaemon-reloadKubernetesKubernetes集群部署集群部署批量操作安装节点docker并启动ansiblenode-mcommand-ayuminstall-ydockeransiblenode-mcommand-asystemctlstartdockeransibleall-mcommand-asystemctlenabled

18、ocker17.更新kubernetes源cat/etc/yum.repos.d/kubernetes.repokubernetesname=Kubernetesbaseurl=https:/ kubectlgetdeployment#查看deployment kubectlgetpods-nkube-system#查看kube-system空间下的pod2.创建资源kubectlcreate-f./my-manifest.yaml#从文件创建资源kubectlcreate-f./dir#使用目录下的所有清单文件来创建资源3.编辑资源kubectl edit configmapkubectl

19、edit deploy4.删除资源kubectl delete pod pod-nameKubectl delete-f./my-manifest.yamlKubernetesKubernetes运维经验运维经验kubectllogsmy-pod#输出 pod 的日志(stdout)kubectlexecmy-pod-ls/#在已存在的容器中执行命令(只有一个容器的情况下)kubectlexecmy-pod-cmy-container-ls/#在已存在的容器中执行命令(pod 中有多个容器的情况下)kubectltoppodPOD_NAME-containers#显示指定 pod 和容器的指标

20、度量kubectltopnodemy-node#显示 my-node 的指标度量kubectlcordonmy-node#标记 my-node 不可调度kubectldrainmy-node#清空 my-node 以待维护kubectluncordonmy-node#标记 my-node 可调度kubectlcluster-info#显示 master 和服务的地址kubectltaintnodesfoodedicated=special-user:NoSchedulekubectllogsmy-pod#输出 pod 的日志(stdout)kubectlexecmy-pod-ls/#在已存在的

21、容器中执行命令(只有一个容器的情况下)kubectlexecmy-pod-cmy-container-ls/#在已存在的容器中执行命令(pod 中有多个容器的情况下)kubectltoppodPOD_NAME-containers#显示指定 pod 和容器的指标度量kubectltopnodemy-node#显示 my-node 的指标度量kubectlcordonmy-node#标记 my-node 不可调度kubectldrainmy-node#清空 my-node 以待维护kubectluncordonmy-node#标记 my-node 可调度kubectlcluster-info#显

22、示 master 和服务的地址kubectltaintnodesfoodedicated=special-user:NoScheduleKubernetesKubernetes运维经验运维经验节点notready,通过kubectlgetnodes查看节点状态KubernetesKubernetes运维经验运维经验Pod没有创建成功通过kubectldescribepod查看pod的event信息,能得知Pod当前的运行状态及创建过程中的异常信息。如果pod启动过程有异常,可能是pod内的程序产生了错误,使用kubectllogspod-name查看具体原因。KubernetesKubernetes运维经验运维经验Service域名不能访问(1)首先查看service中有无endpoint(2)进入容器执行nslookup检查域名能否解析(3)查看kube-proxy生成的iptables规则是否正确(4)用tcpdump抓包THANKYOU

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

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


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