在Kubernetes中建立Pod時會發生什麼? - daniele
在Kubernetes中建立Pod時會發生什麼?一個令人驚訝的簡單任務揭示了一個複雜的工作流,涉及叢集中的多個元件。
你可能熟悉的前4個步驟:
- kubectl將YAML傳送到API
- Pod儲存在etcd中
- 排程程式分配一個節點,此時Pod是在etcd中,而節點中沒有Pod。
- kubelet開始建立Pod。
下一步:
- kubelet委託CRI建立容器
- kubelet委託將容器連線到網路的CNI
- CNI分配IP地址
- 探針Probes被檢查
- kubelet報告IP地址到控制平面
Pod已建立!除非Pod是服務的一部分,否則Kubernetes會在此處停止。如果Pod屬於服務,則Kubernetes會建立一個端點:它連線Pod的IP地址和埠(targetPort)。將端點新增到Endpoint(物件)。
什麼是端點endpoint?
在Kubernetes中:
- endpoint是10.0.0.2:3000(IP:埠)對
- Endpoint是endpoint的集合(IP:埠對的列表)
對於叢集中的每個服務,Kubernetes都會建立一個具有endpoint列表的Endpoint物件。令人困惑,不是嗎?
端點endpoints (IP:port)用於:
- kube-proxy用它設定iptables規則
- CoreDNS用來更小DNS條目
- Ingress控制器用來設定下游
- 用於服務網格Service meshes
- 用於更多運維
一旦端點endpoint被新增了,相應元件會被通知。
廣播ednpoint端點(IP:port)後,您終於可以開始使用Pod!
您能猜出刪除Pod後會發生什麼嗎? 與增加Pod有相同的流程,但是相反。這很煩人,因為有一些競賽條件的機會。
相關文章
- 【iOS】當我們在application:DidFinishLaunchWithOptions:中返回NO時會發生什麼iOSAPP
- kubelet 建立 Pod 前發生了什麼?
- 在Linux上啟動程式時會發生什麼?Linux
- 當一個 Pod 被排程時,Kubernetes 內部發生了什麼?
- mysql什麼時候會發生file sortMySql
- Kubernetes中如何使用CPU請求和限制? - daniele
- 當你在 Linux 上啟動一個程式時會發生什麼?Linux
- 當你建立了一個 Deployment 時,Kubernetes 內部發生了什麼?
- kubernetes之pod中斷
- 傲視Kubernetes(三):Kubernetes中的Pod
- 在K8S中,什麼是靜態Pod?K8S
- 當你在瀏覽器中輸入URL回車後會發生什麼?瀏覽器
- 在瀏覽器中輸入一個URL,按下回車會發生什麼?瀏覽器
- 事件發生時,你在想什麼?事件
- Linux中什麼情況下會發生程式排程?Linux
- kubernetes/k8s CRI分析-kubelet建立pod分析K8S
- Kubernetes故障排除的直觀指南 - Daniele Polencic
- 為什麼S/4HANA的銷售訂單建立會觸發生產訂單的建立
- Istio控制平面故障後會發生什麼?
- 2019 年,容器技術生態會發生些什麼?
- 把 13 億中國人拉到一個群會發生什麼?
- 為什麼Kubernetes會消失 - David Carboni
- 當我們聊kubernetes operator時,我們在聊些什麼
- 當你開啟終端並輸入命令時會發生什麼?(上)
- 為什麼在Kubernetes上開發很糟糕? | Tilt部落格
- 重定向Kubernetes pod中的tcpdump輸出TCP
- kubernetes中將hostpath卷安裝到POD
- Kubernetes中Pod間共享記憶體方案記憶體
- 當css中background或background-image的值為url()或url(#)時,會發生什麼情況?為什麼?如何解決?CSS
- 在 TIME_WAIT 狀態的 TCP 連線,收到 SYN 後會發生什麼?AITCP
- 在Java中建立物件的不同方法是什麼?Java物件
- 如何建立物件,在web前端開發起到什麼作用物件Web前端
- 當 Redis 發生高延遲時,到底發生了什麼Redis
- 記憶體耗盡後Redis會發生什麼記憶體Redis
- Python會在什麼時候被其他語言取代Python
- Kubernetes部署單元-Pod
- Kubernetes Pod 全面知識
- Kubernetes:Pod總結(二)