关于Docker和k8s来源:
https://zhuanlan.zhihu.com/p/53260098
k8s架构
一个k8s系统通常称为一个k8s集群,其包括两部分:
- 一个Master节点(主节点):负责管理和控制
- Master节点包括API Server、Scheduler、Controller manager、etcd。
- API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
- Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
- Controller manager负责管理控制器,相当于“大总管”。
- 一群Node节点(计算节点):工作负载节点
- Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选)、Pod。
- Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有
- 一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。
- Docker,创建容器的。
- Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
- Kube-proxy,主要负责为Pod对象提供代理。
-
Fluentd,主要负责日志收集、存储与查询。
k8s网络
- https://juejin.im/post/5deb117e518825123b1a8847(较好)
- https://www.cnblogs.com/hongdada/p/12391803.html
- https://zhuanlan.zhihu.com/p/75791239
- https://www.infoq.cn/article/ERuLek5gPfUxdHC5cMTO
k8s滚动升级策略
k8s健康检查
k8s服务注册与发现
k8s亲和性设置
https://www.jianshu.com/p/61725f179223
k8s的存储
sidecar&服务网格&微服务
- sidecar
- servicemesh
- 微服务
VM与容器的区别,隔离机制
- 虚拟机通过虚拟化来模拟真实计算环境,以执行在真实计算机上运行的应用程序。虚拟机的优点是可创建完全隔离的环境并实现完全虚拟化,每个虚拟机都有对应的 CPU 虚拟化。其缺点也很明显,重,虚拟机通常在繁重的隔离进程中执行,因为需要 Guest OS;性能一般,当虚拟机无法直接访问硬件(托管的虚拟机管理程序)时,需要在拥有一个层,这会明显降低性能
- 容器是与主机共享资源的独立进程。与虚拟机不同,容器不会虚拟化硬件,也不需要客户操作系统。在容器中,运行应用程序所需的必要组件都打包为单个映像,可重复使用。执行映像时,它在隔离环境中运行,不共享内存、CPU 或主机操作系统磁盘。这可以保证容器内的进程无法监视容器外的任何进程。
- https://www.cnblogs.com/pangguoping/articles/5515286.html
- https://www.infoq.cn/article/UHoje8h4FOMfOMsoO_V7
文章参考
https://www.infoq.cn/article/KNMAVdo3jXs3qPKqTZBw
https://www.infoq.cn/article/te70FlSyxhltL1Cr7gzM
https://www.codercto.com/a/84952.html
https://juejin.im/post/5c8231486fb9a049ca3825b0
https://cloud.tencent.com/developer/article/1444651