k8s概述

k8s概述

概述

  • Kubernetes 使你在數以千計的電腦節點上運行軟件時就像全部這些節點是單個大節點同樣。它將底層基礎設施抽象,這樣作同時簡化了應用的開發、部署, 以及對開發和運維團隊的管理。

Kubernetes 的核心功能

  • 整個系統由一個主節點和若干個工做節點組成。開發者把一個應用列表提交到主節點, Kubemetes 會將它們部署到集羣的工做節點。組件被部署在哪一個節點對於開發者和系統管理員來講都不用關心。
  • Kubemetes 能夠被看成集羣的一個操做系統來看待
    • 它下降了開發者不得不在他們的應用裏實現一些和基礎設施相關服務心智負擔。他們如今依賴於Kubemetes 來提供這些服務,包括服務發現、擴容、負載均衡、自恢復,甚至領導者的選舉。應用程序開發者所以能集中精力實現應用自己的功能而不用浪費時間思索怎樣集成應用與基礎設施。

Kubernetes 集羣架構

  • 在硬件級別, 一個Kubernetes 集羣由不少節點組成,這些節點被分紅如下兩種類型
    • 主節點,它承載着Kubernetes 控制和管理整個集羣系統的控制面板
    • 工做節點,它們運行用戶實際部署的應用

  • 控制面板
    • 控制面板用於控制集羣並使它工做。它包含多個組件,組件能夠運行在單個主節點上或者經過副本分別部署在多個主節點以確保高可用性。
    • Kubernetes API 服務器,你和其餘控制面板組件都要和它通訊;提供了 HTTP Rest 接口的關鍵服務進程,是 Kubernetes 裏全部資源的增、刪、改、查等操做的惟一入口,也是集羣控制入口進程。
    • Scheculer ,它調度你的應用(爲應用的每一個可部署組件分配一個工做節點〕
    • Controller Manager ,它執行集羣級別的功能,如複製組件、持續跟蹤工做節點、處理節點失敗等;是 Kubernetes 裏全部資源對象的自動化控制中心,能夠理解爲資源對象的管家。
    • etcd ,一個可靠的分佈式數據存儲,它能持久化存儲集羣配置;Master 節點上每每還啓動了一個 etcd server 進程,由於 Kubernetes 裏的全部資源對象的數據所有是保存在 etcd 中的。
  • 工做節點
    • 工做節點是運行容器化應用的機器。運行、監控和管理應用服務的任務是由如下組件完成的:
    • Docker 、時k :gjG 其餘的容器類型
    • Kubelet ,它與API 服務器通訊,並管理它所在節點的容器;負責 Pod 對應的容器的建立、啓停等任務,同時與 Master 節點密切協做,實現集羣管理的基本功能
    • Kubernetes Service Proxy (kube-proxy) ,它負責組件之間的負載均衡網絡流量

Kubernetes 基本概念和術語

  • Kubernetes中的大部分概念如Node、Pod、Replication Controller、Server、Deploymeng、Job、DaemonSet 等均可以看做一種資源對象,幾乎全部的資源對象均可以經過 Kubernetes提供的 kubectl 工具執行增、刪、改、查等操做,並將其保存在 etcd 中持久化存儲。從這個角度來看,Kubernets 實際上是一個高度自動化的資源控制系統,它經過跟蹤對比 etcd 存儲裏保存的資源指望狀態與當前環境中的實際資源狀態的差別來實現自動控制和自動糾錯的高級功能。
  • Pod: 是kubernetes最重要也是最基本的概念。每一個Pod都會包含一個 「根容器」,還會包含一個或者多個緊密相連的業務容器。
    •  Kubernetes爲每一個Pod都分配了惟一的IP地址,稱之爲PodIP,一個Pod裏的多個容器共享PodIP地址。要求底層網絡支持集羣內任意兩個Pod之間的直接通訊,一般採用虛擬二層網絡技術來實現(Flannel)。
相關文章
相關標籤/搜索