简介
  它是一个全新的基于容器技术的分布式解决方案,基于强大的自动化机制解决传统系统架构中负载均衡和实施部署的问题,从而节省了30%开发成本,其次具有完备的集群能力,

包括服务注册、服务发现、故障的发现和修复、服务滚动升级、在线扩容、健康监测等能力。使用kubernetes可以是开发人员更多精力在业务实现上,同时全面的拥抱微服务架构

架构

基本概念和术语

1、master 集群的控制节点。

每个kubernetes集群都需要有个master节点负责整个集群的管理和控制。mater节点包括一组关键进程:

  • kube-apiserver 资源增删改查操作的入口,门卫
  • kube-controller-manage 所有资源的自动化控制中心,大总管
  • kube-schedule 负责资源的调度,调度室

2、node 集群的负载节点

每个node都会被master分配一定的工作负载(容器),当node停止运行后,master将容器调度到其他node,node节点包括一组关键进程:

  • kubelet 负责pod对应容器的创建、启停任务
  • kube-proxy 实现service通信和负载均衡
  • docker engine docker引擎负责本机的容器的创建和管理

常用命令

查看集群节点

kubectl get nodes

查看节点详细信息

kubectl describe node xxx

3、pod 资源调用基本单位

每个pod包含一个根容器(Pause) 容器和其他若干的业务容器,其中根容器的状态代表了容器整体的状态,业务容器共享Pause容器的IP和挂在的Volumn 。集群中每个pod都分配了唯一的IP,称pod ip , 一个pod里的多个容器共享Pod IP地址。

pod某个容器停止,k8s检测并重启该pod中的所有容器,所以适合一个POD中存放一个业务相关的容器

(1) Replication Controller (rc) 副本的数量在任何时刻都达到期望值

rc定义包括如下几个部分:

    • pod期待的副本数
    • 用于筛选目标Pod的label Selector
    • 副本数小于期望数量时候,创建新的副本‘

例子:定义了在kubenetes集群中 tier: frontend的副本只有一个

(2)Replication Set (rs) 下一代的RC

与RC区别是RS支持集合类型的Label Selector,而rc只支持基于等式的Label Selector。其他特点类型。

(3)Label和Label Selector

Label和Label Selector概念,kubernetes可以为对应的资源(pod,rc,service,deployment)设置key=value形式的label,简单理解就是分类。同时label selector可以根据指定的label与资源进行管理。例如service可以根据label selector选择具有对应label的pod进行负载均衡。label selector分为等式形式(env=test)和集合形式(env not in[test,dev])

(4)Deployment 在rs的基础上增加服务启动状态的控制和统计

在rc的基础上进行了一次升级,更好解决了服务编排问题。可以知道当前POD的“部署的进度”

常用命令

创建Deployment

kubectl create -f tomcat-deployment.yaml

查看信息’

kubectl get deployments

(5)service kubernetes的核心资源对象,POD RC RS等资源对象都是为service提供服务

kubernetes里面每个service就是我们所说的微服务。

    • rc的作用是保证Service的服务能力和服务质量始终处于预期的biaozhun
    • service与后端的副本集群通过label selector做负载均衡

service一旦创建,kubernetes就会自动为它分配一个可用的Cluster IP,并且整个service的生命周期内不会改变,service name 和 service ip DNS映射解决了服务发现问题

常用命令

查看service

kubectl get svc -n XXX

创建service

kubectl create -f xxx

Kubernetes入门的更多相关文章

  1. 微服务 + Docker + Kubernetes 入门实践 目录

    微服务 + Docker + Kubernetes 入门实践: 微服务概念 微服务的一些基本概念 环境准备 Ubuntu & Docker 本文主要讲解在 Ubuntu 上安装和配置 Dock ...

  2. 第一章 Kubernetes入门

    第一章 Kubernetes入门 kubernetes是基于容器技术的分布式架构领先方案,是一个完备的分布式系统支撑平台. kubernetes带来的好处:1)全面拥抱微服务:2)统可以随时随地整体“ ...

  3. Kubernetes入门(四)——如何在Kubernetes中部署一个可对外服务的Tensorflow机器学习模型

    机器学习模型常用Docker部署,而如何对Docker部署的模型进行管理呢?工业界的解决方案是使用Kubernetes来管理.编排容器.Kubernetes的理论知识不是本文讨论的重点,这里不再赘述, ...

  4. 浅入kubernetes(1):Kubernetes 入门基础

    目录 Kubernetes 入门基础 Introduction basic of kubernetes What Is Kubernetes? Components of Kubernetes Kub ...

  5. kubernetes入门实践

    k8s中文文档 k8s概念比较多,有什么概念的疑惑的推荐看k8s中文文档. me的环境 操作系统:centos7 docker:1.12.6 环境跟me的不一致?不要慌,基本大部分操作都是行的通的. ...

  6. Kubernetes 入门必备云原生发展简史

    作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 "未来的软件一定是生长于云上的"这是云原生理念的最核心假设.而所谓"云原生",实际上就是在定义一条能 ...

  7. Kubernetes 入门-学习-nginx安装-dashboard安装

    一.入门 1.Kubernetes中文社区---http://docs.kubernetes.org.cn/ 2.Kubernetes集群组件: - etcd 一个高可用的K/V键值对存储和服务发现系 ...

  8. Kubernetes入门(一)——Kubernetes v1.18.5 安装部署

    Kubernetes的安装有两种方式:一是使用各个厂商封装的Kubernetes发行版,优点是可以一键安装部署,操作简单,缺点也很明显,若安装过程中某一步骤出现问题,很难定位处理:二是使用官方提供的k ...

  9. 第一篇:《Kubernetes 入门介绍》

    前言:本文是一篇 kubernetes(下文用 k8s 代替)的入门文章,将会涉及 k8s 的技术历史背景.架构.集群搭建.一个 Redis 的例子,以及如何使用 operator-sdk 开发 op ...

  10. Kubernetes 入门基础

    我们要学习 Kubernetes,就有首先了解 Kubernetes 的技术范围.基础理论知识库等,要学习 Kubernetes,肯定要有入门过程,在这个过程中,学习要从易到难,先从基础学习. 接下来 ...

随机推荐

  1. 炫酷的sublimeText开发工具 快捷键总结

     sublimeText3绝对是写前端程序的利器.占内存小.启动快.代码提示功能齐全,界面酷炫并且再也不怕断电.了 网上搜罗一些快捷键总结一下.先来张图: (事实上sublimeText3也能够写 ...

  2. linux 修改时间

    实例:设置时间伟2008年8月8号12:00# date -s "2008-08-08 12:00:00"修改完后,记得执行clock -w,把系统时间写入CMOS date -s ...

  3. 对象内部属性[[Class]]

    1.概述 所有的typeof返回值为‘object’的对象都包含一个内部属性[[Class]],我们将它可以看做内部的分类,而非传统面向对象意义的分类.这个属性无法直接访问,一般通过Object.pr ...

  4. JUnit4.8.2源码分析-1 说明

    阅读本系列文章时须要知道的: JUnit是由GOF 之中的一个的Erich Gamma和 Kent Beck 编写的一个开源的单元測试框架,分析JUnit源码的主要目的是学习当中对设计模式的运用.JU ...

  5. 【Python 数据分析】pandas模块

    上一节,我们已经安装了numpy,基于numpy,我们继续来看下pandas pandas用于做数据分析与数据挖掘 pandas安装 使用命令 pip install pandas 出现上图表示安装成 ...

  6. MongoDB密码设置(基于windows)

    参考文档:http://www.cnblogs.com/zengen/archive/2011/04/23/2025722.html   MongoDB部署到Windows上后是默认是无权限限制的的. ...

  7. Python进程、线程、协程之间的关系

    一.从操作系统角度 操作系统处理任务, 调度单位是 进程 和 线程 . 1.进程: 表示一个程序的执行活动 (打开程序.读写程序数据.关闭程序) 2.线程: 执行某个程序时, 该进程调度的最小执行单位 ...

  8. android-gradle-深入浅出-五:build type

    默认情况下,Android插件自动为项目构建一个debug和一个release版本的应用.这两个版本的不同主要体现在在非开发机上的调试功能以及APK的签名方式.debug版本使用一个用公开的name/ ...

  9. ping的原理以及ICMP

    ping 的原理:     ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接.     ping 使用的是ICMP协议,它发送icmp回送请求消 ...

  10. 怎样正确写网站title、keywords、description比较标准。

    一.title title,也就是标题,是在浏览器上面显示出来的,方便用户了解这个页面的内容;特别是搜索引擎判断你网页内容的主要根据.搜索引擎就很大部分是依靠网站title来判断你网站是关于什么内容的 ...