Kubernetes容器技术项目教程课件:使用Kubectl命令部署服务.pptx
使用Kubectl命令部署服务
目录CONTENTS任务1使用命令创建Deployment控制器任务2创建Sevice服务发现
任务1使用命令创Deployment控制器
2.1.1Kubectl命令行工具Kubectl命令行工具与Kubernetes集群交互的方式有四种,分别是图形界面方式,命令行方式、YAML文件方式、API接口方式,其中命令行和YAML文件是经常使用的交互方式,kubectl是Kubernetes集群的命令行交互工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。运行kubectl命令的语法如下所示:指定要对资源执行的操作,例如create、get、describe和deletecomand指定资源类型,资源是K8S中的重要概念,K8S中包含多种资源,资源类型是大小学敏感的,如kubectlgetnodes,这里nodes表示类型的是节点计算机,使用kubectlapi-resources命令可以查看K8S中所有资源类型。TYPE指定资源的名称,名称也大小写敏感的,如kubectlgetpodspod1,这里获取pod资源中叫pod1的资源信息。NAME
2.1.2创建Pod部署服务在Kubernetes集群中,Pod是所有业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间。对于具体应用来说,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。1.Pod资源对象创建包含nginx服务容器的pod在master节点使用如下命令创建一个包含nginx服务的pod资源[root@master~]#kubectlrundemo--image=nginxpod/democreated其中kubectlrun是要创建一个pod,--image指定了pod中使用nginx镜像来运行容器。2.使用kubectl命令创建Pod
2.1.3创建Deployment控制器部署服务15%18%53%46%76%在使用K8S部署应用时,创建一个pod是没有意义的,因为一个pod无法实现容器应用的扩容和缩容,也无法实现pod的自动恢复。解决的办法是创建控制器,通过控制器可以轻松的实现pod数量的增加和减少,当某个pod运行失败后,控制器还可以自动启动1个pod来替代,方便的实现应用的扩缩容、服务自恢复、应用版本滚动更新。kubernetes中包含各种控制器,如?状态的Deployments、有状态化的StatefulSets、守护进程控制器DaemonSets、Job任务控制器等,每种控制器对应不同的应?场景,这里先以Deployment无状态为例??。
运维Deployment控制在创建控制器时,可以通过--replicas选项指定生成的pod数量,命令如下:[root@master~]#kubectlcreatedeploymentkzq--image=nginx--replicas=31.创建一个包括3个pod的控制器以上只是查看了控制器的一些简要信息,可以使用kubectldescribe来查看控制器的详细信息,查看kzq控制器的详细信息命令如下:[root@master~]#kubectldescribedeployments.appskzq。3.查看控制器详细信息使用kubectgetdeployments.apps可以查看当前所有的控制器信息,也可以把deployments.apps简写为deployment,在输入命令时,注意使用tab补全命令。2.查看控制器使用kubectl命令查看控制器控制的3个pod信息,命令如下:[root@master~]#kubectlgetpod。4.查看控制器控制的pod信息2.1.3创建Deployment控制器部署服务
2.1.4更新与回退版本在pod中运行的容器,主要任务是部署服务或应用,提供给使用者访问使用,这些服务或应用是经常会升级版本的,这就需要k8s控制器能非常方便的更新版本,但发现更新的版本有问题时,及时进行回退版本。首先查看pod中运行容器的名称,命令如下:[root@master~]#kubectldescribepodde-nginx-84d9fbcd7f-nt7rh在结果中观察容器Containers下面的第一行就容器的名称是nginx。升级nginx服务版本为nginx:1.8.1