問題: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是容器的集合密浑,通常會將緊密相關(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)用只會運(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ù)更新归粉。。漏峰。糠悼。。