开始使用Kubernetes

搭建本地的Kubernetes环境

略,请使用课程实验环境

搭建k8s环境不是我们课程重点,现在都是开箱即用的环境

使用MaxCloud托管的Kubernetes集群

建立自己专属的实验环境

登录MaxCloud账号进入课程实验环境,切换团队到KubernetesWorkshop团队,创建自己的项目,关联集群MC-KubernetesWorkshop-playground-new,添加自己的命名空间。我们目前提供的是基于公有云低成本集群(如亚马逊、阿里云)。大家可以通过MaxCloud -> 系统管理->项目管理->终端 来进行后续操作。

如上图进入终端后测试一下环境,下述指令可以看到集群含有哪些节点

终端环境已经给 kubectl 做了alias别名,后续我们使用k

alias k=kubectl

也可导出Kubeconfig,配置本地集群访问环境,在本地Terminal进行Kubectl相关操作,方式如下:

项目管理—找到自己的项目—导出Kubeconfig

导出的Kubeconfig文件放到本地.kube路径下,并使用kubens切换到自己的命名空间

部署与访问你的应用

现在正式在kubernetes中部署我们的应用

和docker方式做下对比

docker run --name kubia -p 8080:8080 -d luksa/kubia

这里就能看到我们启动的pod了,现在需要让我们能访问它,大家可以先执行指令,感受效果,不用过多探究每个参数的含义。

看看暴露的服务,我们申请了LoadBalancer,云商创建需要1-5分钟的时间,耐心等待下

看到了LoadBalancer后,测试一下,注意替换EXTERNAL-IP

认识应用的逻辑组成

见课件

横向伸缩你的应用

首先清理之前的pod和service

用文件(Yaml语法)方式重新部署kubia服务

MaxCloud提供Yaml部署功能

资源管理—Deployment—Yaml部署

资源管理—Service—Yaml部署

大家需要记住一些缩写

  • rs:replicaset

  • po:pods

  • deploy: deployment

这样能简化指令

修改期望的副本即可以完成伸缩

因为我们的应用可以返回主机名,所以每次请求会获得不同的结果

查看应用跑在哪个节点

还可以查看pod的一些细节,还有日志,试试指令吧

以上这些功能均可以直接在MaxCloud平台查看

通过这些操作,是不是感觉比docker方式简单许多,后面还有更精彩的!

恭喜恭喜!

做到这里,docker和kubernetes你已经入门了!辛苦了!

课程中全部的Yaml代码都能够在如下git地址里找到

git clone https://github.com/liuzoxan/kubernetes-in-action.git

cd kubernetes-in-action/workshop

思考题

  • 说说你对kubernetes的看法,例如功能、docker的区别

  • kubectl get/describe/run,请区分他们的区别

  • 怎样查看节点信息

  • 怎样查看pod信息,日志呢?

  • 怎样查看services信息,它的简写是什么?

最后更新于

这有帮助吗?