k8s入门系列之介绍篇

shuaiandjun shuaiandjun     2022-12-17     115

关键词:

文章转自  http://www.cnblogs.com/xkops/p/6165565.html

?Kubernetes介绍
1.背景介绍
  云计算飞速发展
    - IaaS
    - PaaS
    - SaaS
  Docker技术突飞猛进
    - 一次构建,到处运行
    - 容器的快速轻量
    - 完整的生态环境
2.什么是kubernetes
  Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
  Kubernetes优势:
    - 容器编排
    - 轻量级
    - 开源
    - 弹性伸缩
    - 负载均衡

?Kubernetes的核心概念
1.Pod
  运行于Node节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通。Pod是Kurbernetes进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个容器或者多个相关容器。
2.Replication Controller
  Replication Controller用来管理Pod的副本,保证集群中存在指定数量的Pod副本。集群中副本的数量大于指定数量,则会停止指定数量之外的多余容器数量,反之,则会启动少于指定数量个数的容器,保证数量不变。Replication Controller是实现弹性伸缩、动态扩容和滚动升级的核心。
3.Service
  Service定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。Service提供了一个统一的服务访问入口以及服务代理和发现机制,用户不需要了解后台Pod是如何运行。
4.Label
  Kubernetes中的任意API对象都是通过Label进行标识,Label的实质是一系列的K/V键值对。Label是Replication Controller和Service运行的基础,二者通过Label来进行关联Node上运行的Pod。
5.Node
  Node是Kubernetes集群架构中运行Pod的服务节点(亦叫agent或minion)。Node是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机。

?Kubernetes架构和组件
架构:

  技术分享图片
主从分布式架构,Master/Node
  - 服务分组,小集群,多集群
  - 服务分组,大集群,单集群
组件:
  Kubernetes Master控制组件,调度管理整个系统(集群),包含如下组件:
  1.Kubernetes API Server
    作为Kubernetes系统的入口,其封装了核心对象的增删改查操作,以RESTful API接口方式提供给外部客户和内部组件调用。维护的REST对象持久化到Etcd中存储。
  2.Kubernetes Scheduler
    为新建立的Pod进行节点(node)选择(即分配机器),负责集群的资源调度。组件抽离,可以方便替换成其他调度器。
  3.Kubernetes Controller
    负责执行各种控制器,目前已经提供了很多控制器来保证Kubernetes的正常运行。

   - Replication Controller
    管理维护Replication Controller,关联Replication Controller和Pod,保证Replication Controller定义的副本数量与实际运行Pod数量一致。
   - Node Controller
    管理维护Node,定期检查Node的健康状态,标识出(失效|未失效)的Node节点。
   - Namespace Controller
    管理维护Namespace,定期清理无效的Namespace,包括Namesapce下的API对象,比如Pod、Service等。
   - Service Controller
    管理维护Service,提供负载以及服务代理。
   - EndPoints Controller
    管理维护Endpoints,关联Service和Pod,创建Endpoints为Service的后端,当Pod发生变化时,实时更新Endpoints。
   - Service Account Controller
    管理维护Service Account,为每个Namespace创建默认的Service Account,同时为Service Account创建Service Account Secret。
   - Persistent Volume Controller
    管理维护Persistent Volume和Persistent Volume Claim,为新的Persistent Volume Claim分配Persistent Volume进行绑定,为释放的Persistent Volume执行清理回收。
   - Daemon Set Controller
    管理维护Daemon Set,负责创建Daemon Pod,保证指定的Node上正常的运行Daemon Pod。
   - Deployment Controller
    管理维护Deployment,关联Deployment和Replication Controller,保证运行指定数量的Pod。当Deployment更新时,控制实现Replication Controller和 Pod的更新。
   - Job Controller
    管理维护Job,为Jod创建一次性任务Pod,保证完成Job指定完成的任务数目
   - Pod Autoscaler Controller
    实现Pod的自动伸缩,定时获取监控数据,进行策略匹配,当满足条件时执行Pod的伸缩动作。
       4  etcd 一个高可用的K/V键值对存储和服务发现系统
  5  flannel 实现夸主机的容器网络的通信

       6 kubectl用于运行Kubernetes集群命令的管理工具。

  Kubernetes Node运行节点,运行管理业务容器,包含如下组件:
  1.Kubelet
    负责管控容器,Kubelet会从Kubernetes API Server接收Pod的创建请求,启动和停止容器,监控容器运行状态并汇报给Kubernetes API Server。
  2.Kubernetes Proxy
    负责为Pod创建代理服务,Kubernetes Proxy会从Kubernetes API Server获取所有的Service信息,并根据Service的信息创建代理服务,实现Service到Pod的请求路由和转发,从而实现Kubernetes层级的虚拟转发网络。
  3.Docker
    Node上需要运行容器服务。





































































k8s入门系列之介绍篇

原文链接:https://www.cnblogs.com/xkops/p/6165565.html(本文仅用于记录,方便日后自己查阅,如有侵权,请告知,将立即删除) •Kubernetes介绍1.背景介绍  云计算飞速发展    -IaaS    -PaaS    -SaaS  Docker技术突... 查看详情

k8s入门系列之介绍篇

1.背景介绍云计算飞速发展    -IaaS    -PaaS    -SaaSDocker技术突飞猛进    -一次构建,到处运行    -容器的快速轻量    -完整的生态环境    2.什么是kubernetesKubernetes(k8s)是Google开源的容器集... 查看详情

