云计算容器编排技术 课件 单元4Kubernetes常用命令_第1页
云计算容器编排技术 课件 单元4Kubernetes常用命令_第2页
云计算容器编排技术 课件 单元4Kubernetes常用命令_第3页
云计算容器编排技术 课件 单元4Kubernetes常用命令_第4页
云计算容器编排技术 课件 单元4Kubernetes常用命令_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Kubernetes常用命令-kubectl基础目录01任务kubectl命令kubectl语法02任务学习目标【知识目标】●了解kubectl的语法格式;●了解kubectl的基本用法;●了解kubectl的常用参数;●了解kubectl的常用命令。1Kubectl语法1kubectl语法如下:#kubectl[command][TYPE][NAME][flags]命令语法解析:command:子命令TYPE:资源类型NAME:资源名称flags:命令参数Kubectl语法1command:指定要对一个或多个资源执行的操作,例如create、get、describe、delete等。Kubectl语法1TYPE:指定资源类型。资源类型不区分大小写,可以指定单数、复数或缩写形式。以下命令输出相同的结果:

kubectlgetpodpod1

kubectlgetpodspod1

kubectlgetpopod1Kubectl语法1NAME:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息。例如:kubectlgetpods。

kubectlgetpodspod1

kubectlgetpodspoD1Kubectl语法1要对所有类型相同的资源进行分组,请执行以下操作:TYPE1name1name2name<#>,

例如:kubectlgetpodexample-pod1example-pod2分别指定多个资源类型:TYPE1/name1TYPE1/name2TYPE3/name3TYPE<#>/name<#>,

例如:kubectlgetpod/example-pod1replicationcontroller/example-rc1Kubectl语法1用一个或多个文件指定资源:-ffile1-ffile2-ffile<#>使用YAML而不是JSON,因为YAML对用户更友好,特别是对于配置文件,

例如:kubectlget-f./pod.yamlKubectl语法1flags:指定可选的参数。例如,可以使用-s或--server参数指定KubernetesAPI服务器的地址和端口。注意:从命令行指定的参数会覆盖默认值和任何相应的环境变量。Kubectl语法1kubectl命令参数如下:--alsologtostderr[=false]:同时输出日志到标准错误控制台和文件。--api-version="":和服务端交互使用的API版本。--certificate-authority="":用以进行认证授权的.cert文件路径。--client-certificate="":TLS使用的客户端证书路径。--client-key="":TLS使用的客户端密钥路径。--cluster="":指定使用的kubeconfig配置文件中的集群名。Kubectl语法1kubectl命令参数如下:--context="":指定使用的kubeconfig配置文件中的环境名。--insecure-skip-tls-verify[=false]:如果为true,将不会检查服务器凭证的有效性,这会导致你的HTTPS链接变得不安全。--kubeconfig="":命令行请求使用的配置文件路径。--log-backtrace-at=:0:当日志长度超过定义的行数时,忽略堆栈信息。--log-dir="":如果不为空,将日志文件写入此目录。Kubectl语法1kubectl命令参数如下:--log-flush-frequency=5s:刷新日志的最大时间间隔。--logtostderr[=true]:输出日志到标准错误控制台,不输出到文件。--match-server-version[=false]:要求服务端和客户端版本匹配。--namespace=""如果不为空,命令将使用此namespace。--password="":APIServer进行简单认证使用的密码。-s,--server="":KubernetesAPIServer的地址和端口号。Kubectl语法1kubectl命令参数如下:--stderrthreshold=2:高于此级别的日志将被输出到错误控制台。--token="":认证到APIServer使用的令牌。--user="":指定使用的kubeconfig配置文件中的用户名。--username="":APIServer进行简单认证使用的用户名。--v=0:指定输出日志的级别。--vmodule=:指定输出日志的模块,格式如下:pattern=N,使用逗号分隔。Kubectl语法2Kubectl命令2常用命令如下:kubectlannotate:更新资源的注解。kubectlapi-versions:以“组/版本”的格式输出服务端支持的API版本。kubectlapply:通过文件名或控制台输入,对资源进行配置。kubectlattach:连接到一个正在运行的容器。kubectlautoscale:对replicationcontroller进行自动伸缩。kubectlcluster-info:输出集群信息。kubectlconfig:修改kubeconfig配置文件。Kubectl命令2常用命令如下:kubectlcreate:通过文件名或控制台输入,创建资源。kubectldelete:通过文件名、控制台输入、资源名或者labelselector删除资源。kubectldescribe:输出指定的一个/多个资源的详细信息。kubectledit:编辑服务端的资源。kubectlexec:在容器内部执行命令。kubectlexpose:输入replicationcontroller、service或者pod,并将其暴露为新的Kubernetesservice。Kubectl命令2常用命令如下:kubectlget:输出一个/多个资源。kubectllabel:更新资源的label。kubectllogs:输出pod中一个容器的日志。kubectlnamespace-(已停用)设置或查看当前使用的namespace。kubectlpatch:通过控制台输入更新资源中的字段。kubectlport-forward:将本地端口转发到Pod。Kubectl命令2常用命令如下:kubectlproxy:为KubernetesAPIserver启动代理服务器。kubectlreplace:通过文件名或控制台输入替换资源。kubectlrolling-update:对指定的replicationcontroller执行滚动升级。kubectlrun:在集群中使用指定镜像启动容器。kubectlscale:为replicationcontroller设置新的副本数。kubectlversion:输出服务端和客户端的版本信息。Kubectl命令ThankYOU!Kubernetes常用命令-kubectl操作示例1目录03任务创建资源对象查看资源对象04任务01任务描述资源对象apply应用02任务05任务删除资源对象学习目标【知识目标】●掌握apply、create、get、describe、delete的使用。【技能目标】●能够使用apply、create、get、describe、delete管理资源1apply应用1kubectlapply-以文件或标准输入创建应用或更新资源。是最为常用的Kubernetes操作命令之一。使用example-service.yaml中的定义创建服务。#kubectlapply-fexample-service.yamlapply应用1使用example-controller.yaml中的定义创建replicationcontroller。#kubectlapply-fexample-controller.yaml使用<directory>路径下的任意.yaml、.yml或.json文件创建对象。#kubectlapply-f<directory>apply应用2创建资源对象2使用kubectlcreate命令可进行资源的创建。例如:根据yaml配置文件一次性创建service和rc#kubectlcreate-fmy-service.yaml-fmy-rc.yaml根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建操作#kubectlcreate-f<directory>创建资源对象3查看资源对象3kubectlget

