版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是云计算Workload Workload Workload
CloudComputing Network
云计算平台的分类Openstack为典型的虚拟化虚拟机构建和业 技术的迭 早期 所有容器共享IP,会导致端 等问题为超级用户添加KubernetesGmail Docs WebSearch GFS/CFE
Megastore
MapReduceBorgBorg简介物理资源利用率服务器共享,在进程级别 应用高可用调度策略灵活应用接入和使用方便,提供了完备的Job描述语言,服务发现,实时状 和诊断工具对外隐藏底层资实现应用的高可足够弹性WorkloadJobWorkloadJobNaming用户以Job的形式的服务发现通Borg过•的服务发现通Borg过•BorgCellprod:Service)来实现。50.jfoo.ubar.cc.borg 可表示在一个名为cc的Cell中由用户uBar 部署Service)来实现。50.jfoo.ubar.cc.borg 可表示在一个名为cc的Cell中由用户uBar 部署的一个名为jFoo的Job下的第50个TaskNameBNS(BorgBorgWebSearchnon-prod(Batch)每个Job可以定义属Borg架构Borgmaster处理客户RPC请求,比如Job,Job系统组件和服务的状态,比如服务器、TaskScheduler程调度策WorstBest调度优Scorecaching:当服务器或者任务的状态未发生变更或者变更很少Borglet是部署在所有服务器Agent,负责Borgmaster进程的指令应用高可用non-prodpendingqueue 保障应用高可用的关键性设计原则:BorgmasterBorgletBorg系统自身高可资源利用率 9025Task4500在一个中等规模的Cell里, 任务和离线任务独立部署比混合部署所需的服务器数量多出约20%-30%。 的服务器数量在千万级别,按20%算也是百万级别,大概能省下的服务器采machineBrogmachine实际使用资保留资回收资限制资性 什么是 命令式( 式(
在软件工程领域,式系统指程序代码描述系统应该式(Declaritive)系统规范 Kubernetes: 式系统 Namespace:资 PodKubernetes Kubernetes采用与Borg类似的架主要组件RESTfulKubernetesAPIJSONKubernetesetcd”。这是一个强大的、稳定的、高可用的键值API被称为“kube-被称为“kube-controllermanager”Manager Kube-etcd是CoreOS基于Raft开发的分布式key- 原子CAS和CAD,用于分布式锁和 直 etcd的数Kube-APIServer是Kubernetes最重要 Admission(Mutating&Valiating) APIServer展开Kube-
K8sRBAC AuthN
Rate
AuthZ
Webhook
Schema
Webhook
Webhook
Webhook
Aggregated
Webhook
Schema
WebhookController作用是确保Kubernetes遵 制下确保最终一致性(EventualConsistency)控制器的工作流程Informer的内部机控制器的协同工作原理SchedulerScheduler的特殊职责在于 当前集群所有未调度的Pod,并且获取当前集群所有节点的健康状况和资源 ,并按需求启停Pod Pod ,给定的HTTPServer或Kube-APIServer Kube- 均衡器之上,服务调用无需经过额外的网络跳转(NetworkHop)userspace推荐的Add-kube-dnsDNSDashboardKubectl命令和kubectl是一个Kubernetes 配置文件~/.kube/config
-name:kind-cluster:kind-kinduser:name:kind-kindkind:kinduser:--kubectl常用命kubectlgetpo–oyaml-oyaml-wwatchowide
Kubectldescribe NormalScheduled8m13sdefault-Normal 7m56skubelet,k8smasterpullingimageNormalPulled 7m50skubelet,k8smasterSuccessfullypulledimage"ubuntu:16.04"NormalCreated 7m50skubelet,k8smasterCreatedcontainerNormal 7m50skubelet,k8smasterStartedkubectlexecroot@ubuntu-6fcf6c67db-xvmjh:/#hostname-fkubectllogsMonMar2514:56:02UTC2019NetworkingRuntimeMiddlewareO/SO/SRuntimeMiddlewareNetworkingNetworkingDataRuntimeNetworkingMiddlewareO/SRuntimeMiddlewareO/SNetworkingRuntimeMiddlewareO/SO/SRuntimeMiddlewareNetworkingNetworkingDataRuntimeNetworkingMiddlewareO/SRuntimeMiddlewareO/SmanagesmanagesmanagesYoumanageYoumanageYoumanageDataDataDataDataDataDataPVCPVCPodDNS Kubernetes公共服务 meshKUBEDNS DockerRuntimeOSKubernetes设计理念基于CRD的扩插件化的生态
Kubernetes组件本身高 多种基础架构的选多云和混合
ServiceaccountNamespaceTaints,psp,KubernetesCommandLineAPIPodImage分层架构层:Kubernetes 策略管理(RBAC、Quota、PSP、 Kubernetes外部:日志 、配置管理、CI、CD、Workflow、FaaS、OTS应用ChatOpsKubernetes内部 分层架构EcosystemInterfaceLayer: LibrariesandToolsernanceLayer:Automationand ApplicationLayer:DeploymentandRoutingNucleus:APIandExecutionRuntime
Network
Volume
Image
Cloud
分层架构API设计原则 如何能够设计好API,跟如何能用面向对象的方法设计好应用系统有相通的地方, API设计原则 StatefulSetReplicaSetPodKubernetesAPIAPI设计原则 Kubernetes如何通过对象的组合完成业务描依赖关依
PodTem Deployment DeploymentPodTem Node Pod NodePod
URL架构设计原则只有APIServer可以直接 ,其他服务必须通过KubernetesAPI来 引导(Bootstrap )原课后练习用KubeadmKubernetes。TypeMetaMetaDataSpecKubernetes对象的最基本定义,它通过引入GKV(Group,Kind,Version)Groupcoreapps会使这些对象的可性和可理NodePod、Deployment从v1alpha1到v1alpha2v1beta1,最终变成生产就绪版本v1。MetadataNamespace和Name LabelLabel是识别Kubernetes对象 app=nginx
dev
language
qa
backend gocachelabel(AND),app=nginx,env=testLabels用于标志和选择对象,Annotations则是用来记录一些附加信息,用来辅助应用部署metadata.deletionTimestamp字段。ResourceVersion可以被看作一种乐观锁,每个对象在任意时刻都有其ResourceVersion,当Kubernetes对象被客户端 Spec和 常用Kubernetes对象及其分组(比如Docker或者Rkt)、Kubelet和Kube- NamespaceNamespace(default),NodepersistentVolumesNamespace。什么是Pod是一组紧密关联的容器集合,它们共享 、etwork和UTSnamespace,是Kubernetes调kind:Podmetadata:name: -image:nginx:1.15name:nginx env:-naenv:-name:POD_NAMEvalueFrom:fieldRef:apiVersion:v1fieldPath:metadata.nam从ConfigMap 从 env:-env:-name:valueFrom:configMapKeyRef:name:my-envkey:apiVersion:v1kind:Podmetadataname o-envspec:containers:-image:nginx:1.15name:alpineenv:-name: value:worldenv:-name:valueFrom:secretKeyRef:name:mysecretkey:usernam卷 VolumeVolumeMountsVolume:定义Pod可以使用 VolumeMounts:定 kind:Podmetadata:name: volume-image:nginx:1.15name:nginxvolumeMounts:-name:mountPath:/datavolumes:-name:emptyDir:Pod网络Pod的多个容器是共享网络Namespace的,这意味着:同一个Pod中的不同容器可以彼此通过Loopback地 在第一个容器中起了一个服 在第二个容器内,是可以通过httpGet 到该地址的这种方法常用于不同容器的互相协作。资源限制和内存使用,比如对于刚才创建的deployment,可以通过下面 nginx容器最多只用50%的CPU和128MB的内存:$kubectlsetresourcesdeploymentnginx-app-c=nginx-limits=cpu=500m,memory=128Mideployment"nginx"resourcerequirementsupdated等同于在每个Pod中设置resourceskind:Podmetadata:app:nginxname:nginx-image:name:nginxcpu:"500m"memory:"128Mi"健康检查ReadinessProbeTCPHTTP健康检查kind:Deploymentmetadata:app:name:nginx-replicas:3app:nginx metadata:app:nginx-image: :Alwaysname:httpresources: cpu:"500m"memory:path:/initialDelaySeconds:15timeoutSeconds:1path:80initialDelaySeconds:timeoutSeconds:ConfigMap用来将 密钥对象 AWS 用户(UserAccount)&服务帐户(Service Namespace ,与特定Namespace是相关的labels的PodIPendpointsKube-负责将服务IP载均衡到这些endpoints上。每个Service都会自动分配一个clusterIP(仅在集群内部可 和DNS名,其他容器可以通过该地址或DNS来 ServiceapiVersion:v1kind:Servicemetadataname:nginxspec:ports:-port:8078#theportthatthisserviceshouldserveonname:http#thecontaineroneachpodtoconnectto,canbeanam#(e.g.'www')oranumber(e.g.80)targetPort:80protocol:TCPselector:app:nginx副本集(Replica 来源部署部署是一个RS应用模式更广API对象合操作Kubernetes的发展方向,未来对所有长期伺服型的的业务的管理,都会通过Deployment来管Deployment NewReplicaSet
Try通过类似Docker kubectlexposedeploymentng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新)项目经理劳动合同书(2026版)
- 药品经销合同(2026版)
- (正式版)DB34∕T 4217-2022 《韭黄设施栽培技术规程》
- 2026 年农村地区汛期自然灾害安全防范
- 2026 年秋季高一开学第一课高中新生自我认知定位主题教育
- 2026年秋道德与法治二年级上册教学工作计划
- 汽车厂零部件管理准则
- 某食品厂生产管理
- 常州中考音乐考试题目与答案解析
- 肾错构瘤题目及对应答案分享
- DL∕T 802.1-2023 电力电缆导管技术条件 第1部分:总则
- ISO14064-1 2018温室气体第1部组织层面上温室气体排放与清除量化及报告规范
- 2022年工业和信息化部工业文化发展中心社会招聘考试试题及答案
- DZ∕T 0227-2010 地质岩心钻探规程(正式版)
- ISO9001质量管理体系培训教材
- 背负式风力灭火机的操作与使用
- GB/T 10095.2-2023圆柱齿轮ISO齿面公差分级制第2部分:径向综合偏差的定义和允许值
- 办公室卫生值日表
- GB/T 4798.3-2023环境条件分类环境参数组分类及其严酷程度分级第3部分:有气候防护场所固定使用
- 连云港市东海县招聘事业单位人员考试真题及答案2022
- GB/T 32508-2016绝缘油中腐蚀性硫(二苄基二硫醚)定量检测方法
评论
0/150
提交评论