這篇文章主要為大家展示了“Kubernetes in action的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Kubernetes in action的示例分析”這篇文章吧。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),北海網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:北海等地區(qū)。北海做網(wǎng)站價(jià)格咨詢:18982081108
運(yùn)行在容器中的進(jìn)程實(shí)際上像其他進(jìn)程一樣運(yùn)行在宿主機(jī)操作系統(tǒng)中(不像 VM,進(jìn)程運(yùn)行在獨(dú)立的操作系統(tǒng)中)。但是容器中的進(jìn)程仍然與其他進(jìn)程隔離。
虛擬機(jī)的主要優(yōu)點(diǎn)在于它提供了完全的隔離,因?yàn)槊總€(gè) VM 運(yùn)行在自己的 Linux 內(nèi)核,然而所有容器運(yùn)行在同樣的內(nèi)核,這可能會(huì)存在潛在的安全風(fēng)險(xiǎn)。
基于 Docker 的容器鏡像與 VM 鏡像的一個(gè)顯著區(qū)別:容器鏡像是分層的,可以由多個(gè)鏡像共享和重用。
Dockerfile 中 ENTRYPOINT vs CMD。
ENTRYPOINT 的兩種執(zhí)行方式:shell vs exec。
容器技術(shù)的基礎(chǔ),Linux Namespace 和 Linux Control Groups。
一個(gè)進(jìn)程并不是屬于一個(gè)命名空間,而是屬于一組命名空間。
實(shí)現(xiàn)進(jìn)程隔離的并不是 Docker,Docker 只是使這些特性更易用。
進(jìn)程在容器中的 PID 與宿主機(jī)中的不同。
包含一個(gè)或多個(gè)緊密聯(lián)系的容器。
總是運(yùn)行在同一個(gè) worker 節(jié)點(diǎn)上。
屬于同一個(gè) namespace。
為什么需要 Pod?為什么不能直接使用容器?為什么需要運(yùn)行多個(gè)容器?為什么不能將所有進(jìn)程放在同一個(gè)容器中?
注解也是引入新特性的一種過渡手段。
Pod 的終止過程:SIGTERM,等待 30s,SIGKILL。
退出碼的涵義:128+x,x 為發(fā)送到進(jìn)程的信號(hào)值。
ReplicaSet 的標(biāo)簽選擇器更靈活,與 ReplicationController 相比。
DaemonSet 會(huì)繞過 Scheduler!!!
使用一個(gè)不變的 IP 和 Port 來暴露多個(gè)不斷變化 IP 的 Pod。
會(huì)話一致性,Kubernetes 只支持基于 ClientIP
,不支持基于 Cookie
。
你不能 ping 一個(gè) Service IP,因?yàn)樗且粋€(gè)虛擬 IP,只有和 Port 一起使用才有效。
ExternalName
類型經(jīng)常被忽略,實(shí)際上它只是一個(gè) CNAME
。
LoadBalancer
是 NodePort
類型的擴(kuò)展,如果不支持 LoadBalancer
仍然會(huì)開啟 NodePort
類型。
LoadBalancer
與 Ingress 的一個(gè)區(qū)別在于,每個(gè) LoadBalancer
都需要一個(gè)外網(wǎng) IP,而 Ingress 只需要一個(gè)。
Ingress 可以處理應(yīng)用層的 HTTP 網(wǎng)絡(luò)堆棧,故能提供基于 cookie 的會(huì)話一致性,而 Service 不能。
Ingress 直接轉(zhuǎn)發(fā)流量到 Pod,并不經(jīng)過 Service。
volumes 是 Pod 的一部分,并非 Kubernetes 頂級(jí)資源。
emptyDir
是用于 Pod 中多個(gè)容器共享文件的一種臨時(shí)磁盤。
hostPath
類型的常見場(chǎng)景是收集 node 節(jié)點(diǎn)的日志。
雙短線(--
)表示命令的結(jié)束,防止后面命令的參數(shù)無效。
etcd 是 Kubernetes 存儲(chǔ)集群狀態(tài)和元數(shù)據(jù)的唯一位置。
Kubernetes API server 是與 etcd 直接交互的唯一組件。
ectd 使用了 RAFT 算法實(shí)現(xiàn)分布式一致性。
etcd 的實(shí)例數(shù)量為什么是奇數(shù)?
Scheduler 并不負(fù)責(zé)指定選定的 node 去運(yùn)行 Pod,而是通過 API server 更新 Pod 定義并存儲(chǔ)在 etcd 中,API server 來通知 Kubelet 運(yùn)行 Pod。
Controller Manager 包含多個(gè) Controller。
Controllers 實(shí)現(xiàn)系統(tǒng)的期望狀態(tài)。
Controller Manager (Replication、ReplicaSet、StatefulSet)通過創(chuàng)建新的 Pod 清單,POST 到 API server,并通知 Scheduler 和 Kubelet 實(shí)現(xiàn)調(diào)度和運(yùn)行 Pod。
Namespace controller 實(shí)現(xiàn)了刪除 Namespace 資源時(shí),同步刪除 Namespace 中的所有資源。
所有的 Contoller 通過 API server 實(shí)現(xiàn)操作,并不直接與 Kubelet 或其他組件交流。
Kubelet 負(fù)責(zé)運(yùn)行在 worker 節(jié)點(diǎn)的一切活動(dòng)。
Kubelet 既可以從 Kubernetes API server 獲取 Pod 清單,也可以從指定的本地目錄獲取 Pod 清單(用于運(yùn)行控制平面的組件)來運(yùn)行 Pod。
kube-proxy 負(fù)責(zé)將到達(dá) service IP 與 port 的流量轉(zhuǎn)發(fā)到后端的 Pod。
以上是“Kubernetes in action的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:Kubernetesinaction的示例分析
網(wǎng)站路徑:http://m.kartarina.com/article36/jeoppg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃、搜索引擎優(yōu)化、定制開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)