实验五-Kubernetes部署容器.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kubernetes实验 2019/05/02 实验目标:Kubernetes目前已经成为容器编排调度的实际标准,Docker官方和Mesos都已经支持了Kubernetes。在Kubernetes(下文简称k8s)中管理Docker集群,实现服务的快速部署 任务:在利用Kubeadm搭建的k8s集群中(利用calico配置好了内部网络),进行容器的创建、应用的部署等操作。 虚拟机账号密码:Name: root Key: 651 在k8s中启动一个pod 1、各个节点登录后,执行下述命令启动kubelet: #systemctl start kubelet 2、查看kubectl版本,在master上执行: #kubectl verison 答: 3、核实所有node已经准备好。在master上,创建服务及复制控制器之前,核实node可以开始启动你定义的pod。运行下面的命令进行核实: #kubectl get node 结果如下: 可以看到该集群中有3个节点,其中一个是master节点。 注意:这里集群节点都处于Ready状态。 答: 4、编辑定义pod的yaml文件。创建用来定义pod的yaml文件,这里使用的文件名是web-db.json,系统会自动转成.yaml文件格式。如果要复制该文件来使用这个pod定义,要确保维持缩进。再者,只要能连接到外网,就无需专门做任何事情来获取其包含的容器。当创建pod时,会从Docker Hub拉取这两个容器镜像。下面是该文件的内容: apiVersion必须与你使用的Kubernetes版本保持一致(这个例子中使用的是v1)。Kubernetes文件的”kind是Pod。Pod本身的名字是web-db-pod. 这里使用了两个容器镜像,即mywebdock(来自名为cricket/webdock的镜像)和mydbdock(来自名为cricket/dbdoc)的镜像。Mywebdock容器将其服务通过TCP 80端口暴露给宿主机系统的相同端口,而mydbdoc暴露了TCP 3306端口,也是暴露给宿主机上的相同端口。 答: 5、创建pod。在一体化K8s系统的当前目录,将刚刚描述的内容保存到名为web-db.json的文件中,输入下面的命令启动pod: #kubectl create –f web-db.json 答: 6、核实pod正在运行。可以使用kubectl 命令核实pod的状态。在这个例子中,pod中有两个容器正在运行。 答: 7、核实容器正在运行。在node节点中,使用docker ps来验证容器正在运行。这里,可能运行在node1或node2中。 #docker ps | grep dbdock #docker ps | grep webdock 答: 8、核实应用程序正在运行。两个端口在本地系统暴露后,你可以使用curl命令查询web服务器容器的80端口。Web服务器的默认web页面包含了一条内容为“Web server check is successful”的消息。在web服务器的cgi-bin目录下有一个名为action的脚本,如果web服务器能够与数据库通信,该脚本会返回消息“Docker is cool”和“DB is working”. #curl localhost:80 Web server check is successful #curl http://localhost:80/cgi-bin/action 答: 9、使用k8s 当一个pod(包含两个容器)在一体化的K8S master和node上运行起来后,就可以感受k8s是如何工作的以及如何扩展超越这个简单的示例。要铭记在心的一件事:创建K8S中的pod意味着你想让该pod中的容器持久存在。因此,如果pod中的容器被杀死了,会启动一个新容器来顶替它。示例如下: #docker ps | grep dbdock CONTAINER ID IMAGE COMMAND CREATED …. eb79b0b640b8 cricket/dbdock ….. #docker kill eb79b0b640b8 #docker ps | grep dbdock CONTAINER ID IMAGE COMMAND CREATED …. a1268d5d4603 cricket/dbdock ….. 答: ‘ 在杀死容器的几秒内,K8S自动启动了一个新容器来代替被杀死的dbdock容器。注意,该容器有一个新容器ID。 如果容器出了一些问题无法再次启动,可以删除该pod,并在再次创建pod之前先尝试修复该容器(或用来启动容

文档评论(0)

yyons2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档