問題:Kubenertes資源分配之Request和Limit解析
解答:如果k8s部署的時(shí)候開了profile, 所以用的都是limit字段, 不是request字段。
Limit:?容器能使用資源的資源的最大值,設(shè)置為0表示使用資源無上限。
Request:?容器使用的最小資源需求,作為容器調(diào)度時(shí)資源分配的判斷依賴。只有當(dāng)節(jié)點(diǎn)上可分配資源量>=容器資源請求數(shù)時(shí)才允許將容器調(diào)度到該節(jié)點(diǎn)。但Request參數(shù)不限制容器的最大可使用資源。
Request能夠保證Pod有足夠的資源來運(yùn)行,而Limit則是防止某個(gè)Pod無限制地使用資源,導(dǎo)致其他Pod崩潰。兩者之間必須滿足關(guān)系: 0<=Request<=Limit<=Infinity (如果Limit為0表示不對資源進(jìn)行限制,這時(shí)可以小于Request)
參考:https://blog.csdn.net/qq_38391495/article/details/71598803
問題:iptables 規(guī)則
問題:獲取集群node信息
解答:當(dāng)我們ssh root@xxx.xxx.xx.xxx, 輸入kubectl get nodes得到節(jié)點(diǎn)信息,需要注意的是當(dāng)前執(zhí)行命令的地方并不是以下節(jié)點(diǎn)。我們是通過K8S命令行工具kubectl遠(yuǎn)程管理集群的。 執(zhí)行kubectl cluster-info可以看到集群信息。


問題:Pod是什么
解答:Pod是容器的集合,通常會(huì)將緊密相關(guān)的一組容器放到一個(gè)Pod中,同一個(gè)Pod中的所有容器共享IP地址和Port空間,他們在同一個(gè)network namespace中。
Pod是k8s調(diào)度的最小單位,同一Pod中的容器始終被一起調(diào)度。
運(yùn)行kubectl get pods,查看當(dāng)前的Pod有哪些。
運(yùn)行k describe pods,查看當(dāng)前的pod信息

問題:如何訪問應(yīng)用
解答:默認(rèn)情況下,pod只能在集群內(nèi)部訪問。如果想從外部訪問應(yīng)用,需要將容器的端口映射到節(jié)點(diǎn)的端口。使用kubectl get services. 可以查看到應(yīng)用被映射到節(jié)點(diǎn)的哪個(gè)端口。
問題:Scale應(yīng)用增加副本數(shù)量&k8s是如何實(shí)現(xiàn)負(fù)載均衡的
解答:默認(rèn)情況下應(yīng)用只會(huì)運(yùn)行一個(gè)副本,可以通過kubectl get deployments查看副本數(shù)。
執(zhí)行命令: kubectl scale deployments/$(deployment name) --replicas=3(你想要改成的nuber數(shù)量)
然后執(zhí)行:kubectl get pods 可以看到當(dāng)前pod增加到3個(gè)。
通過curl訪問應(yīng)用,可以看到每次請求發(fā)送到不同的Pod, 3個(gè)副本輪詢處理,這樣就實(shí)現(xiàn)了負(fù)載均衡。
scale down:減少副本數(shù)量,詳情參照下圖。



持續(xù)更新。。。。。