k8s(自写)
kubernetes
k8s是什么?Kubernetes是什么?架构是怎么样的?6分钟快速入门_哔哩哔哩_bilibili
kubernetes是google开源神器,介于应用服务和服务器之间,能够通过策略协调和管理多个应用服务,只需要一个yaml文件配置,定义应用的部署顺序等信息,就能自动部署到应用到各个服务器上,能让它们自动扩缩容,而且做到挂了后在其他服务器上自动部署应用
kubernetes架构原理
k8s将服务器划分为两部分
控制平面负责控制和管理各个Node,而Node则负责实际运行各个应用服务
控制平面内部组件
以前需要登录到服务器手动执行各种命令,现在只需要调用k8s提供的api接口就能操作这些服务资源,这些接口都是由api-server组件提供
以前需要看看哪台服务器的cpu和内存资源充足,然后才能部署应用,现在这部分由schedule调度器来完成,
找到服务器后,以前我们会手动创建关闭服务,现在这部分功能,由控制管理器来负责
Node
Node是实际的工作节点,可以是裸机服务器,也可以是虚拟机,会负责实际运行各个应用服务,多个应用服务共享一台Node上的内存和cpu等计算资源
以前需要上传代码到服务器,而k8s只需要将服务代码打包成container Image(容器镜像),就能一行命令将它部署
每个应用服务都可以认为是一个container,并且大多数时候会搭配一个日志收集器container或监控采集器container
k8s可以将pod从某个Node调度到另一个node,还能以pod为单位去做重启和动态扩缩容的操作
kubelet主要负责监控和管理Pod
kubeproxy负责Node的网络通信功能,外部请求可以通过它转发到pod中
cluster
kubectl
命令行工具,我们只用执行命令,他会调用k8s的api
总结
k8s本质就是应用服务和服务器之间的中间层,通过暴露一系列api能力,让我们简化服务的部署运维流程