K8s(1)

K8s的架构还是采用的主从架构。其中有一个Master,它会被用来连接Kubectl,实现REST API,以及scheduler(bind pod to node视图)的实现。加上Controller Manager(CM,监控cluster是否达成指定状态的LOOP,参见)和etcd记录持久化状态数据。

而在slave端上,有kubelet运行,和主端进行通信。Kubelet就控制着各个POD(容器的生命管理,volume,network)。POD是K8s运行的最小单位,运行1个或多个container。

在每个节点上,kube-proxy负责cluster的服务发现和负载均衡。比如TCP负载均衡。

分层原则

应用层部署的是有状态和无状态应用,它们使用了K8s的执行环境(即核心层)
管理层是自动化和管理策略

API-driven

每个功能的API对象采用Declarative接口。使对象达成最后的状态。

Federation

不同的K8s集群采用Federation。Federation API server会在子集群建立对应的API对象。然后再做负载均衡。

Resources

Container Runtime interface (container),Container network interface(网络), Container Storage interface (存储)与其它Container orchestration system共享的标准

只要满足标准,你可以写自己的插件。Flannel就是满足CNI的插件。

所以你看,K8s就是很厉害,它同时定义了计算,网络,存储这3大部件的管控面标准

container

基本上会采用Docker,也可以使用其它但可能不会。

CRI的讨论在container系列中提到了。

Network

比较复杂,可能要另外讨论。

Storage

PersistentVolume和PVClaim是K8s提供存储的方法。通过这种方法,动态的来提供存储服务。
会另外讨论CSI。

源码分析

看到一个公众号CloudGeek的
https://farmer-hutao.github.io/k8s-source-code-analysis/

你可能感兴趣的:(introduction)