织梦网站普通地图插件,网站开发 实训 报告,企业门户网站 php,抖音同城推广怎么弄k8s:
kubernets:8个字母省略#xff0c;就是k8s.
自动部署#xff0c;自动扩展和管理容器化的应用程序的一个开源系统。
k8s是负责自动化运维管理多个容器化程序的集群#xff0c;是一个功能强大的容器编排工具。
以分布式和集群化的方式进行容器管理。
1.20面试版本
…k8s:
kubernets:8个字母省略就是k8s.
自动部署自动扩展和管理容器化的应用程序的一个开源系统。
k8s是负责自动化运维管理多个容器化程序的集群是一个功能强大的容器编排工具。
以分布式和集群化的方式进行容器管理。
1.20面试版本
k8s是google的borg系统作为原型后期经由go语言编写的开源软件。
Kubernetes官网
https://github.com/kubernetes/kubernetes源码包注册账号 docker微服务可以满足微服务使用那么为什么还要使用k8s呢。
1传统的部署方式一般意义上的二进制部署安装-运行-运行维护需要专业的人员如果主力工作还需要人工重新拉起来。而且如果业务量增大子女水平的拓展在部署一个。
2容器化我可以用dockerfile编写好自定义容器随时基于镜像都可以运行。数量少还能管的来数量一旦太多管理起来太复杂。而且docker一般是单机运行没有高可用。 k8s的作用: 简单高效的部署容器化的应用。
1、解决了docker的单机部署和无法集群化的特点
2、解决了随着容器数量的增加对应增加的管理成本。
3使容器的高可用提供了一种容器的自愈机制
4解决了容器没有预设模板以及无法快速大规模部署。以及大规模的容器调度。
5k8s提供了集中化配置管理的中心。
6解决了容器的生命周期的管理工具。
7提供了图形化工具可以用图形化工具对容器进行管理。 k8s是基于开源的容器集群管理系统在docker容器技术的基础之上。
为容器化的集群提供部署运行资源调度,服务发现动态伸缩等-系列完整的功能 大规模容器管理
1对docker等容器技术从应用包----部署----运行----停止---销毁全生命周期管理
2集群方式运行跨机器的容器管理
3、解决docker的跨机器运行的网络问题
4、k8s可以自动修复使得整个容器集群可以在用户期待的状态下运行。 k8s的特性
1弹性收缩可以基于命令或者图形化界面基于cpu的使用情况自动的对部署的程序进行扩容和缩容以最小的成本运行服务。
2自我修复节点故障时重新启动失败的容器替换和重新部署。
3服务发现和负载均衡k8s为多个容器提供一个统一的访问入口内部地址和内部的DNS名称自动负载均衡关联的所有容器 4自动发布和回滚k8s采用滚动的策略更新应用。如果更新过程中出现问题可以根据回滚点来进行回滚。 5集中化的配置管理和密钥对管理
k8s集群内的各个组件都要进行密钥对验证的但是k8s的安全性不够核心的组件不建议部署自定义应用。
6存储编排
一自动化的把容器部署在节点上。
二可以可以通过命令行或者yml文件自定义pod实现指定节点部署。也可以通过网络存储NFS gfs
7任务进行批次处理。提供一次性的任务定时任务满足需要批量处理和分析的场景。 k8s的核心组件面试题
1kube-APIserver: k8s集群之中每个组件都要靠密钥来进行验证组件之间的通信apiserver。API是应用接口服务k8s的所有资源请求和调用操作都是kube-apiserver来完成。
所有对象资源的增删改查和监听的存在都是kube-apiserver处理完之后交给etcd来进行。apiserver是所有请求的入口服务apiserver接受k8s的所有请求命令行和图形化界面然后根据用户的具体请求通知对应的组件展示或者运行命令。
apiserver相当于整个集群的大脑。 2kube-controller-manager运行管理控制器。是k8s集群中处理常规任务的后台线程。是集群中所有资源对象的自动化控制中心。一个资源对应一个控制器。
2.1node controller节点控制器负责节点的发现以及节点故障时的发现和响应。
2.2replication controller副本控制器控制关联pod的副本数可以随时扩缩容。
2.3endpoints controller端点控制器监听service和对应的副本变化。端点就是服务器暴露出的访问点。要访问这个服务必须要知道他的endpoints。就是内部每个服务的ip地址端口
2.4service accountje 和 roken controllers 服务账户和令牌控制
为命名空间创建默认账户和API访问令牌。
2.5resourcequota controller资源控制器可以对命名空间的资源使用进行控制。
2.6namespace controller命名空间的控制器管理命名空间的生命周期。namespace.访问和控制不同的命名空间。
2.7service controller服务节点控制器k8s集群和外部的主机之间的接口控制器。
相当于中枢神经 3kube-scheduler资源调度组件根据调度算法为新创建的pod选择一个合适的node节点。可以理解为k8s的所有node节点的调度器部署和调度node。
预先策略人工定制指定的node节点上部署
优先策略限制条件
根据调度算法选择一个核数的nodenode的节点的资源情况node的资源控制情况等等选一个资源最富裕, 负载最小的node来部署一般来说默认策略即可。 4ETCD: . k8s的存储服务etcd分布式键值存储系统(key:value) ,k8s的关键配置和用户配置,先通过APIserver调用etcd当中的存储信息然后再实施。(这个集群当中能对etcd存储进行读写权限的只有APl-server.)
四大组件一般来说在主节点上。 node组件
1kubeletnode节点的监视器以及于MASTER节点的通讯器也可以理解为master在node节点上的眼线。
kubelet会定时向API server汇报自己的node上的运行服务状态apl-server会把节点状态保存etcd存储当中。
接受来自master节点的调度命令。
如果发现自己的状态和matser节点的状态不一致调用docker的接口同步数据。
对节点上容器的生命周期进行管理保证节点上的镜像不会占满磁盘空间退出的容器资源进行回收。 2kube-proxy
实现每个node节点上的pod网络代理。负责节点上的网络规划和四层负载均衡工作。负责写入iptables快淘汰ipv4实现服务映射。
pod不是容器是基于容器来创建的一个节点。 kupe-proxy本身不直接提供网络proxy是service资源的载体。 kube-porxy:实际上代理的是pod的集群网络虚拟网络
k8s的每个节点上都有一个kube-proxy组件。 3docker容器引擎运行容器负责本机的容器创建和管理。
k8s要创建pod时kube-scheduler调度到节点上node节点节点上的kubelet只是docker启动特点的容器。
kubelet把容器的信息收集发送到主节点上。只需要在主节点发布指令节点上的kubelet就会指示docker拉取镜像启动或者停止容器。 4pod 运行在节点上的。是k8s当中创建或者部署的最小/最简单的基本单位一个pod代表集群上正在运行的一个进程。 资源存放的东西。
每一个都是一个pod是含有3个副本每一个副本使用的是同一个镜像
只是基于容器创建的
在k8s当中不直接和容器打交道
详细查看可以看到容器 声明基于deployment创建的pod,可以使用的对外端口。
deployment无状态应用部署作用就是管理和控制pod以及replicaset运行几个容器。管控他的运行状态
replicaset保证pod的副本数量受控于deplayment。
在k8s中部署服务实际上就是poddeployment部署的服务就是podrereplicaset的就是来调用pod的容器数量。可以保证pod的不可重复性。在当前命名空间不能重复。不同命名空间可以重复。 官方推荐使用deployment进行服务部署。
daemonset确保所有节点运行同一类的pod。
statefulset有状态应用部署。
job可以在pod中设置一次性任务运行完即退出。
cronjob一直在运行的周期性任务。 service
在k8s集群当中创建一个pod之后都会在其中运行的容器分配一个集群内的IP地址由于业务的变更容器可能会发送变化IP地址也会发生变化service的作用就是提供整个pod对外统一的ip地址。
service就是一个网关路由器通过赋权service就可以访问内部的容器集群。
service能实现负载均衡和代理-----kube-proxy----来实现负载均衡
service是k8s微服务的核心屏蔽了服务的细节统一的对外暴露的端口真正实现了微服务。
service的流量调度userspace用户空间废弃iptables即将废弃ipvs目前1.20都用ipvs label标签k8s的特殊管理方式用于分类管理资源对象。
可以用于 node pod service namespace
lable标签可以用户自定义。
lable选择器等于不等于。使用定义的标签名。 面试题
ingressk8s集群对外暴露提供访问的接口属于应用层7七层代理转发的是http请求http/https
service是四层装发转发的是流量。 namespace在k8s上可以通过namesapce来实现资源隔离项目隔离。
通过namespace可以把集群化分为多个资源不可共享的虚拟集群组。
不同的命名空间的资源名称可以重复的。
结构