k8s笔记

------------恢复内容开始------------

主要作用:部署管理集群

传统部署缺点:无法做资源隔离

虚拟化部署:优点:资源隔离,缺点:虚拟机本身的系统占用硬件资源,造成浪费

容器时代:服务器上安装docker环境,我们的应用都是以容器的形式跑在docker上的,我们的应用可以打包成镜像,镜像可以生成容器,容器可以做到资源隔离,而且本身占用少量的系统资源

官方swarm来编排服务器:缺点是比较粗糙

服务发现和负载均衡:不仅限于java应用,是更广泛级别的

存储编排:存储的位置更加灵活,随意挂载,也可以采用集群模式

调度:找到最合适的地方部署服务

自动恢复:结点不响应,再另外一个结点重新部署

水平伸缩:发现比较忙的服务,例如cpu即将耗尽的结点,然后部署多个

k8s采用的是主从方式部署的:

master组件:调度node来部署服务

node组件:具有docker环境,用来真正运行服务的

主从方式的架构:

 

 

 如果不指定镜像仓库,默认的就是dockerhup

 

 

 

apiServer用来接受外部命令

etcd用来存主结点的数据,是一个键值数据库

scheduler用来调度,例如收到部署redis的命令,命令会先存在etcd里,scheduler从etcd中获取命令后会选择一台合适的进行部署

controller:有很多种,每一种有不同的功能,例如结点控制器在结点出现问题时会进行响应

node结点:

 

 

 

kuberlet:是整个node结点的代理,保证多个容器运行在pod中构成一个功能,一个pod中可以有多个容器,也可以有一个容器,负责维护容器的生命周期,同时负责文件挂载csi和网络管理cni

docker:容器运行时环境

kube-proxy:发现和负载均衡pod

fluentd:负责整个结点的日志收集

 

 

 

 pod组织container,service组织pod,我们访问service,service通过负载均衡选择一个pod

label标签:用来做筛选

namespace用来做逻辑隔离

 

 

 具体流程:

 

 

 

 nat网卡用于访问外网

host-only用于虚拟机与主机之间互相访问

 

 

 

 

 

 

 

 

 

------------恢复内容结束------------

posted @ 2021-10-19 10:07  奔跑的粽子  阅读(39)  评论(0编辑  收藏  举报