原生技術基礎學習 基礎概念

2022-09-17 14:39:19 字數 1322 閱讀 3112

kubernetes 的概念:

架構簡介:

controller: 是控制器,它用來完成對集群狀態的一些管理。自動對容器進行修復和自動進行水平擴張,都是由 kubernetes 的 controller 來進行完成的。

scheduler: 是排程器,是完成排程的操作,把用於提交的 container 依據它對cpu/mem請求的大小,找到一台合適的節點,進行放置。

etcd: 是乙個分布式的儲存系統,api server 中所需的原資訊都被放置在 etcd 中,etcd 本身是乙個高可用系統,通過 etcd 保證整個 kubernetes 的 master 元件的高可用性。

kubernetes 的 node 架構:

pod 是 kubernetes 的乙個最小排程以及資源單元, pod 中也可以包含一些其他所需要的資源: 比如 volume 卷的儲存資源, 在 pod 裡買呢可以去定義容器所需要執行的方式,執行容器的 command,以及執行容器的環境變數等。

pod 這個抽象是給裡面的容器提供乙個共享的執行環境,他們會共享同乙個網路環境,這些容器可以用 localhost 來進行直接的連線。而 pod 與 pod 之間,是互相有 isolation 隔離的。

volume 卷的概念,它用來管理 kubernetes 儲存的,是用來宣告在 pod 中的容器可以訪問檔案目錄的,乙個卷可以被掛載在 pod 中乙個或多個容器的指定路徑下。

volume 本身是乙個抽象的概念,乙個 volume 可以去支援多種的後端的儲存。

deployment 是在 pod 這個抽象上更為上層的乙個抽象,它可以定義一組 pod 的副本數目、 以及這個 pod 的版本。

service 提供了乙個或者多個 pod 例項的穩定訪問位址。

namespace 是用來做乙個集群內部的邏輯隔離的,它包括鑑權、資源管理等。

kubernetes 的 api:

pod 的概念:

容器是程序級別的隔離, 使用獨立的檔案系統

task co-schedulering

容器之間原本是被 linux namespace 和 cgroups 隔離開的,pod 之間共享網路是通過 infra container 方式共享同乙個 natwork namespace

整個pod的生命週期跟infra容器一致,與其他容器無關

shared-data 對應在宿主機上的目錄會被同時繫結掛載進除infra以外的容器中

容器設計模式:

pod 是kubernetes 專案裡實現 "容器設計模式" 的核心機制

容器設計模式 是google borg 的大規模容器集群管理最佳實踐之一

所有 "設計模式" 的本質都是: 解耦和重用

機器學習基礎概念

聚類 將本身沒有類別的樣本聚集成不同的組,這樣的一組資料物件的集合叫做簇,並且對每乙個這樣的簇進行描述的過程,他的目的是使得屬於同乙個簇的樣本之間應該彼此相似,而不同簇的樣本應該足夠不相似。資料預處理 在資料探勘之前使用,大大提高了資料探勘的質量 處理缺失值 將含有缺失值的記錄刪除 根據變數之間的相...

機器學習基礎概念

資料量大 tb pb eb zb yb hdfs 速度快 資料增長速度快 資料處理速度快 價值密度低 密度 有價值資料 all 機器學習演算法解決 人工智慧 機器學習 深度學習的關係 資料 資料分析 資料探勘 機器學習 致力於研究如何通過cpu和gpu 圖形處理器 的計算,利用經驗 資料來改善 計算...

Rust學習 基礎概念

變數 let let mut const 資料型別 標量型別 scalar types 整型有符號 和 無符號 代表數字能否為負值 有符號 2 n 1 2 n 1 1 無符號 0 2 n 1 長度型別為 arch 表示根據當前計算機架構位數,64位就是64位,32位就是32位 宣告整型預設型別是 i...