首页 > 其他分享 >K8S核心概念以及部署

K8S核心概念以及部署

时间:2023-06-05 20:23:00浏览次数:46  
标签:容器 控制器 服务 部署 核心 接口 Master pod K8S

架构以及核心组件介绍:
Master
	- API Server (接口中心) j接口服务,基于rest风格开放的k8s接口服务
	- kube Controller Manager:管理各个类型的控制器,针对k8s中的各种资源进行管理
		- node controller节点控制器:负责在节点出现故障时进行通知和响应
		- job controller 任务控制器:监测代表一次性任务的job对象,然后创建pods来运行这些任务直至完成
		- EndpointSlice Controller 端点分片控制器:填充端点分片对象(以提供service 和pod之间的连接)
		- ServiceAccount Controller 服务账号控制器:为新的命名空间创建默认的服务账号
	- cloud Controller Mannager :云控制器管理器,第三方云平台提供的控制器api对接管理功能
	- kube Scheduler 调度器 负责将pod基于一定算法将其调用到更合适的节点node上
	- ETCD:kv分布式数据库,提供了基于raft算法实现自主的集群高可用
Node:
	- Kubelet:负责pod的生命周期、存储、网络
	- Kube-Proxy:网络代理 负责service的服务发现以及负载均衡(基于iptables实现)
	- Container Runtime:基于docker|continerd|CRI-O的容器运行时环境。(以docker为例,每个节点需要安装docker)
附加组件:
kube-dns:负责为整个集群提供DNS服务 (服务名:ip)
igress controller:为服务提供外网接口
Prometheus:监控
Dashboard UI:图形界面操作

核心概念:
	POD:
		无状态服务:(如 nginx,不会存储数据到磁盘)
			- ReplicationController(RC 新版本废弃):针对某一单一的pod动态更新pod副本数,扩容缩容
			- ReplicaSet(RS):动态更新pod副本数,扩容缩容,可以通过selector来选择对哪些label的pod生效,可以指定单个或者一组pod,比RC更加灵活
			- Deployment :针对RS的更高层次的封装,提供了更丰富的部署相关功能(自动创建RS/pod,滚动升级/回滚,平滑扩容和缩容,暂停与恢复deployment)
		有状态服务:(如 mysql redis 会存储数据到磁盘)
			- StatefulSet:稳定持久化存储,稳定的网络标志,有序部署,有序扩展,有序收缩,有序删除(例如,主从顺序)
		守护进程:
			- DeamonSet:保证在每个node上面都运行一个容器副本,常用来,日志收集logstash,系统监控:Prometheus,系统程序:proxy,dns等
		任务/定时任务
			- Job
			- CronJob
	service : pod与pod之间暴露端口的网络通讯
	ingress :将k8s内部服务暴露给外网访问的服务
	volume:数据卷,共享pod中容器使用的数据,用来持久化数据,比如数据库数据
	CSI:容器标准化接口,暴露容器内存储的接口标准,volume 插件实现这套接口	
	configmap:暴露容器内配置,外部修改,自动更新部署
	downwardapi:共享pod信息给里面的容器访问


k8s调用流程:
1.用户通过 kubectl(命令行工具)/Dashboard(可视化界面) 来与Master(api server)通讯进行操作,例如部署新应用
2.Master(api server) 接收到请求,并将其存储到Etcd
3.Master(Watcher和controllers)通过检测到etcd资源变化,进行操作
4.Master(ReplicaSet watcher/controller)检测到新的app,创建新的pod达到期望的实例个数
5.Master(Scheduler)将新的pod分配到Node(Kubelet)
6.Node(Kubelet)检测到pods,通过容器运行时部署它们,回传信息给Master(api server)
7.Node(Kubeproxy) 管理pod网络,服务发现 负载均衡

标签:容器,控制器,服务,部署,核心,接口,Master,pod,K8S
From: https://www.cnblogs.com/lihuanghao/p/17458836.html

相关文章

  • 2023年最新sentinel-dashbord部署安装(保姆级别)
    目录Sentinel-dashboard安装下载前景提要一、构建环境二、下载安装与配置1、进入百度搜索:Sentinel或访问地址:面向云原生微服务的高可用流控防护组件2、进入git主界面,然后找到如图位置(此处为各个发布版本)。3、看到版本信息,找到下载的位置进行下载就可以了。4、下载后在本地的盘中......
  • 苹果MacOS系统傻瓜式本地部署AI绘画Stable Diffusion教程
    StableDiffusion的部署对小白来说非常麻烦,特别是又不懂技术的人。今天分享两个一键傻瓜式安装包,对小白来说非常有用。下面两个任选一个安装就可以。一、DiffusionBee简单介绍DiffusionBee是基于stablediffusion的一个安装包,有图形界面,直接安装就能使用,安装完成后会自行下载两......
  • 缩小50%,Mini版T3/A40i核心板,让您的设备更小巧!
    小尺寸核心板给用户带来何种价值?创龙科技常收到用户对于小尺寸核心板的需求反馈,尤其在电力数据采集器、电力DTU、电力通讯管理机、运动控制器、工业HMI、工业网关等工业设备中。小尺寸核心板3大优势将帮助用户终端产品灵巧应用,其分别体现在终端产品的外观、硬件设计、可靠性......
  • 嵌入式知识分享:Docker容器部署方法说明
    前 言本指导文档适用开发环境:Windows开发环境:Windows764bit、Windows1064bitLinux开发环境:Ubuntu18.04.464bit虚拟机:VMware15.1.0Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦......
  • 5分钟部署 Apinto 开源网关
     Apinto 的开源网关符合我的需求,下面我将演示如何部署这样一个开源网关。Apinto功能架构图开始部署部署资源设备推荐配置设备数量部署对象4核8G,250G磁盘空间,2.5GHz1控制台程序、Mysql数据库、Redis数据库4核8G,250G磁盘空间,2.5GHz2网关节点部署架构控制台程序、mysql数据库、redis......
  • nuxt部署时路由增加目录层次
    ......
  • Nginx 安装部署
    Nginx入门 简介简介自己看官网咯!懒得写了......
  • 测试同学职场成长的核心认知
    几个月前给某国企技术团队做了以“全链路质量保障体系建设”为主题的内训,内容结合了我做软件测试工作以来所有的思考总结和工程实践。昨晚面向知识星球内部同学,将这门课程免费进行了第二次分享。第一课,我重点分享了对质量保障的理解和定位,以及线上质量保障体系的重要性。第二课......
  • ChatGLM-6B int4的本地部署与初步测试
    0.前言本次笔记是对于实习初期,初次接触到LLM大模型的一些记录。内容主要集中在对于环境的配置的模型的运行。本人的硬软件配置如下:GPU:RTX30606GB显存内存:32GB系统:Windows111.Anaconda3+Pycharm的环境搭建我使用的是Anaconda3+PyCharm的环境搭建。首先下......
  • Docker-compose一键部署安装confluence+sql数据库(附数据迁移方法)
    Docker-compose部署安装confluence并进行数据迁移 目录Docker-compose部署安装confluence并进行数据迁移一、部署confluence和postgresql二、激活confluence三、confluence数据迁移恢复 一、部署confluence和postgresql下载confluence镜像和postgresql镜像资......