每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
Kubernetes(k8s)是谷歌的一个开源项目,现在不用说过多的介绍了吧。他的火,已经和vue
,React
这些名词一样,一提遍地都是。不用它推广,自然有人会说到它的存在。
k8s现在一直以快速的发展进行着。我们一起来学习的是k8s的1.7和1.8版本。
1.1 先跑起来
按照一贯的学习思路,我们会在最短的时间搭建一个系统,这样能尽快的对学习对象感性认识。先玩起来,快速了解基本概念,容易到放弃。
当然,要搭建一个可运作的系统是非常难的,很幸运的是k8s官网已经给我们准备了一个最小可用的系统。
在官网的这里网址
https://kubernetes.io/zh/docs...
会指导大家如何搭建kubernetes集群、部署应用、访问应用、扩展应用、更新应用等常用的场景、迅速建立感性认知。
1.2 创建k8s集群
点击 创建集群 -> 交互式教程 - 创建集群
文章图片
左边是操作说明,右边是命令终端。
我们在终端输入一下内容,创建一个节点
minikube startkubectl get nodes
文章图片
这样我们就创建了一个单节点集群。这个节点为minikube,需要注意的是当前命令的地方并不是minikube,我们可以通过k8s的命令行工具kubectl远程操管理集群
如果我们需要查看集群信息可以利用 kubectl cluster-info 查看集群信息.
文章图片
所显示的内容都是集群中运行的服务。
为了节省大家的时间,后面的操作会简化一些操作。详细的说明和步骤请参考官网。1.3 部署应用
使用过dokcer的同学,大家都会使用到docker run命令,刚好在k8s里面也有这么一个对应的命令
kubectl run kubernetes-bootcamp \
--image=docker.io/jocatalin/kubernetes-bootcamp:v1 \
--port=8080
名字为 kubernetes-bootcamp , 使用的是docker镜像使用--image指定,--port设置端口.
文章图片
我们运行的东西,在k8s里面叫做pod,pod是k8s调度的最小单元。也就是我们说的资源。在docker里面查看运行的容器我们是使用 docker ps 命令,在k8s里面。我们就得使用 kubectl get pods
文章图片
1.4 访问应用
默认情况下,所有的pod只能在集群内部访问。对于上面的例子和docker一样要映射端口号,我们需要容器的8080端口
kubectl expose pod/kubernetes-bootcamp \
--type="NodePort" \
--port 8080
文章图片
注意画红线的部分
执行
kubectl get services
可以查看端口的情况文章图片
我们的端口被映射到了31527
curl minikube:31527
文章图片
1.5 scale应用
默认应用会运行一个副本,可以通过 kubectl get pod查看
文章图片
如果需要添加到3个副本,可以使用scale来操作
kubectl scale pod/kubernetes-bootcamp --replicas=3
1.6 滚动升级
kubectl set image pod/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
文章图片
【每天打卡5分钟学习k8s,第一章Kubernetes跑起来。】如果需要回退,类似mysql的undo功能。
kubectl rollout undo pod/kubernetes-bootcamp
推荐阅读
- Ⅴ爱阅读,亲子互动——打卡第178天
- 2018-3-24
- 日志打卡
- 以读攻“毒”唤新活动曹彦斌打卡第二天
- 每天都应该是新的开始
- 泰拳居家打卡十九天
- 齐帆齐微课打卡DAY54——靠工资,普通人能实现财务自由吗((1731字))
- 每天一首古风歌|每天一首古风歌 | 霜雪千年(故事)
- 小惊喜
- 随笔(二)