當前位置:編程學習大全網 - 源碼下載 - Kubelet創建pod源代碼

Kubelet創建pod源代碼

1.什麽是kubernetes?

Kubernetes(k8s)是Google (inside Google: Borg)的開源容器集群管理系統。基於Docker技術,為容器化應用提供部署和運行、資源調度、服務發現、動態伸縮等壹系列完整功能,提高了大規模容器集群管理的便利性。

2.Kubernetes核心組件描述

Kubernetes集群中主要有兩種類型的節點,即主節點和minion節點。

Minion節點是實際運行Docker容器的節點,負責與節點上運行的Docker進行交互,並提供代理功能。

主節點負責提供壹系列管理集群的API接口,通過與Minion節點交互實現集群的運行管理。

Apiserver:用戶與kubernetes集群交互的入口,封裝了核心對象的添加、刪除、修改、查詢等操作,提供RESTFul API接口,通過etcd實現持久化,維護對象的壹致性。

調度器:負責集群資源的調度和管理。比如當壹個pod異常退出,需要重新分配機器時,調度器可以通過壹定的調度算法找到最合適的節點。

Controller-manager:主要用於保證replicationController定義的副本數量與實際運行的POD數量壹致,同時也保證服務到POD的映射關系始終是最新的。

Kubelet:運行在minion節點上,負責與節點上的Docker交互,比如啟動和停止容器,監控運行狀態。

代理:運行在minion節點,負責為pod提供代理功能。它會定時從etcd獲取服務信息,根據服務信息修改iptables實現流量轉發(最初版本是直接通過程序提供轉發功能,效率較低。)並將流量轉發到要訪問的pod所在的節點。

ETCD:鍵值鍵值存儲數據庫,用於存儲kubernetes的信息。

法蘭絨:法蘭絨是CoreOS團隊為Kubernetes設計的覆蓋網絡工具,需要單獨下載部署。

我們知道,當我們啟動Docker時,會有壹個IP地址用於與容器進行交互。如果我們不管理它,這個IP地址可能在所有機器上都是壹樣的,而且僅限於在這臺機器上通信,所以我們無法訪問其他機器上的Docker容器。

法蘭絨的目的是為集群中的所有節點重新規劃IP地址的使用規則,使不同節點上的容器可以獲得不重復的屬於同壹內網的IP地址,屬於不同節點的容器可以通過內網IP直接通信。

3.Kubernetes的核心概念

豆莢

在壹個節點上運行的幾個相關容器的組合。Pod中包含的容器運行在同壹臺主機上,使用相同的網絡名稱空間、IP地址和端口,並且可以通過localhost進行通信。

Pod是Kurbernetes的創建、調度和管理的最小單元,它提供了比容器更高的抽象級別,使得部署和管理更加靈活。壹個Pod可以包含壹個容器或多個相關容器。

復制控制器

復制控制器用於管理Pod副本,並確保群集中存在指定數量的Pod副本。

如果集群中副本的數量大於指定數量,則將停止指定數量之外的冗余容器的數量;否則,少於指定數量的容器數量將被啟動以確保相同的數量。

復制控制器是實現靈活擴展、動態擴展和滾動升級的核心。

服務

服務定義了Pod的邏輯集合和訪問該集合的策略,是真實服務的抽象。

服務提供了統壹的服務訪問入口、服務代理和發現機制,用戶不需要知道後臺Pod是如何工作的。

標簽

Kubernetes中的任何API對象都是通過標簽來標識的,標簽的本質是壹系列K/V鍵值對。標簽是復制控制器和服務操作的基礎,它們通過標簽將節點上運行的Pod關聯起來。

結節

節點是Kubernetes集群架構中運行Pod的服務節點(或代理)。

節點是Kubernetes集群操作的單元,用來承載分配的Pod的操作,是Pod操作的宿主。

4.前提條件設置

三臺Centos7系統(1 master+2+2 node)的虛擬機,三臺機器上的防火墻,SELINUX全部關閉。我的實驗環境可以在線訪問,可以使用默認的YUM源碼。

5.部署規劃

192.168.10.1 #主節點(etcd,kubernetes-master)。

192.168.10.2 # Node 1 Node(ETCD、庫伯內特-Node、Docker、法蘭絨)。

192.168.10.3 #節點2 (ETCD、庫伯內特-節點、碼頭工人、法蘭絨)

6.開始安裝

步驟1:在主服務器上安裝

yum安裝kubernetes-master etcd法蘭絨-y

步驟2:在節點上安裝

yum安裝kubernetes-node etcd法蘭絨-y

步驟3: ETCD集群配置

在主節點上編輯etcd配置文件。

編輯節點1上的etcd配置文件。

編輯node2節點上的etcd配置文件。

etcd集群部署在這裏,然後在每個節點上啟動。

systemctl啟動etcd

第四步:驗證

步驟6:在主服務器上啟動三個服務。

步驟7:kubernetes節點安裝

Node2節點重復上述操作。

步驟8:單獨啟動kubernetes節點服務。

7.網絡結構

因為kubernetes集群的網絡部分是以插件的形式安裝的,所以我們這裏選擇法蘭絨。

以上安裝步驟已經安裝完畢。

為法蘭絨創建指定的網絡

8.執行kubectl命令檢查。

在主服務器上執行以下命令來檢查kubernetes的狀態。

9.常見的調試命令如下

  • 上一篇:免費畫筆源代碼
  • 下一篇:巫蠱之術是漢武帝揮之不去的陰影,那麽,巫蠱之禍是如何爆發的?
  • copyright 2024編程學習大全網