简介

Kubernetes是一个开源、用于管理云平台中多个主机上的容器化的应用,目标是让部署容器化的应用简单并且高效,Kuernetes提供了应用部署、规划、更新、维护的一种机制。

在Kubernetes中,所有的容器均在Pod中运行,一个Pod可以承载一个或者多个相关的容器户创建的每个Pod系统会自动选择一个健康并且有足够容量的节点来创建类似容器的容器,当容器创建失败,由node Agent kubelet来自动重启。但是如果是Pod失败或者机器的其他原因,它并不会自动转移并且启动,除非用户自定义了replication controller。

用户可以自己创建并管理 Pod,Kubernetes将这些操作简化为两个操作:基于相同的Pod配置文件部署多个Pod复制品;创建可替代的Pod当一个Pod挂了或者机器挂了的时候。Kubernetes API中负责来重新启动、迁移等行为的部分叫做“replication controller”,一个应用的多个Pod可以共享一个机器。

Kubernetes支持一种特殊的网络模型,Kubernetes创建一个地址空间,并且不动态的分配端口,它可以允许用户选择任何想使用的端口,为了实现这个功能,它为每个Pod分配IP地址。Kubernetes提供了服务的抽象,并提供了固定的IP地址和DNS名称,而这些与一系列Pod进行动态关联,这些都通过之前提到的标签进行关联,所以我们可以关联任何我们想去关联的Pod,当一个Pod中的容器访问这个地址的时候,这个请求会被转发到本地代理(kube proxy),每台机器上均有一个本地代理,然后被转发到相应的后端容器。

Kubernetes通过一种轮询的机制选择相应的后端容器,这些动态Pod被替换的时候,Kube proxy时刻追踪着,所以,服务的IP地址(dns名称)从来不变。

Kubernetes中的资源,比如Pod都通过一个叫URI的东西来区分,这个URI有一个UID,URI的重要组成部分:对象的类型(比如Pod),对象的名称,对象的命名空间,对于特殊的对象类型,在同一个命名空间内,所有的名字都是不同的,在对象只提供名称,不提供命名空间的情况下,这种情况是假定为默认的命名空间。UID是时间和空间的唯一。

起源

大规模容器集群管理工具,从Brog到Kubernetes

虽然Google推出Kubernetes的目的之一是推广其周边的计算引擎(Google Computer Engine)和谷歌应用引擎(Google App Enginx)。但Kubernetes的出现能让更多的互联网企业可以享受连接众多计算机成为集群资源池的好处。Kubernetes在模型建立之初就考虑了容器跨主机连接的要求,支持多种网络解决方案,同时在Servie层次构建集群范围内的SDN网络。其目的是将服务发现和负载均衡放置到容器可达的范围,这种透明的方式便利了各个服务间通信,并为微服务架构的实践提供了平台基础。而在Pod层次,作为Kubernetes可操作的最小对象,其特征更是对微服务架构的原生支持。

2015年7月22日迭代到v1.0并正式对外公布,这意味着这个开源容器编排系统可以正式的在生产环境使用。与此同时,谷歌联合Linux基金会及其它合作伙伴共同成立CNCF基金会(Cloud Native Computing Foundation),并将Kubernetes作为首个编入CNCF管理体系的开源项目。

Kubernetes-简介(一)的更多相关文章

  1. 【三小时学会Kubernetes!(二) 】Kubernetes 简介及Pod实践

    Kubernetes 简介 我向你保证我没有夸大其词,读完本文你会问“为什么我们不称它为 Supernetes?” Kubernetes 是什么? 从容器启动微服务后,我们有一个问题,让我们通过如下问 ...

  2. 1、kubernetes简介

    Kubernetes简介 文档信息 中文官网:https://kubernetes.io/zh 中文社区:https://www.kubernetes.org.cn/ Kubernetes是容器集群管 ...

  3. 001.Kubernetes简介

    一 Kubernetes概述 Kubernetes是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker ...

  4. k8s学习笔记之一:kubernetes简介

    一.虚拟化技术 1.什么是虚拟化技术 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  5. Kubernetes简介

    Kubernetes is an open-source platform designed to automate deploying, scaling, and operating applica ...

  6. kubernetes 简介:kube-dns 和服务发现

    服务发现 kubernetes 提供了 service 的概念可以通过 VIP 访问 pod 提供的服务,但是在使用的时候还有一个问题:怎么知道某个应用的 VIP?比如我们有两个应用,一个 app,一 ...

  7. Kubernetes 简介

    一.Kubernetes 相关概念 1. Kubernetes 是一个开源的容器集群管理系统,主要用来自动化部署容器 .自动扩展与收缩容器规模 .提供容器间的负载均衡2. Node:Node(节点)也 ...

  8. 【Kubernetes学习之一】Kubernetes 简介

    环境 centos 7 一.概念和组件Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署.大规模可伸缩.应用容器化管理,简称k8s. 1.Master Kubernetes中的 ...

  9. K8S - 容器编排工具Kubernetes简介

    1 - Kubernetes Kubernetes(简称K8s,用8代替8个字符"ubernete")是Google开源的一个容器编排引擎. 目前最为广泛且流行的容器编排调度系统, ...

  10. Kubernetes简介二

    Kubernetes是什么?Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能.通过Kubernetes你可以: 快速部署应用 快速扩展应用 ...

随机推荐

  1. 20170802,css样式优先级

    样式的优先级 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External styl ...

  2. 使用Ribbon Workbench来修改停用、激活按钮的权限

    在实施的过程中,有时会遇到客户为了管控使用人员的操作或防止使用人员通过停用后再激活来绕开部分逻辑,需要对激活.停用按钮赋予单独的权限.但很遗憾,在Dyanmics CRM中,并没有把停用.激活按钮单独 ...

  3. Form 头行附件查询

    查询Form的头行附件: SELECT  st.short_text order_short_text, description order_attach_desc, pk1_value order_ ...

  4. Mac 下显示隐藏文件或文件夹

    Mac 操作系统 隐藏显示文件 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write co ...

  5. Java获取Date类型-针对SQL语句

    简便使用Date类型: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedState ...

  6. [topcoder]TheGridDivTwo

    http://community.topcoder.com/stat?c=problem_statement&pm=13628&rd=16278 标程是BFS,我用DFS,都可解. 这 ...

  7. Ubuntu18.04中使用中文输入法

    如何在ubuntu18.04中设置使用中文输入法 ubuntu 在最新的版本中已经可以不用用户自己单独去下载中文输入法使用了,本次使用为 ubuntu18.04LTS版本(登陆是界面选择的是ubunt ...

  8. Ajax使用 初始化数据 + mvc

    2017-3-16 mvc+jquery+easyUI做项目 <input type="text" id="txtSTQty" name="tx ...

  9. mysql 5.6 zip安装,启动失败,1067错误

    在使用mysql5.6 zip压缩包安装mysql过程中,启动过程,老是卡在1067启动错误上,翻看网上各种解决方案,卸载干净重装,重启,都不管用. 网上各种教程都是新建 my.ini mysql 配 ...

  10. Installing xgboost and cmake, mingw64 and mingw

    Problem: installing the xgboost to get the python package for later importing