K8S在线实验室提供了一个交互实验环境,现将这部分文章精简并翻译为中文,希望对那些不了解K8S的童鞋有帮助,能够快速玩起来有个感性认识...

原文:https://kubernetes.io/docs/tutorials

翻译:Edison Zhou

Hello Kubernetes快速交互实验手册

基本介绍

此交互实验可以让你不用搭建K8S环境就可以轻松地尝试管理一个简单的容器化应用集群,可以学习到以下内容:

  • 部署一个容器化应用到一个集群中

  • 对部署进行伸缩(Scale)

  • 滚动更新应用至一个新版本

此交互实验主要基于虚拟终端(Virutal Terminal),可以直接在你的Web浏览器中运行Minikube,这是一个可以随处运行K8S的最小化的本地K8S环境,不需要你安装任何软件和做任何配置。

实验内容

  1. 创建一个集群

  2. 部署一个应用

  3. 访问当前应用

  4. 伸缩当前应用

  5. 滚动更新应用

创建一个集群

进入实验地址:

https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/

选中“Create a Cluster"=>"Interactive Tutorial - Creating a Cluster"

从这里开始然后会看到提示和终端的界面,这是一个基于Minikube的K8S终端:

通过在终端中执行 minikube start 来创建一个单节点的K8S集群:

通过执行 kubectl cluster-info 可以查看集群信息:

部署一个应用

这里部署一个示例应用,执行以下命令:

这里kubectl run是老版本的命令,即将被废除,建议使用kubectl create替代。通过执行kubectl get pods可以看到,当前的kubernetes-bootcamp-7dc9765bf6-dgmz8就是当前应用的Pod。

访问当前应用

默认情况下,所有Pod只能在集群内部访问,想要从外部访问,就必须映射端口。

可以看到,映射成功:

执行命令 kubectl get services,可以看到应用被映射到了节点的哪个端口:

可以看出,当前应用所处的服务被映射到了32752端口上,这个端口是随机分配的。因为采用NodePort方式的话,是会在30000-32767区间随机取一个端口号。

怎么验证部署的应用是否可以访问?

效果如下图所示:

伸缩(Scale)当前应用

默认情况下,应用只会运行一个副本,可以通过kubectl get deployments来查看:

那么,如果需要增加副本数,可以通过命令kubectl scale来增加,如下图所示,可以看到现在已经由1个副本增长为了3个副本了:

由于Pod是K8S资源调度的最小单位,因此执行kubectl get pods也可以验证Pod的数量:

这时可以通过curl再次访问应用,便可以看到这些请求都会发往不同的Pod(也不一定完全是每次都会转发给不同的Pod),因为我们有3个副本会负载均衡:

如果不需要很多的副本来负载均衡,也可以收缩副本数量,比如收缩到2个副本:

滚动更新应用

当前应用kubernetes-bootcamp所用的image的版本为v1,假设现在有了新版本,可以通过以下命令来将其升级到v2。

从下图可以看到,更新版本之后原先v1的两个Pod便已经在被停止,进而创建了两个新的Pod:

过了几秒之后,再次查看,原先的两个v1的Pod已经被删除:

这时可以通过curl进行验证,可以发现版本号已经升级为了v2:

这时如果发现v2存在某个百年一遇的大Bug(不容易发现那种),想要快速回退到上个版本v1,可以通过以下命令来快速回退:

可以看到回退之后,v2的两个Pod就被停止了,进而新创建了两个v1的Pod:

这时如果再进行curl验证,可以发现版本变为了v1了:

小结

这里通过官网的交互实验教程快速的体验了一把K8S的基本功能使用,全程通过kubectl来调用的K8S API,相信会对完全没接触K8S的童鞋有帮助。

参考资料

(1)K8S指导手册:

https://kubernetes.io/docs/tutorials

(2)每天5分钟玩转K8S:

https://item.jd.com/12329528.html


