Kubernetes集群(概念篇)

Kubernetes介绍

2013年docker诞生,自此一发不可收拾,它的发展如火如荼,作为一个运维如果不会docker,那真的是落伍了。

而2014年出现的kubernetes(又叫k8s)更加炙手可热,我想大部分人仅仅是听说过,简单了解它,但并没有真正使用过。那今天本文将带着大家一起走近kubernetes。

为啥kubernetes又叫做k8s?据说是因为kubernetes这个单词太长,不好记,而首字母和尾字母中间有8个字母,所以就简写成了k8s。Kubernetes翻译成中文,意思是“舵手”。

本文开篇之所以提到docker,是因为k8s之所以火,得益于docker。K8s简单说,是用来实现容器集群管理的系统,用于自动部署、扩展和管理容器。它是由Google公司开发,其原型为Google内部容器管理系统Borg。

Borg经过十多年地优化、改进,其功能和效率不言而喻,k8s项目的目的就是把Borg最精华的部分提取出来,使现在的开发者能够更简单、直接地应用。K8s自诞生之日起就注定了它的不平凡之路。

前几年Openstack很火,但是这两年k8s将要盖过Openstack了,虽然k8s不能完全替代Openstack,但在云计算领域,k8s的确是后起之秀,能用容器云解决的问题,坚决不用传统云。

其实和k8s功能类似的容器管理工具还有一个Swarm,它是docker官方开发,按理说docker官方的东西不更应该被大家普及么,可事实上k8s的体验比官方的Swarm更加好,其根本原因还是Borg。

要想更了解K8s,需要先理解几个相关的概念。

node 一个物理机器,或一个虚拟机(KVM类型,而不是容器类型);将虚拟机作为node一般是历史原因,或是为了彻底隔绝杜绝安全问题。

cluster 一组node需要被集中管理,统一叫一个cluster。一个cluster有一个master和多个node。每个node里面有一个kubelet用来服从master调度并管理node本身。

app containers 一个node里面可以有一个或多个容器化的应用程序,即app container。可以简单认为就是docker容器。

pod 多个app containers之间可能需要共享硬盘,或共享同一个ip,这样一组app containers合起来叫一个pod。典型应用如:一个容器不停产生日志到本地硬盘,另一个容器不停读本地硬盘并上传日志到日志服务器。

service 当一个node挂了时,上面的pod及pod里面的container也自然都挂了。为了死不掉,需要有个pod上层的抽象,pod挂了,service还在。service通过如下几种方式暴露出来。

  • ClusterIP (default),cluser的内网ip,只能此cluster内可见
  • NodePort,端口NAT到cluster外面
  • LoadBalancer,在cluster外面搞个LB并分配个外面可见的固定IP给LB
  • ExternalName,类似CNAME方式

deployment 配置yaml格式,存在master上,当机器故障或需要横向scale时或需要更新binary时,master根据配置搞定一切。

一张图总结下:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云加头条

如何在腾讯云上搭建一个PPT自动播放的服务器

本文主要讲述了如何在腾讯云上搭建一个PPT自动播放的服务器,产品的效果是你可以借助任何一个远程终端来讲解你的 PPT (一个手机、麦克风等),该系统会根据你讲解...

81700
来自专栏晨星先生的自留地

看zwell怎么带我解决方程式poc的bug

22020
来自专栏算法+

unisound_asr 云知声 语音识别 python版接口

抽空,实现了一份云知声 语音转写的python版本。 使用python通过调用动态库实现。 云知声官网: http://dev.hivoice.cn/sdk_d...

48680
来自专栏tkokof 的技术,小趣及杂念

小话游戏脚本(一)

( 题记:近来在网上学习到一个新的观点(应该是来自刘未鹏的BLOG :) ):书写是为了更好的学习,这与之前脑子里传道授业解惑的观点颇为迥异,品一品又颇以为然...

11610
来自专栏黑白安全

通过F5获取服务器真实内网IP

渗透测试过程中,经常会遇到目标服务器使用F5 LTM做负载均衡。 如果能获取到目标服务器的真实IP地址,会给后续渗透带来一定便利。

18140
来自专栏QQ音乐技术团队的专栏

OpenSL ES那些事

本次分享主要是将JNI层的声音采集,传输以及播放过程做相应介绍,若是大家有更好的优化建议,欢迎指教。

2.7K70
来自专栏张善友的专栏

基于DotNetOpenAuth实现OpenID 服务提供者

EverBox网盘(www.everbox.com)是由盛大创新院推出的一款网盘产品,提供了超大的免费存储空间(可升级到 10GB),支持文件同步、文件分享、在...

374100
来自专栏JAVA技术zhai

你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

1.1K90
来自专栏张善友的专栏

.NET的Actor模型:Orleans

Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服...

30960
来自专栏极客生活

真正好用的python库

这个库是我安装完python环境后第一个安装的库,装上这个库再开始写代码才有底气,作者 Kenneth Reitz 是公认python领域代码写的最好的两个人之...

17430

扫码关注云+社区

领取腾讯云代金券