Kubernetes簡介數據庫
爲何要用k8s?安全
容器間(Docker)在誇主機通訊時,只能經過在主機作端口映射(DNAT)來實現,這種方式對於不少集羣應用來講及其不方便。會影響總體處理速度,因此引入k8s使用Pod來進行管理容器間(Docker)的集羣,使其更易於通訊。網絡
Kubernetes Google公司開發 10年容器化基礎架構 基於borg使用Go語言進行改寫架構
特色:負載均衡
一、輕量級:消耗資源小框架
二、開源,不收費運維
三、彈性伸縮學習
四、負載均衡 IPVSspa
學習路徑及所需掌握內容插件
介紹說明:k8s的前世此生 k8s框架 k8s關鍵字含義
基礎概念:什麼是Pod? 控制器類型 k8s網絡通信模式
Kubernetes部署安裝:構建k8s集羣
資源清單:掌握資源清單的語法 編寫Pod 掌握Pod的生命週期
Pod控制器:掌握各類控制器的特色 以及 使用定義方式
服務發現:掌握SVC原理及其構建方式
存儲:掌握各類控制器的特色 而且 可以在不一樣環境中選擇合適的存儲方案
調度器:掌握調度器原理 可以根據要求把Pod定義到想要的節點運行
安全:集羣的認證 鑑權 訪問控制 原理及其流程
HELM:相似Linux yum 掌握HELM原理 HEML模板自定義 HELM部署一些經常使用插件
運維:修改Kubeadm達到證書可用期限爲10年 可以構建高可用的Kubernetes集羣
Kubernetes架構
服務分類:
有狀態服務:DBMS 等必須持久跟進的服務
無狀態服務:LVS Apache 等
高可用集羣副本最好是 >= 3 的奇數個
插件介紹
MASTER:
Api Server:全部服務訪問的統一入口
ControllerManager:維持副本指望數目
Scheduler:負責接受任務,選擇合適的節點進行分配任務
Etcd:鍵值對數據庫,存儲K8S集羣的全部重要信息(持久化)
NODE:
Kubelet:直接跟容器引擎(Docker)交互實現容器的生命週期管理
Kube-Proxy:負責寫入規則至iptables或IPVS實現服務映射訪問(負載均衡)
其餘插件:
CoreDNS:能夠爲集羣中的SVC建立一個域名IP的對應關係解析(A記錄)
Dashboard:給K8S集羣提供一個B/S機構的訪問體系
Ingress Controller:官方只能實現四層代理,Ingress能夠實現七層代理
Fedetation:提供一個能夠跨集羣中心多K8S統一管理功能
Prometheus:提供一個K8S集羣的監控能力
ELK:提供K8S的集羣日誌統一分析接入平臺