Kubernetes概览
Kuberbetes这个名字是什么意思?k8s又是什么?
Kubernetes这个名字源自希腊语,意思是“舵手”,也是“管理者”,“治理者”等词的源头。k8s是 Kubernetes的简称(用数字『8』替代中间的8个字母『ubernete』)
Kubernetes是一个能在集群中跨多主机管理容器化应用的的开源系统。Kubernetes的意在让 部属容器化和基于微服务的应用变得简单但是强大。
Kubernetes提供了诸多机制用来进行应用部署,调度,更新,维护和伸缩。一个Kubernetes 的关键特性是能它能主动的管理容器来保证集群的状态不断地符合用户的期望状态。一个运 维人员能够启动微服务,然后让调度器来找到合适的安置点。我们也想不断的改善工具和用 户体验,让他们能通过如金丝雀部署等模式来放出应用。
Kubernetes支持Docker和Rocket容器, 对其他的容器镜像格式和容器runtime会在未来加入。
尽管Kubernetes目前集中关注持续运行的无状态(如web服务器和内存中的对象缓存)和云 原生状态的的应用(如NoSQL数据库),在很快的将来,也会支持所有的其他的在生产集群 环境能常见到的workload类型,例如批处理,流式处理,和传统的数据库。
Kubernetes中,所有的容器都运行在pod中,一个pod来容纳一个单独的容器,或者多个合作 的容器。在后一种情况,pod中的容器被保证放置在同一个机器上,可以共享资源。一个pod 也能包含零个或者更多的的volume,volume是对一个容器私有的目录或者可以在pod中的容 器间共享。对于用户每个创建的pod,系统会找一个健康运转并且有足够的容量的机器,然后 开始将相应的容器在那里启动。如果一个容器失败,它会被Kubernetes的node agent自动重 启,这个node agent被称作Kubelet。但是如果pod或者他的机器出故障,它不会被自动转移 或者重启,除非用户也定义了一个replication controller,我们马上就会讲到它。
用户可以自己创建并管理pod,但是Kubernetes极大的简化了系统管理,它能让用户指派两个 常见的跟pod相关的活动:基于相同的pod配置,部署多个pod副本,和创建替换的pod当一个 pod或者它所在的机器发生故障的时候。Kubernetes的API对象用来管理这些行为的被称作 replication controller,它用模板的形式定义了pod,然后系统根据模板实例化出一些pod(特 别是由用户)。pod的副本集合可以共同组成一整个应用,一个微服务,或者在一个多层应用 的一层。一旦pod创建好,系统会持续的监控他们的健康状态,和它们运行时所在的机器的健 康状况。如果一个pod因为软件问题或者所在机器故障出现问题,replication控制器会自动在 健康的机器上创建一个新的pod,来保证pod的集合处于一个期望的冗余水平。一个或者多个 应用的多个pod能共享一个机器。注意一个replication控制器在点那个非副本pod的的情况下也 会被需要,如果用户想在pod或者其运行所在的机器出现故障的时候能重新创建。
能够方便的指代一个pod集合是一个常见需要用到的功能。例如,需要限制一个修改型操作到 一个有限制的集合里,或者限制需要查询状态的pod集合范围。作为一个常见的机制, Kubernetes绝大多是的API对象都允许用户添加任意的key-value键值对,被称作label,并且可以让用户用一系列的label选择器(对label的键值对查询)来限制API操作的目标。每一个资 源也有一个字符串类型的键值可以被外部的工具来存储或者获取任意的元数据,被称作 annotations(备注)。
Kubernetes支持一种独特的网络模型。Kubernetes鼓励用扁平的地址空间,并且不会动态的 分配端口,而是采用让用户可以选择任意合适自己的端口。为了实现这点,它给每一个pod分 配了一个ip地址。
现代的Internel应用通常由层级的微服务构建而来,例如一组前端和分布式的内存内键值存储 交互,和副本复制的存储服务交互。为了构建这种架构,Kubernetes提供了service的抽象, 其提供了一稳定的IP地址和DNS名字,来对应一组动态的pod,例如一组构成一个微服务的 pod。这个pod组是通过label选择器来定义的,因为可以指定任何的pod组。当一个运行在 Kubernetes pod里的容器连接到这个地址时,这个连接会被本地的代理转发(称作kube proxy)。该代理运行在来源机器上。转发的目的地是一个相应的后端容器,确切的后端是通 过round-robin的策略进行选择,以均衡负载。kube proxy也会追踪后端的pod组的动态变化, 如当pod被位于新机器上的新的pod取代的时候,因而服务的IP和DNS名字不用改变。 每一个Kubernetes中的资源,如pod,都通过一个URI来被识别,并且有一个UID。URI中一 个总要的组件是,对象的类型(如:pod),对象的名字,和对象的namespace(命名空 间)。对于一个特定的对象类型,每一个名字在其命名空间都是独一无二的。在一个对象的 名字没有带着命名空间的形式给出,那就是默认的命名空间。UID在时间和空间的范围都是唯 一的。
Kubernetes概览的更多相关文章
- kubernetes 概览
kubernetes 核心数据 (存储于ETCD 有数据变化通知的功能(watch-dog)) kubernetes 设计综述 (中英文对照)(http://www.oschina.net/trans ...
- Kubernetes 概念整理
注:以下大部分内容来自网上摘录,以便后期查阅. Kubernetes (通常称为 K8s) 是用于自动部署.扩展和管理容器化(containerized)应用程序的开源系统,是 Google 内部工具 ...
- 基于Docker本地运行Kubernetes
基于Docker本地运行Kubernetes 概览 下面的指引将高速你如何通过Docker创建一个单机.单节点的Kubernetes集群. 下图是最终的结果: 先决条件 \1. 你必须拥有一台安装有D ...
- kubernetes社区项目生态概览
原文 http://dockone.io/article/2075 作为容器集群管理技术的最流行的技术,kubernetes,自从2014在github上开源后,已经通过多个项目形成了一个生态,以下 ...
- 基于Python+Django的Kubernetes集群管理平台
➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...
- Kubernetes初步
Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上.为容器化的应用提供资源调度.部署执行.服务发现.扩容缩容等整一套功能.本质上可看作是基于容器技术的mini-Pa ...
- Docker 生态概览
Docker 和容器技术的发展可谓是日新月异,本文试图以全局的视角来梳理一下 docker 目前的生态圈.既然是概览,所以不会涉及具体的技术细节. Docker 自从发布以来发生了很多的变化,并且有些 ...
- 101 - kube-scheduler源码分析 - k8s源码组织结构概览
ps:本来应该先发这一篇,再开始讲cobra的,昨天不小心先把 cobra发出去了,今天补上源码概览~ 如上,我们下载好后切换到1.10版本的分支,项目目录结构是这样的(目录部分).有很多,我们先不纠 ...
- Kubernetes & Docker
Docker核心技术原理及其应用 Docker 概览 Docker版本与安装介绍 Docker 核心技术之镜像 Docker 核心技术之容器 Docker 核心技术之容器与镜像 Docker 核心技术 ...
随机推荐
- TCP/IP学习笔记9--以太网之基本概念1: 分类,连接方式
时间是变化的财富.时钟模仿它,却只有变化而无财富. -- 泰戈尔 以太网(Ethernet)一词源于Ether(以太), 是介质的意思.在爱因斯坦哥们提出量子力学之前,人们普遍认为宇宙空间充满以太,并 ...
- QPS、TPS、PV、UV、GMV、IP、RPS?
QPS.TPS.PV.UV.GMV.IP.RPS QPSQueries Per Second,每秒查询数.每秒能够响应的查询次数. QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准, ...
- How to change default root@ email address linux / postfix / centos?
Change root@hostname to different email address By default, any email sent by system is sent to root ...
- python openpyxl模块实现excel的读取,新表创建及原数据表追加新数据
当实际工作需要把excel表的数据读取出来,或者把一些统计数据写入excel表中时,一个设计丰富,文档便于寻找的模块就会显得特别的有吸引力,本文对openpyxl模块的一些常见用法做一些记录,方便工作 ...
- 6.66 分钟,一文Python爬虫解疑大全教入门!
我收集了大家关注爬虫最关心的 16 个问题,这里我再整理下分享给大家,并一一解答. 1. 现在爬虫好找工作吗? 如果是一年前我可能会说爬虫的工作还是挺好找的,但现在已经不好找了,一市场饱和了,二是爬 ...
- springboot项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde
springboot项目启动报错Failed to configure a DataSource: 'url' attribute is not specified and no embedde 创建 ...
- (二)spring初次遇见shiro
文章目录 集成 Spring 集成中的坑 shiroFilter 的工作原理 权限配置细节 集成 Spring pom.xml 添加shiro相关的依赖 我使用的版本是 ${version.shiro ...
- JSP的部分知识(一)
通过Servlet进行整个网站的开发是可以的. 不过在Servlet中输出html代码,特别是稍微复杂一点的html代码,就会给人一种很酸爽的感觉. 如果能够直接使用Html代码,然后在html中写j ...
- 2019ICPC南昌现场赛总结
非常可惜的一场比赛,多了60分钟罚时与银牌无缘.今年6场ICPC网络赛里面打的最差的就是南昌站,冥冥之中自有天意吧,最后被安排去了南昌. 开场被队友叫去先看的L,说是足球,发现就是简单模拟,就直接上机 ...
- dede5.7-修改自定义表单
最近刚好帮客户做一个网站,需要用到dede的自定义表单功能.可是有个这样的需求,就是当表单提交成功后,要返回一个自定义页面的提示功能!可能是觉得dede自带的提示太low的原因吧!(一不小心又黑了下)