本章节首先就基础组件、集群基础对象和控制器进行了详细的介绍和说明,而后辨析了集群网络中的三种网络和专有名词,最后关于新手部署测试和生产环境的部署要点进行了概括说明。前端
如图所示,kubernetes集群中主要分为三个组件:node
除了上面提到的基础组件以外,kubernetes还提供了丰富的基础对象(Objects),如:nginx
Pod、service、NameSpace和Volume
另外,kubernetes还包含了更高一层的抽象,称之为控制器(Controllers)。
控制器创建在基础对象之上,并提供了额外、丰富且方便的功能,他们包括:git
ReplicaSet、Deployment、DaemonSet、StatefulSet、Job等
如图所示,kubernetes集群可分为三种网络:节点网络、Pod网络和Service网路。github
node ip: 配置在节点的网卡上 pod ip: 配置在容器的虚拟网卡上 service ip(cluster ip): 不进行配置,只存在于iptables和DNS的解析记录中
测试环境: 可使用单Master节点,单etcd实例 Node节点按需配置 Nfs或glusterfs 生产环境: 高可用etcd集群(需按期备份),创建三、5或7个节点 高可用Master: kube-apiserver无状态,可多实例部署: 借助于Haproxy、nginx或keepalived进行vip流量实现多实例冗余 kuber-scheduler和kuber-controller-manager: 只能有一个活动实例,但能够有多个备用(主备模式) 多Node主机,数量越多,冗余能力越强; Ceph、glusterfs、iSCSI、FC SAN及各类云存储等。
本文原址位于个人Github,我会陆续将全部专题更新过来,其中包括docker、k8s、ceph、istio和prometheus,旨在分享云原生中大而全的技术知识点和实操过程,若是对你有用,请follow、star个人github,这也是我更新、分享下去的动力,谢谢~docker