K8S基本概念和组件
特点
- 便携性
无论公有云、私有云、混合云还是多云架构都全面支持
- 可扩展
模块化、可插拔、可挂载、可组合,支持各种形式的扩展
- 自修复
自保持应用状态、自重启、自复制、自缩放,声明式语法
组件
- etcd 保存整个集群状态,充当数据库角色,只与API Server通讯
- api server 提供资源操作的唯一入口,提供认证、授权、访问控制、API注册和发现等机制
- controller manager 负责维护集群状态,比如故障检测、自动扩容、滚动更新等
- scheduler 负责资源的调度,按照预定的策略将Pod调度到相应的机器上
- kubelet 负责维护容器生命周期,同时负责Volume和网络管理
- Container runtime 负责镜像管理以及Pod和容器运行
- kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡
scheduler和controller-manager都是通过apiservier从etc中获取各种资源状态进行相应的调度和控制操作
第三方组件
- kube-dns 负责为整个集群提供DNS服务
- Ingress Controller 为服务提供外网人口
- Heapster 提供资源监控
- Dashboard 提供GUI
组件之间的关系
所有组件均通过API Server进行通信,在生产环境中master部署为多节点
etcd主要存储机器里的信息比如集群状态,集群的各Node信息等,只有API能与其通信,应部署成多节点3-5个节点
Scheduler负责整个集群的调度,通过API Server来检测Node上Pod的状态,然后根据定义的策略来调度pod并绑定Node
Controller manager 负责Pod的控制,常见的比如定义一个Pod的relicaSet,因某些原因当前pod挂掉了,这时Controller manager自动在Node重启该Pod
kubelet是Node上的组件,检测Node上的Pod,并将状态更新到API Server
kube-proxy负责代理转发,主要控制service,将service状态更新到API Server
kubectl 集群管理组件,主要调用API Server,进行整个集群管理
K8S基本概念和组件的更多相关文章
- ASP.NET Core on K8S学习初探(2)K8S基本概念快速一览
在上一篇<单节点环境搭建>中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S ...
- k8s学习 - 概念 - master/node
k8s学习 - 概念 - master/node 在k8s中,有各种各样的概念和术语.这些概念是必须要学习和掌握的.我们先罗列下所有概念,然后再一个个看具体实例. 大概说一下这些概念: Master: ...
- k8s记录-k8s基本概念和术语
每次个节点上当然都要运行Docker.Docker来负责所有具体的映像下载和容器运行. Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态: apiserver提供了资源操 ...
- 一文讲明白K8S各核心架构组件
目录 一.写在前面 二.K8S为我们提供了怎样的能力 三.架构 3.1.MasterNode 3.2.WorkerNode 四.核心组件 4.1.ApiServer 4.1.1.概述 4.1.2.是集 ...
- k8s学习 - 概念 - Pod
k8s学习 - 概念 - Pod 这篇继续看概念,主要是 Pod 这个概念,这个概念非常重要,是 k8s 集群的最小单位. 怎么才算是理解好 pod 了呢,基本上把 pod 的所有 describe ...
- k8s学习 - 概念 - ReplicationController
k8s学习 - 概念 - ReplicationController 我们有了 pod,那么就需要对 pod 进行控制,就是同一个服务的 podv我需要启动几个?如果需要扩容了,怎么办?这里就有个控制 ...
- k8s学习 - 概念 - ReplicaSet
k8s学习 - 概念 - ReplicaSet 首先,ReplicaSet 和 ReplicationController 基本上一样,除了上篇说到的selector有不同之外,没有啥区别.(官网也是 ...
- k8s学习 - 概念 - Deployment
k8s学习 - 概念 - Deployment 有了 ReplicaSet 还需要有 Deployment 的原因是希望有一个控制器能管理部署更新时候的版本控制问题.一个 Deployment 可以管 ...
- K8s 一、(1、容器基本概念 2、k8s基本概念 )
1.容器基本概念 容器其实就是一种特殊的进程,容器是一个 '单进程'模型. Namespace :隔离 Namespace 技术实际上修改了应用进程看待整个计算机"视图",即它的& ...
- k8s重要概念及部署k8s集群(一)--技术流ken
重要概念 1. cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用. 2.master master是cluster的大脑,他的主要职责是调度,即决 ...
随机推荐
- Mac安装MySQL详细教程
1.MySQL安装包下载 还没下载的话请前往官网下载 我们可以看到这里有两个不同架构的dmg的安装包,如果不知道自己电脑是ARM还是X86的话可以打开终端输入:uname -a 或者 uname -a ...
- NoSQL和SQL的区别、使用场景与选型比较
什么是NoSQL NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,它具有非关系型.分布式.不提供ACID的数 ...
- Golang-流程控制4
http://c.biancheng.net/golang/flow_control/ Go语言if else(分支结构) 在Go语言中,关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句,如果 ...
- kafka的server.properties文件描述
版本:基于 kafka 2.4.0 http://archive.apache.org/dist/kafka/2.4.0/kafka_2.11-2.4.0.tgz # Licensed to the ...
- .net core2.2版本下载地址
下载地址: https://download.visualstudio.microsoft.com/download/pr/279de74e-f7e3-426b-94d8-7f31d32a129c/e ...
- C 国家名字按字母顺序排序
问题 输入五个国家的名字,并按字母的顺序排列输出 分析 知识点 strcpy(1,2):将字符串2复制到字符数组1中 strcmp(1,2):比较字符串大小 二维数组 代码 #include & ...
- Java线程的安全问题
当多个线程同时访问同一资源(变量,文件,记录),如果只有读操作,则不会有线程安全问题,如果有读和写操作,则会产生线程安全问题,必须保证共享数据同一时刻只能有同一个线程操作.Java采取的办法是sync ...
- Linux中ARP学习和老化机制
本文分享自天翼云开发者社区<Linux中ARP学习和老化机制> 作者:云云生息 ARP学习和老化机制在Linux网络通信中起着至关重要的作用.ARP(Address Resolution ...
- WebClient 获取不到请求体如何破解?
起初在开发过程中,我遇到了一个困扰我的问题:当我将对象转换为JSON时,得到的结果与最终传给第三方接口的请求体并不一致.这个问题导致我在进行加密操作时出现了错误,因为加密的过程是基于请求体的,而请求体 ...
- Java中int、Integer、long、Long、double、Double和BigInteger的关系
Java中int.Integer.long.Long.double.Double和BigInteger的关系 在Java中,int.Integer.long.Long.double.Double和Bi ...