Kubernetes(k8s)入門(二)——k8s概述

一、 Kubernetes是什麼

  • Kubernetes簡稱K8S;
  • k8s本質上是一組服務器集羣,k8s可以在集羣的各個節點上運行特定的docker容器;
  • Kubernetes是Google在2014年開源的一個容器集羣管理系統;
  • k8s用於容器化應用程序的部署,擴展和管理;
  • k8s提供了容器比安排,資源調度,彈性伸縮,部署管理,服務發現等一系列功能;
  • k8s目標是讓部署容器化應用簡單高效。

二、 Kubernetes特性

  • 自我修復:當某個容器掛掉或服務器掛掉,會自動啓動新的容器;
  • 彈性伸縮:實時根據服務器的併發情況,增加或縮減容器數量;
  • 自動部署和回滾:
  • 服務發現和負載均衡
  • 機密和配置管理
  • 存儲編排
  • 批處理

三、 Kubernetes集羣架構與組件

在這裏插入圖片描述

  1. k8s集羣分爲兩類節點
        master node:主
        worker node:工作
  2. master節點的組件(程序)
        kube-apiserver:Kubernetes API,集羣的統一入口,各組件協調者,以RESTful API提供接口服務,所有對象資源的增刪改查和監聽操作都交給APIServer處理後再提交給Etcd存儲;
        schduler:根據調度算法爲新創建的Pod選擇一個Node節點,可以任意部署,可以部署在同一個節點上,也可以部署在不同的節點上;
        controller manager:處理集羣中常規後臺任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的;
        etcd:etcd:分佈式鍵值存儲系統。用於保存集羣狀態數據,比如Pod、Service等對象信息。
  3. node節點的組件(程序)
        kubelet:向docker發送指令管理docker容器;kubelet是Master在Node節點上的Agent,管理本機運行容器的生命週期,比如創建容器、Pod掛載數據卷、下載secret、獲取容器和節點狀態等工作。kubelet將每個Pod轉換成一組容器;
        kube-proxy:管理docker容器的網絡。在Node節點上實現Pod網絡管理,維護網絡規則和四層負載均衡工作;
        docker或rocket:容器引擎,運行容器。
  4. 一次請求的完整過程(比如想要啓動一個nginx)
        首先,用戶通過kubectl來發送指令到apiserver,apiserver會通過Etcd(Etcd類似數據庫)對用戶進行權限的驗證;通過驗證後,apiserver會向scheduler發送指令(你給我找一個節點,我要啓動nginx),scheduler就會通過apiserver去查詢Etcd當前有哪些節點,scheduler得到各個節點的ip後,然後scheduler通過算法得出一個合法的ip返回給apiserver;apiserver將得到的ip發送給controller-manager,controller-manager通過apiserver去和相應ip地址的節點node的kubelet進行通信,kubelet再通過docker去啓動具體的容器。
    在這裏插入圖片描述

四、 Kubernetes核心概念(重要)

Pod

    (1)pod是k8s最小部署單元;
    (2)一個pod中可以有一個或者多個容器,pod又稱爲容器組,一組容器的集合;
    (3)一個Pod中的容器共享網絡命名空間;
    (4)Pod是短暫的

Controllers:控制器,控制pod,啓動、停止、刪除

    (1)ReplicaSet:確保預期的Pod副本數量;
    (2)Deployment:無狀態應用部署;
    (3)StatefulSet:有狀態應用部署;
    (4)DaemonSet:確保所有Node運行同一個Pod;
    (5)Job:一次性任務;
    (6)Cronjob:定時任務。

Service

    (1)防止pod失聯;
    (2)定義一組pod的訪問策略。

Label

    (1)標籤,附加到某個資源上,用於關聯對象、查詢和篩選;
    (2)一組pod有一個統一的標籤,service是通過標籤和一組pod進行關聯的。

Namespace

    (1)命名空間,將對象邏輯上隔離;
    (2)爲開發環境、測試環境、生產環境分別準備不同的名稱空間,進行隔離。

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