




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
排查命令和方式1、kubectlgetpods2、kubectldescribepodsmy-pod3、kubectllogsmy-pod4、kubectlexecmy-pod-it/bin/bash后進(jìn)入容器排查5、查看宿主機(jī)日志文件/var/log/pods/*/var/log/containers/*1pod故障排查處理1、查看方式:主要通過以下命令檢查kubectlgetpods-nnamespace在上圖status列,我們可以看到pod容器的狀態(tài)2、查看STATUS狀態(tài)以下是statuslist:Running,Succeeded,Waiting,ContainerCreating,F(xiàn)ailed,Pending,Terminating,unknown,CrashLoopBackOff,ErrImagePull,ImagePullBackOffstatus定義說明:如出現(xiàn)異常狀態(tài),可查看pod日志內(nèi)容kubectldescribepod容器名-nnamespace查看State狀態(tài)3、查看Conditions狀態(tài)True表示成功,F(xiàn)alse表示失敗Initializedpod容器初始化完畢Readypod可正常提供服務(wù)ContainersReady容器可正常提供服務(wù)PodScheduledpod正在調(diào)度中,有合適的節(jié)點就會綁定,并更新到etcdUnschedulablepod不能調(diào)度,沒有找到合適的節(jié)點如有False狀態(tài)顯示查看Events信息Reason顯示Unhealthy異常,仔細(xì)查看后面的報錯信息,有針對性修復(fù)4、Events報錯信息整理如下:(1)Failedtopullimage"xxx":Error:imagexxxnotfound原因:提示拉取鏡像失敗,找不到鏡像解決方式:找到可以訪問的鏡像地址以及正確的tag,并修改鏡像倉庫未login,需要loginK8s沒有pull鏡像的權(quán)限,需要開通權(quán)限再pull(2)WarningFailedSyncErrorsyncingpod,skipping:failedtowithRunContainerError:"GenerateRun
ContainerOptions:XXXnotfound"原因:此podXXX的name在namespace下找不到,解決方式:需要重啟pod解決,kubectlreplace--force-fpod.yaml(3)WarningFailedSyncErrorsyncingpod,skipping:failedto"StartContainer"for"XXX"withRunContainerError:"GenerateRunContainerOptions:configmaps\"XXX\"notfound"原因:Namespace下找不到XXX命名的ConfigMap,解決方式:重新新建ConfigMapkubectlcreate-fconfigmap.yaml(4)WarningFailedMountMountVolume.SetUpfailedforvolume"kubernetes.io/secret/"(spec.Name:"XXXsecret")podwith:secrets"XXXsecret"notfound原因:缺失Secret解決方式:需要新建Secretkubectlcreatesecretdocker-registrysecret名--docker-server=倉庫url--docker-username=xxx--docker-password=xxx-nnamespace以下內(nèi)容,如修改yaml文件后,執(zhí)行kubectlapply-fpod.yaml重啟pod才生效(5)NormalKillingKillingcontainerwithdockeridXXX:pod"XXX"container"XXX"isunhealthy,itwillbekilledandre-created.容器的活躍度探測失敗,Kubernetes正在kill問題容器原因:探測不正確,health檢查的URL不正確,或者應(yīng)用未響應(yīng)解決方式:修改yaml文件內(nèi)health檢查的periodSeconds等數(shù)值,調(diào)大(6)WarningFailedCreateErrorcreating:pods"XXXX"isforbidden:[maximummemoryusageperPodisXXX,butrequestisXXX,maximummemoryusageperContainerisXXX,butrequestisXXX.]原因:K8s內(nèi)存限制配額小于pod使用的大小,導(dǎo)致報錯解決方式:調(diào)大k8s內(nèi)存配額,或者減小pod的內(nèi)存大小解決(7)pod(XXX)failedtofitinanynodefitfailureonnode(XXX):Insufficientcpu原因:node沒有足夠的CPU供調(diào)用,解決方式:需要減少pod內(nèi)cpu的使用數(shù)量,yaml內(nèi)修改(8)FailedMountUnabletomountvolumesforpod"XXX":timeoutexpiredwaitingforvolumestoattach/mountforpod"XXX"/"fail".listofunattached/unmountedvolumes=XXXFailedSyncErrorsyncingpod,skipping:timeoutexpiredwaitingforvolumestoattach/mountforpod"XXX"/"fail".listofunattached/unmountedvolumes=XXX原因:podXXX掛載卷失敗解決方式:需要查看下是否建了卷,volumemountPath目錄是否正確用yaml文件建volume并mount(9)FailedMountFailedtoattachvolume"XXX"onnode"XXX"with:GCEpersistentdisknotfound:diskName="XXXdisk"zone=""解決方式:檢查persistentdisk是否正確創(chuàng)建Yaml文件創(chuàng)建persistent方式如下(10)error:errorvalidating"XXX.yaml":errorvalidatingdata:foundinvalidfieldresourcesforPodSpec;ifyouchoosetoignoretheseerrors,turnvalidationoffwith--validate=false原因:yaml文件錯誤,一般是多了或者少了空格導(dǎo)致。解決方式:需要校驗yaml是否正確可使用kubeval工具校驗yaml(11)容器鏡像不更新解決方式:deployment中指定強(qiáng)制更新策略ImagePullPolicy:Always(12)(combinedfromsimilarevents):Readinessprobefailed:calico/nodeisnotready:BIRDisnotready:BGPnotestablishedwith:Numberofnode(s)withBGPpeeringestablished=0原因:指定node節(jié)點calico網(wǎng)絡(luò)不通,解決方式:檢查calico相關(guān)鏡像是否pull成功,calico-node容器是否正常啟動。如鏡像和容器正常,需要reset重置該節(jié)點k8s,重新加入集群kubeadmresetkubeadmjoinip:6443--tokenXXXXX.XXXXXXXXX--discovery-token-ca-cert-hashsha256:XXXXXXXXXXXXXXXXXXX(13)RunPodSandboxfromruntimeservicefailed:rpcerror:code=Unknowndesc=failedpullingimage"gcr.io/google_containers/pause-amd64:":Gethttps://gcr.io/v1/_ping:dialtcp:443:i/otimeout原因:gcr.io被GFW墻了解決方式:找阿里或googlecontainer其他可用的鏡像Dockertag到gcr.io/google_containers/pause-amd64(14)WarningFailedCreatePodSandBox3m(x13over3m)kubelet,Failedcreatepodsandbox執(zhí)行journalctl-xe|grepcni發(fā)現(xiàn)failedtofindplugin“l(fā)oopback”inpath[/opt/loopback/bin/usr/local/bin]解決方式:需要在/usr/local/bin內(nèi)復(fù)制loopback以下是node節(jié)點問題排查2node節(jié)點故障排查處理kubectlgetnode-nnamespace查看Node節(jié)點狀態(tài),STATUSReady表示正常,NotReady不正常注意version必須保持一致如有NotReady問題,需要重啟節(jié)點kubectl,或者重啟docker如不能解決,需要reset節(jié)點后,k8s重新join該node查看node日志執(zhí)行kubectldescribenodenode名-nnamespace如有“nodeip”notfound檢查nodeip是否能ping通,nodeip或者vip宕機(jī)引起以下是整理的node報錯信息及處理:報錯信息整理如下:1、Theconnectiontotheserverlocalhost:8080wasrefused-didyou
specifytherighthostorport?執(zhí)行kubectlgetXXX報錯kubectlgetnodes原因:node缺少admin.conf解決方式:復(fù)制master上的admin.conf到nodeNode節(jié)點執(zhí)行echo"exportKUBECONFIG=/etc/kubernetes/admin.conf">>~/.bash_profile2、kubernetesnodePort不可訪問原因:一般是iptables或selinux引起解決方式:關(guān)閉,清空setenforce0iptables--flushiptables-tnat--flushservicedockerrestartiptables-PFORWARDACCEPT重啟docker3、Failedtostartinotify_add_watch/sys/fs/cgroup/blkio:nospaceleftondevice或Failedtostartinotify_add_watch/sys/fs/cgroup/cpu,cpuacct:nospaceleftondevice原因:空間或系統(tǒng)參數(shù)原因解決方式:查看磁盤空間有無100%執(zhí)行cat/proc/sys/fs/inotify/max_user_watches/調(diào)大數(shù)值sysctlfs.inotify.max_user_watches=10485764、Failedtostartreboot.target:Connectiontimedout未知原因:重啟報超時解決方式:執(zhí)行systemctl--force--forcereboot5、SystemOOMencountered原因:使用內(nèi)存超限后,容器可能會被Kubernetes進(jìn)行OOMKilled解決方式:需要調(diào)整內(nèi)存,合理分配6、Unabletoregisternode""withAPIserver:Posthttps://localhost:6443/api/v1/nodes:dialtcp:6443:getsockopt:connectionrefused原因:node無法連接或拒絕連接master解決方式:Node節(jié)點重啟kubelet,如未恢復(fù),需要查看node服務(wù)器上cpu內(nèi)存,硬盤等資源情況7、pod狀態(tài)一直TerminatingContainerGCFailedrpcerror:code=DeadlineExceededdesc=context
deadlineexceeded原因:可能是17版本dockerd的BUG解決方式:systemctldaemon-reexecsystemctlrestartdocker如不能恢復(fù)需要升級docker到18版本8、Containerruntimeisdown,PLEGisnothealthy:plegwaslastseen
active10mago;thresholdis3m0s原因:PodLifecycleEventGeneratorPod生命周期事件生成器超時響應(yīng)RPC調(diào)用過程中容器運行時響應(yīng)超時或者節(jié)點上的Pod數(shù)量太多,導(dǎo)致relist無法在3分鐘內(nèi)完成解決方式:systemctldaemon-reloadsystemctldaemon-reexecsystemctlrestartdocker重啟Node節(jié)點服務(wù)器如果以上都不能解決升級docker版本到最新如果還不能解決升級kubernetes到1.16以上版本9、Novalidprivatekeyand/orcertificatefound,reusingexisting
privatekeyorcreatinganewone原因:node節(jié)點kubelet啟動后,會向master申請csr證書,找不到證書解決方式:需要在master上同意證書申請10、failedtorunKubelet:Runningwithswaponisnotsupported,please
disableswap!orset--fail-swap-onflagtofalse./proc/swapscontaine原因:啟用了swap解決方式:卸載swap分區(qū)后,重啟kubeletsystemctlrestartkubelet11、Thenodewaslowonresource:[DiskPressure]登錄node節(jié)點查看,磁盤空間狀況原因:node的kubelet負(fù)責(zé)頂起采集資源占用數(shù)據(jù),并和預(yù)先設(shè)置的threshold值進(jìn)行比較,如果超過threshold值,kubelet會殺掉一些Pod來回收相關(guān)資源解決方式:修改/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.confEnvironment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubecon-fig=/etc/kubernetes/bootstrap-kubelet.conf--kubeconfig=/etc/kubernetes/kubelet.conf"配置參數(shù)--eviction-hard=nodefs.available<5%,后續(xù)清理磁盤重啟kubelet12、Node節(jié)點狀態(tài)unknown查看進(jìn)程,報-bash:fork:Cannotallocatememory錯誤查看內(nèi)存是否還有free查看/proc/sys/kernel/pid_max是否過小解決方式:增加內(nèi)存,或者調(diào)大/proc/sys/kernel/pid_max13、providedportisnotinthevalidrange.Therangeofvalidports
is30000-32767原因:超出nodeport端口范圍,默認(rèn)nodeport需要在30000-32767范圍內(nèi)解決方式:修改/etc/kubernetes/manifests/kube-apiserver.yaml修改--service-node-port-range=數(shù)字重啟apiserver14、1node(s)hadtaintsthatthepoddidn'ttolerate原因:該節(jié)點不可調(diào)度,默認(rèn)master不可調(diào)度解決方式:kubectldescribenodes查看狀態(tài)kubectltaintnodesnodekey:NoSchedule-刪除node節(jié)點不可調(diào)度3master故障排查處理報錯信息整理如下:1、unabletofetchthekubeadm-configConfigMap:failedtogetconfigmap:Unauthorized原因:token已經(jīng)過期了,token默認(rèn)是24小時內(nèi)有效果的解決方式:在master節(jié)點重新生成token,重新join節(jié)點kubeadmtokencreateopensslx509-pubkey-in/etc/kubernetes/pki/ca.crt|opensslrsa–pubin-outformder2>/dev/null|openssldgst-sha256-hex|sed's/^.*//'2、Unabletoconnecttotheserver:x509:certificatesignedbyunknown
authority(possiblybecauseof"crypto/rsa:verificationerror"while
tryingtoverifycandidateauthoritycertificate"kubernetes")原因:權(quán)限認(rèn)證報錯,需要根據(jù)提示操作解決方式:參考控制臺提示mkdir-p$HOME/.kubesudocp-i/etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config3、Unabletoupdatecniconfig:Nonetworksfoundin/etc/cni/netContainerruntimenetworknotready:NetworkReady=false
reason:NetworkPluginNotReadymessage原因:網(wǎng)絡(luò)CNI找不到解決方式:sysctlnet.bridge.bridge-nf-call-iptables=1安裝flannel或者calico網(wǎng)絡(luò)4、coredns一直處于Pending或者ContainerCreating狀態(tài)原因:網(wǎng)絡(luò)問題引起解決方式:安裝flannel或者calico網(wǎng)絡(luò)pluginflanneldoesnotsupportconfigversion修改/etc/cni/net.d/10-flannel.conflist查看cniVersion版本號是否一致,不一致的話,修改成一致,或者k8s當(dāng)前可支持的版本5、WARNINGIsDockerSystemdCheck[WARNINGIsDockerSystemdCheck]:detected"cgroupfs"astheDockercgroupdriver.Therecommendeddriveris"systemd".Pleasefollowtheguideathttps://kubernetes.io/docs/setup/cri/原因:缺少配置driversystemd解決方式:修改或創(chuàng)建/etc/docker/daemon.json,增加:"exec-opts":["native.cgroupdriver=systemd"]重啟docker6、WARNINGFileExisting-socat[WARNINGFileExisting-socat]:socatnotfoundinsystempath原因:找不到socat解決方式:yuminstallsocat7、Permissiondeniedcannotcreate/var/log/fluentd.log:Permissiondenied原因:權(quán)限拒絕解決方式:關(guān)掉SElinux安全導(dǎo)致.在/etc/selinux/config中將SELINUX=enforcing設(shè)置成disabled如未解決,給與目錄寫權(quán)限8、啟動apiserver失敗,每次啟動都是報解決方式:需要配置ServiceAccountYaml創(chuàng)建9、repositorydoesnotexistormayrequire'dockerlogin':denied:requestedaccesstotheresourceisdenied原因:node節(jié)點沒有權(quán)限從harbor拉取鏡像解決方式:需要在mast
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技公司如何運用社交媒體打造休閑食品品牌形象
- 電影與音樂療愈法針對老年人的精神支持
- 2024-2030年中國蒲地藍(lán)消炎片行業(yè)市場深度分析及投資策略研究報告
- 潤白抗皺緊膚眼霜行業(yè)深度研究報告
- 流量測量儀表項目經(jīng)營分析報告
- 2025年中國汽車保險杠行業(yè)市場全景調(diào)查及投資價值預(yù)測報告
- 疫情方案計劃措施
- 鄉(xiāng)間道路維修合同范本
- 科技型企業(yè)如何構(gòu)建高效的知識產(chǎn)權(quán)管理團(tuán)隊
- St完整版本.-Mary's-醫(yī)院睡眠問卷
- 《化妝品穩(wěn)定性試驗規(guī)范》
- 《社區(qū)康復(fù)》課件-第四章 腦血管疾病患者的社區(qū)康復(fù)實踐
- 生活化教學(xué)在小學(xué)道德與法治課堂實踐 論文
- 2024年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 腰脊神經(jīng)后支痛課件
- 《商務(wù)數(shù)據(jù)分析》 課件 項目一 商務(wù)數(shù)據(jù)分析認(rèn)知
- 加強(qiáng)鍛煉預(yù)防疾病主題
- 心衰合并胸腔積液的護(hù)理Ppt
- 2023學(xué)年、2024學(xué)年臨平區(qū)公辦學(xué)校校方責(zé)任險投保采購項目招標(biāo)文件
- 物流風(fēng)險管理與應(yīng)對策略
評論
0/150
提交評論