-列出一个或多个资源。以纯文本输出格式列出所有Pod。#kubectlgetpods以纯文本输出格式列出所有Pod,并包含附加信息(如节点名)。#kubectlgetpods-owide查看资源对象3以纯文本输出格式列出具有指定名称的副本控制器。提示:可以使用别名'rc'缩短和替换'replicationcontroller'资源类型。#kubectlgetreplicationcontroller<rc-name>以纯文本输出格式列出所有副本控制器和服务。#kubectlgetrc,services查看资源对象4描述资源对象4kubectldescribe

-显示一个或多个资源的详细状态,默认情况下包括未初始化的资源。显示名为<node-name>的Node的详细信息。#kubectldescribenodes<node-name>显示名为<pod-name>的Pod的详细信息。#kubectldescribepods/<pod-name>描述资源对象4显示由名为<rc-name>的副本控制器管理的所有Pod的详细信息。记住:副本控制器创建的任何Pod都以副本控制器的名称为前缀。#kubectldescribepods<rc-name>描述所有的Pod#kubectldescribepods显示Node的详细信息#kubectldescribenodes<node-name>描述资源对象4说明:kubectlget命令通常用于检索同一资源类别的一个或多个资源。它具有丰富的参数,允许使用-o或--output参数自定义输出格式。可以指定-w或--watch参数以开始监测特定对象的更新。kubectldescribe命令更侧重于描述指定资源的许多相关方面。它可以调用对API服务器的多个API调用来为用户构建视图。例如,kubectldescribenode命令不仅检索有关节点的信息,还检索在其上运行的Pod的摘要,为节点生成的事件等。描述资源对象5删除资源对象5kubectldelete

-基于文件、标准输入或通过指定标签选择器、名称、资源选择器或资源来删除资源。基于pod.yaml定义的名称删除Pod:#kubectldelete-fpod.yaml删除资源对象5删除所有包含某个label的Pod和Service:#kubectldeletepods,services-lname=<label-name>删除所有Pod:#kubectldeletepods--all删除资源对象ThankYOU!Kubernetes常用命令-kubectl操作示例2目录03任务查看Pod日志查看更新差异04任务01任务Pod的扩容与缩容容器操作02任务05任务Pod的滚动升级06任务通过命令行部署服务学习目标【知识目标】●掌握exec、logs、diff、scale、rolling-update的使用。【技能目标】●能够使用exec、logs、diff、scale、rolling-update管理资源●能够综合运用kubectl命令部署服务1容器操作1kubectlexec

-对Pod中的容器执行命令。执行Pod的data命令,默认是用Pod中的第一个容器执行#kubectlexec<pod-name>data指定Pod中某个容器执行data命令#kubectlexec<pod-name>-c<container-name>data通过bash获得Pod中某个容器的TTY,相当于登录容器#kubectlexec-it<pod-name>-c<container-name>bash容器操作2查看Pod日志2kubectllogs-打印Pod中容器的日志。返回Pod<pod-name>的日志快照。#kubectllogs<pod-name>从Pod<pod-name>开始流式传输日志。这类似于'tail-f'Linux命令。#kubectllogs-f<pod-name>查看Pod日志3查看更新差异3kubectldiff-查看集群建议更新的差异。查看“pod.json”中包含的差异资源。#kubectldiff-fpod.json从标准输入读取的差异文件。#catservice.yaml|kubectldiff-f-查看更新差异4Pod的扩容与缩容4当执行下述命令的结果大于原replicas的数量时,则相当于扩容操作,反之为缩容执行扩容缩容Pod的操作#kubectlscalercredis--replicas=3Pod的扩容与缩容5Pod的滚动升级5执行滚动升级操作:#kubectlrolling-updateredis-fredis-rc.update.yaml执行rolling-update命令前需要准备好新的RC配置文件以及ConfigMap配置文件,RC配置文件中需要指定升级后需要使用的镜像名称,或者可以使用kubecltrolling-updateredis--image=redis-2.0直接指定镜像名称的方式直接升级。Pod的滚动升级6通过命令行部署服务6(1)运行nginx应用运行具有4个副本的Nginx应用。[root@master~]#kubectlrunnginx--image=nginx:latest--replicas=4kubectlrun--generator=deployment/apps.v1isDEPRECATEDandwillberemovedinafutureversion.Usekubectlrun--generator=run-pod/v1orkubectlcreateinstead.deployment.apps/nginxcreated通过命令行部署服务6(2)查看pods验证Pods是否正常运行。[root@master~]#kubectlgetpodsNAME

READYSTATUSRESTARTSAGEnginx-ccb467dc5-92tbn1/1

Running0

93snginx-ccb467dc5-bx9gk1/1

Running0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论