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根据配置搞定一切。

一张图总结下:

转载于:https://www.cnblogs.com/syf-com/p/9159174.html

Kubernetes集群(概念篇)相关推荐

  1. Kubernetes集群部署篇( 一)

    K8S集群部署有几种方式:kubeadm.minikube和二进制包.前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包部署,因为自动部署屏蔽了很多细节,使得对各个模块感知很少,非常 ...

  2. 通过Rancher部署并扩容Kubernetes集群基础篇一

    一 应用场景描述 持续跟踪研究Kubernetes也有一段时间了,Kubernetes作为谷歌开源的生产级别的容器调度系统从开源初始便获得了众多的关注.一些有研发实力的公司调研过Kubernetes的 ...

  3. 这一篇 K8S(Kubernetes)集群部署 我觉得还可以

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 国内安装K8S的四种途径 Kubernetes 的安装其实并不复杂,因为Kubernetes 属 ...

  4. Kubernetes集群搭建之Etcd集群配置篇

    docker快速启动etcd脚本 https://www.cnblogs.com/ka1em/p/11300355.html rm -rf /tmp/etcd-data.tmp && ...

  5. CentOS7 使用 kubeadm 搭建 kubernetes 集群(极速篇)

    序言 本人在安装 k8s 的过程中曲折不断,故写下此文,让后人可以少走弯路. 这篇文章只描述如何从0开始快速搭建 k8s 集群,想更详细了解具体遇到问题的分析过程和解决方案,可阅读另一篇文章 -- C ...

  6. CentOS7 使用 kubeadm 搭建 kubernetes 集群(踩坑篇)

    序言 本人在搭建 k8s 集群的过程中曲折不断,故写下此文,欲与"同是天涯沦落人"分享. 这篇文章会详细描述安装过程中遇到的问题,以及本人相应的解决办法,如读者只想快速搭建 k8s ...

  7. 蚂蚁大规模 Kubernetes 集群无损升级实践指南【探索篇】

    文|王连平(花名:烨川 ) 蚂蚁集团高级开发工程师 负责蚂蚁 Kubernetes 集群容器交付 专注于集群交付能力.交付性能及交付 Trace 等相关领域 本文 12623 字 阅读 20 分钟 - ...

  8. 使用 kubeadm 创建一个 kubernetes 集群

    [福利]赠书活动仍在继续中:<大话代码架构> 简介 kubeadm是一个 kubernetes官方提供的快速安装和初始化拥有最佳实践(best practice)的 kubernetes集 ...

  9. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三

    在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...

  10. 在 Kubernetes 集群中使用 MetalLB 作为 Load Balancer(上)

    作者 | Addo Zhang 来源 | 云原生指北 TL:DR 网络方面的知识又多又杂,很多又是系统内核的部分.原本自己不是做网络方面的,系统内核知识也薄弱.但恰恰是这些陌生的内容满满的诱惑,加上现 ...

最新文章

  1. “怀才不遇”与“怀才不孕”怎么办?
  2. CAS 单点登录 服务器整合
  3. 【docker】docker run命令详解
  4. 之江杯2020零样本目标分割题参赛总结
  5. node.js安装express(零起点搭建本地测试服务器)- 教程篇
  6. python脚本监控docker容器
  7. node.js入门 - 7.异常处理与多进程开发
  8. oracle设置系统权限,Oracle数据库权限管理
  9. SketchUp 导出 fbx文件 单位 错误
  10. sniffer pro 4.7.5安装教程(附安装系统环境及软件链接)
  11. ie不能加载flash html,IE浏览器无法显示Flash怎么解决?解决的方法介绍
  12. 英语简单句——英语句子的基本结构、句子的成分(谓语、主语)、简单句的考点分析
  13. .Net -- EF Core详解
  14. 操作系统不等于 Linux,六问操作系统新时代 | 1024 程序员节
  15. Python实现对主要城市及其周边地区天气数据的爬取
  16. S曲线加减速算法 VS 梯形加减速算法
  17. 关于BCB的安装过程
  18. Ubuntu安装电源管理工具TLP
  19. 独立性权重指标怎么计算?
  20. TOA(tcp option adress)安装

热门文章

  1. creo组装后怎样移动元件_BGA元件SMT装配工艺要点简介
  2. java 对比工具_Java几款性能分析工具的对比
  3. 面向对象思想精华总结
  4. 关系数据库——关系数据语言
  5. Nginx不停机优雅升级
  6. 关闭用playsound函数的WAV文件
  7. PaperNotes(6)-GAN/DCGAN/WGAN/WGAN-GP/WGAN-SN-网络结构/实验效果
  8. 解决Github图片加载失败
  9. js监听只读文本框_js 动态控制 input 框 的只读属性
  10. 密码学专题 密钥生成|分组加密的模式 ECB|CBC|CFB|OFB