Hello Kubernetes快速交互实验手册相关推荐

  1. 中科院分子细胞科学卓越创新中心化学生物学技术平台与Bio-protocol联合发布——《高内涵成像及分析实验手册》...

    ISBN: 978-1-951285-06-7 <高内涵成像及分析实验手册>封面 高内涵成像分析系统同时具备自动化高速显微成像功能及自动化图像定量分析功能,可对多个样品快速成像,并从图片中 ...

  2. (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)...

    [开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例) HTML5最全快速查找离线手册:https://pan.baidu.com/s/19seE8TJQSx4IsWgXtKQS0A j9 ...

  3. 中科院分子细胞中心、清华大学和Bio-protocol联手发布《高通量筛选实验手册》...

    为了更好响应国家大型科研仪器开放共享的号召,同时促进科研技术与方法学的共享,中国科学院分子细胞科学卓越创新中心化学生物学技术平台.清华大学药学技术中心和Bio-protocol中国编辑部联合启动了&q ...

  4. 微生物组实验手册计划正式启动、诚邀同行共同打造本领域方法百科全书

    <微生物组实验手册>计划正式启动 目标 Bio-protocol杂志社(bio-protocol.org)联合宏基因组公众号联合发起微生物组实验方法(Microbiome Protocol ...

  5. Linux 基本网络配置 实验手册

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 实验手册内容 ...

  6. python魔力手册-小白入门宝典:Python快速入门魔力手册 PDF 超清版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于小白入门.python入门.Python手册方面的内容,本书是由魔力手册出版,格式为PDF,资源大小11.8 MB,魔力手册编写,目前豆 ...

  7. ISA2006英文版实验手册下载

    说明:源文件是由技术中国管理员碎片提供,我这里算是一个流量的分负载吧. 说明:内容虽为英文,但并不太难,可以参考本人发表在ISA版相关实验做为参考,也可以自己根据文中       所述搭建试生产环境, ...

  8. 杭州中联高级技术培训中心CCNA实验手册

    杭州中联CCNA实验手册 转载于:https://blog.51cto.com/shonet/240866

  9. ACT5.6 动手实验手册 如何在工作组模式下对客户端进行数据收集 如何在AD域环境下对...

    ACT5.6 动手实验手册 实验的目标 这个实验的目的是: · 了解如何部署ACT5.6 · 了解如何在工作组模式下对客户端进行数据收集 · 了解如何在AD域环境下对客户端进行数据收集 本次试验大约6 ...

最新文章

  1. 工行分布式数据库选型与大规模容器化实践
  2. 【Go语言】【4】GO语言类型和为类型增加方法
  3. android studio 的AVD Manager点击无响应解决办法
  4. 什么是尾递归?测试python尾递归
  5. 做Android开发,要清楚init.rc里面的东西
  6. thinkphp中mysql添加数据_thinkphp添加数据 add()方法
  7. 数组求和forEach方法
  8. 现在入坑 AI 太迟?这些程序员发现了掘金新出路
  9. C++ main函数中参数argc和argv相关定义与研究
  10. [python][os]分离文件目录,文件名以及文件后缀
  11. linux远程连接windows桌面背景,Centos远程Windows桌面_远程桌面
  12. EDA365 Skill找不到Cadence安装路径的原因与解决办法
  13. linux使用grep查找文件内容,linux如何使用grep命令查找文件内容
  14. 中华传统美德故事(五)
  15. win10计算机网络共享打不开,win10系统网络和共享中心打不开的详细方案
  16. Vivado使用技巧(23):综合运行与OOC
  17. 对话加拿大工程院于非院士:寻找 AI 领域的「香农定理」
  18. 重磅上线!万兴科技旗下亿图图示12.0打造全新智能绘图体验
  19. 6-7 快速排序 (15 分)
  20. opencv python考勤_GitHub - liqq1228/python-opencv: 基于python opencv人脸识别的员工考勤系统...

热门文章

  1. ipad和iphone切图_如何在iPhone和iPad上的Messages App中固定对话
  2. 【本人秃顶程序员】技巧分享丨spring的RestTemplate的妙用,你知道吗?
  3. 重新学习web后端开发-001-写在前面的话
  4. 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
  5. 洛谷2296 寻找道路
  6. 解析邻居的耳朵音乐地址(单页下载)
  7. [原创]互联网金融App测试介绍
  8. C++ 函数映射使用讲解
  9. c++中的new_handler
  10. 做移动互联网App,你的测试用例足够吗?