基本对象概念
基本对象
pod
pod是最小部署单元,一个pod有一个或多个容器组成,pod中容器共享存储和网络,在同一台docker主机上运行
service
service是一个应用服务抽象,定义了pod逻辑集合和访问这个pod的策略
service 代理pod集合对外表现为一个访问入口,分配一个集群ip地址,来自这个ip的请求将负载均衡转发到后端pod容器中
service通过lable selector选择一组pod提供服务
volume
数据卷,共享pod容器使用的数据
namepsace
命名空间将对逻辑上分配到不同的namespace,可以是不同的项目,用户等分区管理,并设置控制策略,从而实现多租户
lable
标签用于区分对象(pod,service)
系统架构及组件供能
master组件
kube-apiserver
kubernetes API,集群的统一入口,各组件协调者,以http api提供接口服务,所有对象资源的增删改查和监听操作都交给apiserver处理后再提交给etcd存储,
kube-controller-manager
处理集群中常规的后台任务,一个资源对应一个控制器,而controlmananger就是负责管理这些控制器
kube-scheduler
根据调度算法为新创建的pod选择一个node节点
node组件
kubelet
kubelet 是master在node节点上的agent, 管理本机运行容器的声明周期,比如创建容器,pod挂载数据卷
kube-proxy
在node节点上实现pod网络代理,维护网络规划和4层负载均衡
集群环境规划和安装docker
版本需求
操作系统:centos7.6
kubernetes: 1.9
Docker: 18
etcd 3.0
主机三台:master node1 node2
master:apiserver manager schedler etcd
node1: etcd kublet kube-proxy docker flannel
node2: etcd kublet kube-proxy docker flannel
管理selinux、firewalld、 配置主机名