k8s入门系列之介绍篇

•Kubernetes介绍1.背景介绍  云计算飞速发展    -IaaS    -PaaS    -SaaS  Docker技术突飞猛进    -一次构建,到处运行    -容器的快速轻量    -完整的生态环境2.什么是kubernetes  Kubernetes(k8s)是Goo... 查看详情

k8s入门系列之集群安装篇(代码片段)

关于kubernetes组件的详解介绍,请阅读上一篇文章《k8s入门系列之介绍篇》Kubernetes集群安装部署•Kubernetes集群组件:  -etcd一个高可用的K/V键值对存储和服务发现系统  -flannel实现夸主机的容器网络的通信  -kube-apiserver提... 查看详情

sed修炼系列:花拳绣腿之入门篇

本文为花拳绣腿招式入门篇,主要目的是入门,为看懂sed修炼系列(二):武功心法做准备。虽然是入门篇,只介绍了基本工作机制以及一些选项和命令,但其中仍然包括了很多sed的工作机制细节。对比网上各sed相关文章以及介绍s... 查看详情

elasticsearch顶尖高手系列-快速入门篇

...、分片、副本等05.在windows上安装和启动Elasticseach06.快速入门案例实战之电商网站商品管理:集群健康检查,文档CRUD07.快速入门案例实战之电商网站商品管理:多种搜索方式08.快速入门 查看详情

openlayers4入门开发系列之前端动态渲染克里金插值kriging篇(附源码下载)(代码片段)

...网在线例子,这个也是学习openlayers4的好素材。openlayers4入门开发系列的地图服务基于Geoserver发布的,关于Geoserver方面操作的博客,可以参考以下几篇文章:geoserver安装部署 查看详情

pandas系列之入门篇

Pandas系列之入门篇简介pandas是python用来数据清洗、分析的包,可以使用类sql的语法方便的进行数据关联、查询,属于内存计算范畴,效率远远高于硬盘计算的数据库存储。另外pandas还提供了大数据存储的API——HDFStore,来对接HDF5... 查看详情

springboot系列之入门篇

...,岂不两全其美,好了,话不多讲,我们开始。SpringBoot入门在还未接触SpringBoot时,自我感觉是一个全新的框架,可能需要花费很多时间去学习,但当我了解完基础原理后,发现并不是全新学习,一切通过注解来进 查看详情

pandas系列之入门篇——hdf5

Pandas系列之入门篇——HDF5简介HDF5(层次性数据格式)作用于大数据存储,其高效的压缩方式节约了不少硬盘空间,同时也给查询效率带来了一定的影响,压缩效率越高,查询效率越低。pandasv0.20.2(含)之后的版本默认选用blosc... 查看详情

kotlin基础从入门到进阶系列讲解(入门篇)android之gson的使用(代码片段)

Kotlin基础从入门到进阶系列讲解(入门篇)Android之GSON的使用Android之GSON的使用Android之GSON的使用->返回总目录<-Google提供的GSON开源库可以让解析JSON数据的工作简单到让你不敢想象的地步项目中需要添加GSON库的依赖。编辑app/b... 查看详情

can总线学习系列之—can总线特点介绍

...,所以这样一种总线的潜力是很巨大的,接下来将写几篇入门的小文章,来介绍一下CAN的学习和开发方法,主要是配合我们的开发板,其实入门还是很容易的,通过这几篇文章如果你能建立起一个初步的概念,能够自己搭起自己... 查看详情

openlayers入门开发系列之地图导航控件篇

本篇的重点内容是利用openlayers来实现了地图导航控件功能,效果图如下:实现思路如下:创建一个地图控件基类,除了本篇的地图导航控件继承这个地图控件基类之外,后续的其他地图控件也是继承该基类地图控件基类中创建... 查看详情

springboot系列教程之编程式事务使用姿势介绍篇

SpringBoot系列教程之编程式事务使用姿势介绍篇前面介绍的几篇事务的博文,主要是利用@Transactional注解的声明式使用姿势,其好处在于使用简单,侵入性低,可辨识性高(一看就知道使用了事务);然而缺点也比较明显,不够灵... 查看详情

数据挖掘入门系列教程(四点五)之apriori算法(代码片段)

目录数据挖掘入门系列教程(四点五)之Apriori算法频繁(项集)数据的评判标准Apriori算法流程结尾数据挖掘入门系列教程(四点五)之Apriori算法Apriori(先验)算法关联规则学习的经典算法之一,用来寻找出数据集中频繁出现... 查看详情

推荐系统基础之介绍入门篇(代码片段)

大家好,我是辣条。今天给大家带来推荐系统介绍入门。目录一、推荐系统简介二、推荐系统设计2.1推荐系统要素2.2推荐系统架构三、推荐算法一推荐模型构建流程二最经典的推荐算法:协同过滤推荐算法(Collaborativ... 查看详情

云原生|k8s系列第3篇:实战kubectl创建deployment部署应用(代码片段)

...Kubectl命令。在前期的文章中,已经介绍了一些云原生入门的知识及简单实战,感兴趣的同学可以去我的云原生专栏中学习,任意门:云原 查看详情

es6从入门到精通系列学习笔记23篇(完结)

说明ES6从入门到精通系列(全23讲)学习笔记。可以自行搜索B站,有小马哥的视频学习。目录ES6从入门到精通#01:ES6介绍ES6从入门到精通#02:let和const命令ES6从入门到精通#03:模板字符串ES6从入门到精通#04&... 查看详情