简介

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. Sublime Text Emmet插件 : 生成html,css 快捷键

    (输入下面简写,按Tab键可触发效果,或者 ctrl + e) html缩写 输入 !后 按下 ctrl + e : 结果 <!DOCTYPE html><html lang=&qu ...

  2. Unity3D 调用Android与IOS的剪贴板

    Unity3D剪贴板 最近遇到一个需要调用Android与IOS设备本身剪贴板的需求,就是在Unity中,要将文本复制到设备本身的剪贴板中,然后在其他应用程序中都能粘贴. 最开始在网上查到的方式是使用 ...

  3. count group by 组合用法

    1 需求是 求订单表1个月内 订单累计费用超过500的有多少人 根据题意 最先写出的sql是这样的 SELECT SUM(totalfee)AS n FROM sendorder WHERE `add ...

  4. PostgresQL中的NUlls first/last功能

    Nulls first/last功能简介Nulls first/last功能主要用于order by排序子句中,影响空值Null在排序结果中的位置.简单来说,Nulls first表示Null值在排序 ...

  5. cesium 动态水面效果

    后续继续更新

  6. IOS 自定义代理delegate方法

    创建一个自定义代理 @class MJTgFooterView; /** 1.协议名称: 控件类名 + Delegate 2.代理方法普遍都是@optional 3. */ @protocol MJT ...

  7. CodeForces 506D Mr. Kitayuta's Colorful Graph

    brute force ? 其实是平方分解.很容易想到的是每一个颜色建一个图,然后并查集维护一下连通性. 问题在于颜色有O(m)种,每种颜色的图点数都是O(n)的,因此并查集的空间只能重复利用. 但是 ...

  8. 转:adb操作命令详解及大全

    说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟练使用 ADB 命令将会大大提升我们的开发效率, ADB 的命令 ...

  9. MapReduce执行jar练习

    1.用程序生成输入文件1.txt和2.txt 生成程序源码如下: https://www.cnblogs.com/jonban/p/10555364.html 2.  上传文件到hdfs文件系统 创建 ...

  10. VIM中的保存和退出

    在插入模式下按ESE键.然后按住shift别松.在按;键.进入末行模式下. 然后按wq键.就可以保存退出了.