架构

k8s的物理架构师master/node模式。集群至少需要一个master结点和多个工作结点,Master节点是集群的控制节点,负责整个集群的管理和控制,主要用于暴露API、调度部署和对节点进行管理。工作节点主要是运行容器的。
常见的几种架构:单master多worker;多master单worker;多master多woker
1 单master多woker

2 多master

常用组件

1 master常用组件:
kubectl:管理k8s命令行工具
etcd:高可用的键值数据库,存储k8s资源状态信息和网络信息
api server:提供k8s api,是整个系统对外接口
scheduler:负责k8s集群pod调度
control-manager:集群内部的管理控制中心
2 node常用组件:
kubelet:定期上报结点信息到api server
kube-proxy: 提供网络代理和负载均衡
cordns: DNS服务
3 公共常用组件:
calico:开源网络和网络安全方案。用于容器,虚拟机和宿主机连接
Docker:容器管理
组件如下:

核心资源

1 Pod
k8s最小调度单元,通过yaml配置来创建
2 Label
标签,可以对k8s资源对象打上标签,分组管理,如下

3 Deployment
副本控制器,管理Replicaset和Pod副本控制器。

4 Service
服务,pod是有生命周期的,重启ip可能发生变化。
常见的用法如下: