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

一张图总结下:

 

Kubernetes集群(概念篇)的更多相关文章

  1. Kubernetes集群部署篇( 一)

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

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

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

  3. Kubernetes集群搭建之Master配置篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 今天终于到正题了~~ 生成kubernets证书与私钥 1. 制作kubernetes ca证 ...

  4. Kubernetes集群搭建之系统初始化配置篇

    Kubernetes的几种部署方式 1. minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境 ...

  5. Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记

    目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...

  6. 基于Kubernetes集群部署skyDNS服务

    目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...

  7. K8S学习笔记之二进制的方式创建一个Kubernetes集群

    0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...

  8. 安装部署 Kubernetes 集群

    安装部署 Kubernetes 集群 阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Hea ...

  9. Kubernetes 集群中使用 Helm 搭建 Spinnaker

    在我们部署Spinnaker之前,我们需要一个YAML格式的配置文件,它会包含了一些配置信息.可以从Spinnaker Helm Chart repository[2]获得这个文件. $curl -L ...

  10. 从0到1使用Kubernetes系列(三):使用Ansible安装Kubernetes集群

    前两期的文章介绍了Kubernetes基本概念和架构,用Kubeadm+Ansible搭建Kubernetes集群所需要的工具及其作用.本篇介绍怎么使用Ansible安装Kubernetes集群. 启 ...

随机推荐

  1. 【luogu P1536 村村通】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1536 并查集的运用,可以用生成树的思想,就是n个点生成一棵树需要n-1条边.这样我们先把已有的路连接到一个并 ...

  2. JavaScript:对事件的反应

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  3. SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-apidoc/ 本文出自方志朋的博客 首先声明下 ...

  4. springboot2.04+mybatis-plus+swagger2+CodeGenerator

    @author zhangyh SpringBoot技术栈搭建个人博客[项目准备]  RESTful API就是一套协议来规范多种形式的前端和同一个后台的交互方式 原型设计 事实上,我是直接先去找的原 ...

  5. SpringBoot学习15:springboot异常处理方式5(通过实现HandlerExceptionResolver类)

    修改异常处理方式4中的全局异常处理controller package com.bjsxt.exception; import org.springframework.context.annotati ...

  6. c# 开发可替换的通用序列化库

    开篇继续吹牛.... 其实没有什么可吹的了,哈哈哈哈哈 主要是写一个通用库,既可以直接用,又方便替换,我的序列化都是采用第三方的哈. 我不上完整代码了,只是给大家讲讲过程. 1.写一个序列化的类,我是 ...

  7. VC中edit控件使用

    SetSel(start,end)作用:定制EDIT的所选择内容.间接地可以用于定位光标位置. 使用例子:EXP1:设置光标CEdit*      pEdit=(CEdit*)GetDlgItem(I ...

  8. Linux入门-第六周

    1.总结IP地址规划 IP地址的合理规划是网络设计中最重要的一环,在大型网络中必须对IP地址进行统一规划并得到实施.IP地址规划的好坏影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的拓展, ...

  9. webpack3构建全面提速优化vue-cli

    前言 伴随着vue的全球化,各种vue的组件框架越来越完善,从早期的element-ui到vux,iview等越来越多高质量的项目,使用vue进行前端构建已然是一件工程化,模块化,敏捷化的事情 在这其 ...

  10. 我所用过的nginx的功能

    前言 当我们提起集群时,一般所用的插件就是nginx.nginx功能如今越来越完善.第三方模块也多如牛毛,在此,总结一下不牵扯第三方模块所具有的功能. 基本功能 反向代理 负载均衡 HTTP服务器(动 ...