001-k8s概述、知識圖譜、架構及核心組件

一、概述

  kubernetes,簡稱k8s

二、知識圖譜

2.1、基礎介紹

  發展:服務說明、資源管理器、k8s優勢

  k8s組件說明:Borg組件說明、k8s結構說明【網絡結構、組件結構】

  關鍵字以及含義

2.2、基礎概念

  Pod概念:自主式Pod、管理器管理的Pod【RS、RC、deployment、HPA、StatefullSet、DaemonSet、Job,CronJob】、服務發現、Pod協同

  通訊模式:網絡通訊模式、組件通訊模式

2.3、k8s安裝

  系統初始化

  Kubeadm部署安裝

  常見問題分析

2.4、資源清單

  k8s中資源概念:什麼是資源、名稱空間級別的資源、集羣級別的資源

  資源清單:yam語法格式

  通過資源清單編寫Pod

  Pod生命週期:initC、Pod phase、容器探針【livenessProbe、readinessProbe】、Pod hook、重啓策略

2.5、Pod控制器

  類型:ReplicationController和RelicaSet、Deployment、DaemonSet、Job、CronJob、StatefulSet、Horizontal Pod Autoscalling

2.6、服務發現

  Service原理:分類【ClusterIP、NodePort、ExternalName】、實現方式【userspace、iptables、ipvs】

  Ingress:nginx【http代理訪問、https代理訪問、使用cookie實現會話關聯、BasicAuth、Nginx進行重寫】

2.7、存儲

  configMap【配置文件】:創建【使用目錄創建、使用文件創建、使用字面值創建】、Pod中使用configMap【ConfigMap來替代環境變量、ConfigMap設置命令行參數、通過數據卷插件使用COnfigMap】、熱更新【實現、更新觸發】

  Secret【需要加密的】:分類、Service Account、Opaque Secret【創建、Secret掛載到Volume、Secret導出到環境變量】、kubernetes.io/dockerconfigjson

  volume:卷的類型、emptyDir【說明、用途、實戰】、hostPath【說明、用途、實戰】

  PV:概念【PV、PVC、類型】、後端類型、訪問模式、回收策略、狀態、實戰

2.8、調度器【把pod定義到想要的節點運行】

  基礎:概念、調度過程、自定義調度器

  調度親和性:親和性運算符、nodeAffinity【[preferred/required]DuringSchedulingIgnoredDuringExecution】、podAntiAffinity【[preferred/required]DuringSchedulingIgnoredDuringExecution】

  污點:概念、Taint【組成、設置、查看、去除】、Tolerations【設置】

  固定節點調度:PodName指定調度、標籤選擇器調度

2.9、集羣安全機制

  機制說明

  認證:http token、http base、https

  鑑權:AlwaysDeny、AlwaysAllow、ABAC、Webhook、RBAC【Role and ClusterRole、RoleBinding and CluesterRoleBinding、Resources、to Subjects、創建一個系統用戶管理k8s Dev名稱空間】

  准入控制    

2.10、HELM

  概念:組成構成、HELM部署、自定義

  部署實例:部署dashboard、metrics-server【HPA演示、資源限制(Pod、名稱空間)】、Prometheus、EFK

2.11、運維

  Kubeadm源碼修改:默認證書只有一年

  k8s高可用構建  

三、基礎介紹

3.1、發展

  IaaS[Infrastructure as a Service,阿里雲]→PaaS[Platform as a Service ,新浪雲]→SaaS[Software as a Service ,office 365]

  docker 是 PaaS層面的,平臺管理層,

3.2、資源管理器

  →Apache mesos【分佈式資源管理框架,Twitter 2019年放棄,轉k8s】

  →swarm【docker 推,輕量,功能少,實現架構好,2019年阿里雲放棄使用,轉k8s】

  →k8s【Google,10年容器化基礎架構borg,go語言翻寫borg】

    特點:輕量級【消耗資源小】、開源、彈性伸縮、負載均衡【IPVS】

3.3、組件介紹

3.3.1、borg架構介紹

    

  集羣,選舉,奇數

3.3.2、k8s架構

    

1》核心組件

    api server :所有服務訪問統一入口

    ControllerManager:維持副本期望數目

    Scheduler:負責介紹任務,選擇合適節點進行任務分配

    Kubelet:直接跟容器引擎交互實現容器的生命週期管理

    Kube-proxy:負責寫入規則值IPtabbles、ipvs實現服務映射訪問

    etcd:存儲k8s集羣所有重要信息【持久化】

    etcd:可信賴的分佈式鍵值存儲服務,能夠爲整個分佈式集羣存儲一些關鍵數據,協助分佈式集羣的正常運轉。v2版本 內存存儲,v3版本db,在v1.11中開始使用v3

    

2》其他插件

  CoreDNS:可以爲集羣中的SVC創建一個域名IP的對應關係解析

  DashBoard:給k8s提供一個bs結構訪問體系

  Ingress controller:官方只能實現4層代理,他可以實現7層代理

  Federation:提供一個可以跨集羣中心多k8s統一管理功能

  Prometheus:提供k8s集羣的監控能力

  ELK:提供k8s集羣日誌統一分析接入平臺

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章