1 k8s 架構概述

2022-05-27 05:15:10 字數 1458 閱讀 5124

ansible - 應用程式編排工具

docker - 應用程式容器化

容器化管理介面和早期應用的管理是不同的。docker 的出現就呼喚面向容器化的編排工具的實現。

docker 三劍客

docker compose 編排工具,適用於單機

docker swarm 將多台docker主機整合成乙個資源池。

docker machine 將多台主機加入到 docker swarm的先決條件,預處理工具。

不再是面向單機的編排工具。

mesos - idc 的作業系統

kubernetes:佔據容器編排工具的80%份額

微服務:乙個小程式只幹一件事,天然和容器結合,利用容器本身的特性,使得微服務和容器結合起來。

devops

kubernetes 特性:

自動裝箱,自我修復,水平擴充套件,服務發現和負載均衡,自動發布和回滾。

金鑰和配置管理,儲存編排,批量處理執行

更加關注的是群體,而不再是個體。

dockerfile 使用 entrypoint.sh 來定義容器的啟動。

kubernetes 就是乙個集群。集群是分角色的, master/nodes

客戶端請求先到 masters 建立啟動容器的請求交給 master ,master當中有乙個排程器可分出現有node的可用資源狀態,找乙個最佳適配使用者請求資源的節點, 由這個node 本地的容器引擎執行起來。 映象在 映象倉庫,可在網際網路也可在私有倉庫。

接收請求的只是能是 kubernetes master

node節點 kubelet - 確保容器處於健康狀態

控制器 - 監控容器狀態。

控制器有問題了怎麼辦?

控制器不健康了,控制器管理器 controller manager

控制器管理器不健康了,是有三颱主機冗餘的。1個主節點,2個備用節點。

kubernetes master 三大元件:

k8s 上 最小執行的單元叫pod, 可以理解為容器的外殼,給容器做了一次抽象的封裝。

pod 是 k8s 最小排程單元。

乙個pod中可以包含多個容器,多個容器共享底層的網路命名空間、uts ipc 同享儲存卷。

一般來說,乙個 pod 內只放乙個容器,除非容器之間有特別緊密的關係。如果要放置多個容器,其中乙個為主容器,其他為輔助容器。

如果將某個pod 排程到某個node上執行,則這個pod中的所有的容器都在這個node 上執行。

pod 分類:

為了對pod 分類進行識別,需要在 pod上附加一些元資料。可以在dockerfile中直接打上標籤。這些這些標籤就是 k-v 資料。

標籤選擇器 selector

1 k8s 環境搭建

1 初始化伺服器 所有節點master node 關閉防火牆 systemctl stop firewalld systemctl disable firewalld 關閉selinux setenforce 0 關閉臨時關閉selinux vi etc selinux config 進入selin...

1 k8s的前世今生

k8s是kubernetes的縮寫,google 於 2014 年開源了 kubernetes 專案。k8s的演變過程 首先從傳統的服務 虛擬機器部署 容器部署 k8s。k8s的由來,歸根結底是容器的由來,搞清楚容器的來歷,k8s是在容器的基礎上,方便容器管理 維護,包括宣告式配置和自動化。dock...

k8s No 1 概述與架構

本章目錄 k8s概述 k8s系統架構 k8s工作流程圖 一 概述 k8s是谷歌公司基於內部容器管理系統borg開源出的乙個容器集群管理工具,它是用go語言開發,提供了容器的應用部署,規劃,更新,維護等功能。相信你讀這篇文章之前,你已經有了docker基礎。並且對k8s已經有個大概的理解,所以關於k8...