k8s集群架构和概念简述

k8s集群一般由master节点、node节点、etcd数据库、独立存储组成。
生产环境总,master节台至少有3台,etcd可以安装在单独的服务器上,也可以安装在master节点上。etcd是保存集群状态的数据库。

k8s调度的最小逻辑单元是pod,而pod由一个或多个业务容器和一个根容器(Pause 容器)组成,主要有4类pod:
1、kube-system空间内的系统pod
2、在master上手动创建的pod
3、在master上由各控制器自动创建的pod
4、在node上手动创建的不受master管理的静态pod

master节点上的主要组件包括:
1、kube-apiserver:集群控制的入口,提供 HTTP REST 服务
2、kube-controller-manager:Kubernetes 集群中所有资源对象的自动化控制中心
3、kube-scheduler:负责 Pod 的调度
4、etcd数据库(也可以安装在单独的服务器上)

node节点上的主要组件包括:
1、kubelet:负责 Pod 的创建、启动、监控、重启、销毁等工作,同时与 Master 节点协作
2、kube-proxy:实现 Kubernetes Service 的通信和负载均衡
3、容器引擎(Container runtime)如docker

所有节点需要安装的插件有:
1、域名解析插件coredns
2、网络插件如flannel

Controller Manager管理的控制器有多个:
1、pod控制器
2、node控制器
3、namespace控制器
4、service控制器
5、endpoint控制器
6、resourcequota控制器等
pod控制器分类:

1、ReplicationController
2、ReplicaSet
3、Deployment
4、StatefulSet
5、DaemonSet
6、Job,Cronjob
7、HPA

k8s中的资源对象包括:
1、工作负载类:pod及pod控制器
2、发现和负载均衡类:service,endpoint,ingress
3、配置和存储类:volume,configmap
4、集群类:namespace,node,role,clusterrole,rolebinding,clusterrolebinding
5、元数据类:HPA,pod模板,limitrange

k8s中有3层网络:
1、节点网络
2、service网络(集群网络)
3、pod网络

k8s中的通信:
1、同一个pod内的容器间的通信
2、各pod之间的通信
3、pod和service之间的通信
4、外部client和pod之间的通信

原文地址:https://blog.51cto.com/dongdong/2430416

时间: 2024-11-08 00:28:16

k8s集群架构和概念简述的相关文章

k8s集群架构及基本操作

首先在k8s集群中要知道有两个部署工具:kubeadm:自动化部署k8s集群的工具.kubectl: k8s命令行工具,用于接收用户输入的指令. kubernetes是由什么组成的? 在硬件级别,一个kubernetes集群由很多节点组成,这些节点被分成以下两种类型: 主节点:它承载着kubernetes控制和管理整个集群系统的控制面板 工作节点: 它们运行用户实际部署的应用. 控制面板(master) 控制面板用于控制集群并使它工作.它包含多个组件,组件可以运行在单个主节点上或者通过副本分别部

(一)Kubernetes/K8s 集群架构与组件

K8s相关概念:master/nodemaster Master 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行,实现高可用,可以运行多个 Master.运行的相关组件:Kubernetes API Server(kube-apiserver),集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储.Kubernetes Controller Manager,处理集群中常规后

k8s集群搭建

k8s简介 kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制 k8s的资源对象 master kubernetes里的master指的是集群控制节点,在每个kubernetes集群里都需要有一个master来负责真个集群的管理和控制,在master上运行着以下关键进

k8s集群之日志收集EFK架构

参考文档 http://tonybai.com/2017/03/03/implement-kubernetes-cluster-level-logging-with-fluentd-and-elasticsearch-stack/ https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch https://t.goodrain.com/t/k8s/242 http://logz

部署K8S集群

1.Kubernetes 1.1.概念 kubernetes(通常称为k8s)用于自动部署.扩展和管理容器化应用程序的开源系统.它旨在提供“跨主机集群的自动部署.扩展以及运行应用程序容器的平台”.支持一系列容器工具  ,包括Docker等. 1.2.特点 1)可移植:支持公有云.私有云.混合云.多重云 2)可扩展:模块化.插件化.可挂载.可组合 3)自动化:自动部署.自动重启.自动复制.自动伸缩/扩展 4)快速部署应用,快速扩展应用 5)无缝对接新的应用功能 6)节约资源.优化硬件资源的使用 2

K8S简介+CentOS7 部署K8S集群

一.前言 Kubernetes(简称K8S)是开源的容器集群管理系统,可以实现容器集群的自动化部署.自动扩缩容.维护等功能.它既是一款容器编排工具,也是全新的基于容器技术的分布式架构领先方案.在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等功能,提高了大规模容器集群管理的便捷性.[Kubernetes是容器集群管理工具] 二.Kubernetes的架构图 三.重要概念 3.1.cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运

MongoDB分片存储的集群架构实现

MongoDB分片存储的集群架构实现 如果需要存储大量数据,或者系统的读写吞吐量很大的时候,单个server就很难满足需求了.这个时候我们可以使用MongoDB的分片机制来解决这些问题. 分片的基本概念 分片(sharding)是一种水平扩展(horizontal scaling)的方式,把一个大的数据集分散到多个片服务器上,所有的片服务器将组成一个逻辑上的数据库来存储这个大的数据集.分片对用户(应用层)是透明的,用户不会知道数据很被存放到哪个片服务器上. 这种方式有两个好处: 分片之后,每个片

典型的集群架构模型

在这个开源的世界,实际上摆在我们面前的方案有很多.很多时候连架构师都难以选择.下面介绍三种典型的集群架构模型. 重客户端系 优势: 1. 注册中心作为协调器,客户端和服务端直连,消费者和提供者只在服务启动时或者服务发生变化时才依赖注册中心,其余时间注册中心出现任何问题,服务发生变化之前都不会影响调用,注册中心压力较小: 2. 客户端做负载均衡,生产者和消费者直连,中间无性能损耗: 3. SDK的方式,显然易用性得到保障. 劣势: 1. 重客户端,以SDK的方式侵入系统.如果SDK升级,会比较麻烦

【MySQL大系】《Mysql集群架构》

原文地址(微信):[技术文章]<Mysql集群架构> 本文地址:http://www.cnblogs.com/aiweixiao/p/7258444.html 点击关注微信公众号 1.主要内容 1)mysql的架构,锁,最佳实践,事务 2)mysql的命令行,主从复制,索引,数据备份/恢复 3)mysql的集群,mysql的负载均衡,监控,mysql proxy 4)  mysql的MMM架构,mysql 的源码,DBA MySQL-从删除到跑路 2.具体内容 2.1)[架构]: [架构图]: