10分钟K8S快速交互实验
一、基本介绍
此交互实验可以让你不用搭建K8S环境就可以轻松地尝试管理一个简单的容器化应用集群,可以学习到以下内容:
- 部署一个容器化应用到一个集群中
- 对部署进行伸缩(Scale)
- 更新容器化应用至一个新版本
Debug容器化应用
此交互实验主要基于虚拟终端(Virutal Terminal),可以直接在你的Web浏览器中运行Minikube,这是一个可以随处运行K8S的最小化的本地K8S环境,不需要你安装任何软件和做任何配置。
二、实验内容
- 创建一个集群
- 部署一个应用
- 访问当前应用
- 伸缩当前应用
- 滚动更新应用
三、具体步骤
创建一个集群
进入实验地址: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 kubernetes-bootcamp \ --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \ --port=8080
通过执行kubectl get pods可以看到,当前的kubernetes-bootcamp-7dc9765bf6-dgmz8就是当前应用的Pod。
访问当前应用
默认情况下,所有Pod只能在集群内部访问,想要从外部访问,就必须映射端口。
kubectl expose deployment/kubernetes-bootcamp \ --type="NodePort" --port 8080
可以看到,映射成功:
执行命令 kubectl get services,可以看到应用被映射到了节点的哪个端口:
可以看出,当前应用所处的服务被映射到了32752端口上,这个端口是随机分配的。因为采用NodePort方式的话,是会在30000-32767区间随机取一个端口号。
怎么验证部署的应用是否可以访问?
curl your-cluster-ip:32725
效果如下图所示:
伸缩当前应用
默认情况下,应用只会运行一个副本,可以通过kubectl get deployments来查看:
那么,如果需要增加副本数,可以通过命令kubectl scale来增加,如下图所示,可以看到现在已经由1个副本增长为了3个副本了:
由于Pod是K8S资源调度的最小单位,因此执行kubectl get pods也可以验证Pod的数量:
这时,可以通过curl再次访问应用,便可以看到这些请求都会发往不同的Pod(也不一定完全是每次都会转发给不同的Pod),因为我们有3个副本会负载均衡:
如果不需要很多的副本来负载均衡,也可以收缩副本数量,比如收缩到2个副本:
kubectl scale deployments/kubernetes-bootcamp --replicas=2
滚动更新应用
当前应用kubernetes-bootcamp所用的image的版本为v1,假设现在有了新版本,可以通过以下命令来将其升级到v2。
kubectl set image deployments/kubernetes-bootcamp \ kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
从下图可以看到,更新版本之后原先v1的两个Pod便已经在被停止,进而创建了两个新的Pod:
过了几秒之后,再次查看,原先的两个v1的Pod已经被删除:
这时可以通过curl进行验证,可以发现版本号已经升级为了v2:
这时如果发现v2存在某个百年一遇的大Bug(不容易发现那种),想要快速回退到上个版本v1,可以通过以下命令来快速回退:
kubectl rollout undo deployments/kubernetes-bootcamp
可以看到回退之后,v2的两个Pod就被停止了,进而新创建了两个v1的Pod:
这时如果再进行curl验证,可以发现版本变为了v1了:
四、实验小结
这里通过官网的交互实验教程快速的体验了一把K8S的基本功能使用,全程通过kubectl来调用的K8S API,相信会对完全没接触K8S的童鞋有帮助。
参考资料
K8S指导手册:https://kubernetes.io/docs/tutorials
每天5分钟玩转K8S:https://item.jd.com/12329528.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
借助URLOS快速安装beego web框架
简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。 环境需求 最低硬件配置:1核CPU,1G内存(1+1)提示:如果你的应用较多,而主机节点的硬件配置较低,建议在部署节点时开通虚拟虚拟内存; 生产环境建议使用2G或以上内存; 推荐安装系统:Ubuntu-16.04、Ubuntu-18.04、CentOS7.X、Debian9X的64位的纯净的操作系统; 安装URLOS: curl -LO www.urlos.com/iu && sh iu beego安装流程 1.登录URLOS系统后台,在应用市场中搜索“beego”,找到之后,直接点击安装按钮 2.填写服务名称、选择运行节点、服务端口、选择智能部署 3.填写域名:www.aaa.com(这里填写自己的域名) 4.设置SFTP 选择“上传与下载”选...
- 下一篇
借助URLOS快速安装jenkins-持续集成工具
环境需求 最低硬件配置:1核CPU,1G内存(1+1)提示:如果你的应用较多,而主机节点的硬件配置较低,建议在部署节点时开通虚拟虚拟内存; 生产环境建议使用2G或以上内存; 推荐安装系统:Ubuntu-16.04、Ubuntu-18.04、CentOS7.X、Debian9X的64位的纯净的操作系统; URLOS安装 curl -LO www.urlos.com/iu && sh iu Jenkins安装流程 1.在应用市场中搜索“jenkins”并安装,如下图: 2.填写服务名称、选择运行节点、服务端口、选择智能部署 然后点击“提交”按钮,等待部署完成; 3. jenkins初始化向导 访问http://IP:8080(其中的IP是你的服务器的IP) 这里需要填写初始密码,创建服务完成后,可在当前服务的文件管理中找到密码文件,路径为jenkins_home/secrets/initialAdminPassword 找到密码,将密码填入后继续步骤: 选择安装社区流行的插件还是自定义安装插件 我们选择自定义安装插件: 可以看到已经默认选择了一些插件,我们可以选择自己需要的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器