本章節首先就基礎組件、集羣基礎對象和控制器進行了詳細的介紹和說明,而後辨析了集羣網絡中的三種網絡和專有名詞,最後關於新手部署測試和生產環境的部署要點進行了概括說明。前端
如圖所示,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