K8s遇到問題解決思路

2021-09-27 05:14:22 字數 1102 閱讀 2473

kubernetes,簡稱k8s,是用8代替8個字元「ubernete」而成的縮寫。是乙個開源的,用於管理雲平台中多個主機上的容器化的應用,kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),kubernetes提供了應用部署,規劃,更新,維護的一種機制。 [1]

傳統的應用部署方式是通過外掛程式或指令碼來安裝應用。這樣做的缺點是應用的執行、配置、管理、所有生存週期將與當前作業系統繫結,這樣做並不利於應用的公升級更新/回滾等操作,當然也可以通過建立虛擬機器的方式來實現某些功能,但是虛擬機器非常重,並不利於可移植性。

新的方式是通過部署容器方式實現,每個容器之間互相隔離,每個容器有自己的檔案系統 ,容器之間程序不會相互影響,能區分計算資源。相對於虛擬機器,容器能快速部署,由於容器與底層設施、機器檔案系統解耦的,所以它能在不同雲、不同版本作業系統間進行遷移。

容器占用資源少、部署快,每個應用可以被打包成乙個容器映象,每個應用與容器間成一對一關係也使容器有更大優勢,使用容器可以在build或release 的階段,為應用建立容器映象,因為每個應用不需要與其餘的應用堆疊組合,也不依賴於生產環境基礎結構,這使得從研發到測試、生產能提供一致環境。類似地,容器比虛擬機器輕量、更「透明」,這更便於監控和管理。

問題排查一 從describe去查詢相應的deploy/pod/rs/svc

[root@k8s-master ~]# kubectl describe po/nginx-f95d765f9-8b6bp 

[root@k8s-master ~]# kubectl describe deploy/nginx

[root@k8s-master ~]# kubectl describe svc

問題排查二 從pod的logs日誌排查

[root@k8s-master ~]# kubectl logs nginx-f95d765f9-cfm6d

問題排查三 進入pod檢視應用排查

[root@k8s-master ~]# kubectl exec -it nginx-f95d765f9-cfm6d bash

root@nginx-f95d765f9-cfm6d:/# ps -ef

K8S節點狀態NotReady問題解決

前言 記錄節點notready 由於證書過期導致問題排查過程 問題描述 kubectl get nodes o wide grep notready kubectl describe node node ip message node which was running pod is unrespo...

Scrapy安裝遇到問題解決

win10平台 安裝scrapy遇到一些問題 1.本來使用命令 pip install scrapy2.然而我安裝了py2.x 和 py3.x 版本所有,所以使用該命會報錯,所以使用命令 我python3 為預設版本,py2名稱為python2 python m pip install scrapy...

Apache 啟動遇到問題解決

解決httpd could not reliably determine the server s fully qualified domain name 將裡面的 servername localhost 80 注釋去掉即可。再執行 httpd 然後可以通過瀏覽器訪問 http localhost...