云计算容器编排技术 课件 21Kubernetes基础对象1_第1页
云计算容器编排技术 课件 21Kubernetes基础对象1_第2页
云计算容器编排技术 课件 21Kubernetes基础对象1_第3页
云计算容器编排技术 课件 21Kubernetes基础对象1_第4页
云计算容器编排技术 课件 21Kubernetes基础对象1_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

Kubernetes基础对象1Pod是kubernetes中可以创建和部署的最小也是最简的单位。Pod代表着集群中运行的进程。Pod中有一个或多个容器,Pod有管理容器如何运行的策略选项。Pod的生命周期是短暂的,用后即焚的实体。当Pod被创建后,都会被Kubernetes调度到集群的Node上。如果Pod运行的Node故障,或者是调度器本身故障,这个Pod就会被删除。同样的,如果Pod所在Node缺少资源或者Pod处于维护状态,Pod也会被驱逐。Kubernetes使用更高级的称为Controller的抽象层,来管理Pod实例。单元概述工作中不会直接在PaaS平台运行容器,而是以Pod为单位对应用进行部署。一个Pod可以包含一个或多个容器,Pod中的容器肯定是在同一台主机中绝不会跨节点。我们为什么需要Pod?Pod能够解决什么问题呢?如何通过Pod合理管理容器?Pod将容器捆绑在一起,并将他们作为一个单元进行管理。一个Pod中的容器都在相同的network和UTS命名空间运行。它们之间共享相同的主机名和网络。在同一个集群中Pod之间是可以直接通信的。每个Pod都会有自己的IP地址。单元概述目录03任务yaml形式查看应用查看kind的类型04任务01任务kubenetes对象管理K8S基础对象构成02任务05任务生成yaml资源模板06任务命名空间功能学习目标【知识目标】●了解Kubernetes的基础对象;●掌握namespace的功能。1K8S基础对象构成1对象表示整个集群的状态,用来描述如下信息:哪些容器化应用正在运行,以及在哪些节点上运行可以被应用使用的资源关于应用运行时表现的策略,比如重启策略、升级策略以及容错策略K8S基础对象构成1apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deploymentspec:selector:matchLabels:app:nginxreplicas:2K8S基础对象构成template:metadata:labels:app:nginxspec:containers:-name:nginximage:nginx:1.14.2ports:-containerPort:80yaml示例文件1创建Kubernetes对象的yaml文件中,需要配置的字段如下:apiVersion

创建该对象所使用的KubernetesAPI的版本kind

想要创建的对象的类别metadata

帮助唯一标识对象的一些数据,包括一个

name

字符串、UID

和可选的namespacespec

你所期望的该对象的状态K8S基础对象构成2yaml形式查看应用2[root@node-1~]#kubectlgetdeployments.appsapp-demo-oyamlapiVersion:apps/v1kind:Deploymentmetadata:annotations:deployment.Kubernetes.io/revision:"1"creationTimestamp:"2020-07-15T02:33:47Z"generation:1yaml形式查看应用3查看kind的类型3显示k8s集群中的所有api资源信息[root@node-1~]#kubectlapi-resourcesNAMESHORTNAMES

APIGROUPNAMESPACED

KINDbindings

true

Bindingcomponentstatuses

cs

false

ComponentStatusconfigmapscm

true

ConfigMapendpointsep

true

Endpointsevents

ev

true

Event。。。查看kind的类型3显示k8s集群中的所有api资源信息#kubectlapi-resources参数说明:NAME:api资源名称;SHORTNAMES:api资源名称简写;APIGROUP:api分组管理;NAMESPACED:是否可使用命名空间隔离,true是,false否;KIND:api资源类型;查看kind的类型4kubenetes对象管理4kubenetes对象管理指令式:对象的参数通过命令指定配置式:对象的参数通过YAML配置文件指定

指令式对象配置:命令中指定具体操作

声明式对象配置:命令中不指定具体操作,通过kubectl自动检测对象并

自动进行创建、更新和删除操作图形化方式API编程方式5生成yaml资源模板5[root@node-1~]#kubectlcreatedeploymenttest--image=nginx:1.7.9--dry-run=client-oyaml>test.yaml参数说明:#-oyaml输出yaml格式#>xxx.yaml将输出内容导入指定的yaml文件生成yaml资源模板5[root@node-1~]#kubectlapply-ftest.yamldeployment.apps/testcreated[root@node-1~]#kubectlgetdeployments.appsNAMEREADYUP-TO-DATEAVAILABLEAGEapp-demo1/11147happ-nginx-demo4/44442hdashboard-demo3/33317htest1/11129s生成yaml资源模板运行yaml文件5通过yaml文件[root@node-1~]#kubectldelete-ftest.yamldeployment.apps"test"deleted直接指定资源名称[root@node-1~]#kubectldeletedeployments.appstest生成yaml资源模板删除test应用的两种方式6命名空间功能6Kubernetes平台可以划分多个逻辑空间,逻辑空间就是namespaces;Namespace将同一集群中的资源划分为相互隔离的组;同一Namespace内的资源名称要唯一;Namespace作用域仅针对带有Namespace的对象,例如Deployment、Service等;

Kubernetes中的对象并不是所有的都在命名空间下,有的是属于集群级别的,例如StorageClass、Node、PersistentVolume等。命名空间功能6[root@node-1~]#kubectlgetnamespacesNAME

STATUSdefault

Activekube-node-lease

Activekube-public

Activekube-system

ActiveKubernetes-dashboard

Active命名空间功能查看系统默认的namespaces6命令行指定[root@node-1~]#kubectlgetpods-nkube-systemNAME

READYSTATUSRESTARTSAGEcalico-kube-controllers-11a5574d89-k4n851/1

Running1

24hcalico-node-a68mk

1/1

Running0

12d1hcalico-node-opsls

1/1

Running1

5d7hyaml文件指定[root@node-1~]#vicalico.yamlnamespace:kube-system命名空间功能指定namespaces6[root@node-1~]#kubectlapi-resources--namespaced=trueNAMESHORTNAMES

APIGROUPNAMESPACED

KINDbindings

true

Bindingconfigmapscm

true

ConfigMapendpointsep

true

Endpointseventsev

true

Event命名空间功能查看namespace下的对象资源6[root@node-1~]#kubectlapi-resources--namespaced=falseNAMESHORTNAMESAPIGROUPNAMESPACEDKINDcomponentstatusescsfalseComponentStatusnamespacesnsfalseNamespacenodesnofalseNodepersistentvolumespv

温馨提示

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

评论

0/150

提交评论