摘要:對(duì)于節(jié)點(diǎn)已經(jīng)登陸不了的情況,如果希望快速恢復(fù)可以在控制臺(tái)找到對(duì)應(yīng)主機(jī)斷電重啟。與綁定完成,插件完成后續(xù)的掛載和等工作。
對(duì)于使用 UK8S 遇到的本文檔未涉及的問題,如果需要人工支持,請(qǐng)?zhí)砑酉旅婀€信任,并提供主機(jī)的 uhost-id
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGIFVUtrp+jAnIu1fBvyLx/4L4GNsX+6v8RodxM+t3G7gCgaG+kHqs1xkLBWQNNMVQz2c/vA1gMNYASnvK/aQJmI9NxuOoaoqbL/yrZ58caJG82TrDKGgByvAYcT5yJkJqGRuLlF3XL1p2C0P8nxf2dzfjQgy5LGvZ1awEsIeoSdEuicaxFoxkxzTH/OM2WSLuJ+VbFg8Xl0j3F5kP9sT/no1Gau15zSHxQmjmpGJSjiTpjSBCm4sMaJQ0upruK8RuuLAzGwNw8qRXJ4qY7Tvg36lu39KHwZ22w/VZT1cNZq1mQXvsR54Piaix163YoXfS7jke6j8L6Nm2xtY4inqd uk8s-tech-support
kubectl describe pods pod-name -n ns
查看 pod 的相關(guān) event 及每個(gè) container 的 status,是 pod 自己退出,還是由于 oom 被殺,或者是被驅(qū)逐kubectl logs pod-name -p -n ns
查看容器退出的日志,排查原因dmesg
查看系統(tǒng)日志以及journalctl -u kubelet
查看 kubelet 相關(guān)日志。kubectl get pods -n kube-system |grep plugin-operation
找到對(duì)應(yīng)插件升級(jí)的 pod,并 describe pod 查看 pod 失敗原因。uk8s-xxxxxx-master-ulb4
)登陸到 UK8S 三臺(tái) master 節(jié)點(diǎn),檢查 etcd 和 kube-apiserver 服務(wù)是否正常,如果異常,嘗試重啟服務(wù)
systemctl status etcd
/ systemctl restart etcd
如果單個(gè) etcd 重啟失敗,請(qǐng)嘗試三臺(tái)節(jié)點(diǎn)的 etcd 同時(shí)重啟systemctl status kube-apiserver
/ systemctl restart kube-apiserver
kubectl describe node node-name
查看節(jié)點(diǎn) notReady 的原因,也可以直接在 console 頁面上查看節(jié)點(diǎn)詳情。journalctl -u kubelet
查看 kubelet 的日志, system status kubelet
查看 kubelet 工作是否正常。sar
命令,如果發(fā)現(xiàn)磁盤 cpu 和磁盤使用率突然上漲 且內(nèi)存使用率也高,一般情況下是內(nèi)存 oom 導(dǎo)致的。關(guān)于內(nèi)存占用過高導(dǎo)致節(jié)點(diǎn)宕機(jī),由于內(nèi)存占用過高,磁盤緩存量很少,會(huì)導(dǎo)致磁盤讀寫頻繁,進(jìn)一步增加系統(tǒng)負(fù)載,打高cpu的惡性循環(huán)集群若需要訪問公網(wǎng),進(jìn)行拉取鏡像等操作,需要為集群所在 VPC 綁定 NAT 網(wǎng)關(guān),并配置相應(yīng)規(guī)則,詳見:https://docs.ucloud.cn/vpc/introduction/natgw
ping uhub.service.ucloud.cn
(如果ip為117.50.7.5 則表示是通過公網(wǎng)拉取,有限速)curl https://uhub.service.ucloud.cn/v2/
查看是否通,正常會(huì)返回 UNAUTHORIZED 或 301systemctl show --property=Environment docker
查看是否配置了代理iftop -i any -f host
命令,同時(shí)嘗試?yán)?UHub 鏡像,查看命令輸出(uhub-ip替換為步驟1中得到的ip)apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: udisk-ssd-test
provisioner: udisk.csi.ucloud.cn #存儲(chǔ)供應(yīng)方,此處不可更改。
---
apiVersion: v1
kind: PersistentVolumeClaim
spec:
storageClassName: ssd-csi-udisk
用戶只需要設(shè)置好 StorageClass,在使用 pvc 時(shí),csi-udisk 插件會(huì)自動(dòng)完成 UDisk 的創(chuàng)建掛載 mount 等一系列的操作,主要流程如下
kubectl get pods -o wide -n kube-system |grep udisk
查看(一個(gè)總的 controller 及每個(gè) node 對(duì)應(yīng)的 pod)VolumeAttachment 并不由用戶自己創(chuàng)建,因此很多用戶并不清楚它的作用,但是在 pvc 的使用過程中,VolumeAttachment 有著很重要的作用
kubectl get volumeattachment |grep pv-name
進(jìn)行查看kubectl logs csi-udisk-controller-0 -n kube-system csi-udisk
查看 csi-controller 日志定位原因[root@10-9-112-196 ~]# kubectl get volumeattachment |grep pvc-e51b694f-ffac-4d23-af5e-304a948a155a
NAME ATTACHER PV NODE ATTACHED AGE
csi-1d52d5a7b4c5c172de7cfc17df71c312059cf8a2d7800e05f46e04876a0eb50e udisk.csi.ucloud.cn pvc-e51b694f-ffac-4d23-af5e-304a948a155a 10.9.184.108 true 2d2h
apiVersion: storage.k8s.io/v1
kind: VolumeAttachment
metadata:
annotations:
csi.alpha.kubernetes.io/node-id: 10.9.184.108 # 綁定的節(jié)點(diǎn)ip,填寫報(bào)錯(cuò)pod所在節(jié)點(diǎn)
finalizers:
- external-attacher/udisk-csi-ucloud-cn
name: csi-1d52d5a7b4c5c172de7cfc17df71c312059cf8a2d7800e05f46e04876a0eb50e # 名稱,按照pod報(bào)錯(cuò)名稱填寫
spec:
attacher: udisk.csi.ucloud.cn
nodeName: 10.9.184.108 #綁定的節(jié)點(diǎn)ip,填寫報(bào)錯(cuò)pod所在節(jié)點(diǎn)
source:
persistentVolumeName: pvc-e51b694f-ffac-4d23-af5e-304a948a155a # 綁定的pv,填寫pod使用的pv
對(duì)應(yīng)關(guān)系表
UK8S資源類型 | 與主機(jī)對(duì)應(yīng)關(guān)系 |
---|---|
PV | UDisk 的磁盤 |
VolumeAttachment | 磁盤與主機(jī)的掛載關(guān)系(vdbvdc 的塊設(shè)備) |
PVC | 磁盤在主機(jī)上mount的位置 |
pod | 使用磁盤的進(jìn)程 |
kubectl get pvc -n ns pvc-name
查看對(duì)應(yīng)的 VOLUME 字段,找到與 pvc 綁定的 pv,一般為(pvc-e51b694f-ffac-4d23-af5e-304a948a155a)kubectl get pv pv-name -o yaml
在 spec.csi.volumeHandle 字段,可以查看到改 pv 綁定的 UDisk盤(flexv 插件為 pv 的最后幾位)kubectl get volumeattachment |grep pv-name
查看 K8S 集群內(nèi)記錄的磁盤掛載狀態(tài),VolumeAttachment的作用lsblk
可以看到對(duì)應(yīng)的盤mount |grep pv-name
可用查看盤的實(shí)際掛載點(diǎn),有一個(gè) globalmount 及一個(gè)或多個(gè) pod 的 mount 點(diǎn)[root@10-9-184-108 ~]# mount |grep pvc-e51b694f-ffac-4d23-af5e-304a948a155a
/dev/vdc on /data/kubelet/plugins/kubernetes.io/csi/pv/pvc-e51b694f-ffac-4d23-af5e-304a948a155a/globalmount type ext4 (rwrelatime)
/dev/vdc on /data/kubelet/pods/587962f5-3009-4c53-a56e-a78f6636ce86/volumes/kubernetes.io~csi/pvc-e51b694f-ffac-4d23-af5e-304a948a155a/mount type ext4 (rwrelatime)
kubectl edit
對(duì)應(yīng)的資源刪除掉其中的 finalizers 字段,此時(shí)資源就會(huì)成功釋放掉kubectl get pvc -n ns pvc-name
查看對(duì)應(yīng)的 VOLUME 字段,找到與 pvc 綁定的 pv,一般為(pvc-e51b694f-ffac-4d23-af5e-304a948a155a)kubectl get pv pv-name -o yaml
在 spec.csi.volumeHandle 字段,可以查看到改 pv 綁定的 UDisk 盤(flexv 插件為 pv 的最后幾位)kubectl logs csi-udisk-controller-0 -n kube-system csi-udisk
的日志輸出及 pod 的event--network host
參數(shù),使用 hostnetwork 的模式起容器tcpdump -i eth0 host
查看是否正常 ulb-ip 替換為 svc 對(duì)應(yīng)的實(shí)際 ipsystemctl status kube-proxy
iptables -L -n -t nat |grep KUBE-SVC
及 ipvsadm -L -n
查看轉(zhuǎn)發(fā)規(guī)則是否下發(fā)正常iptables -L -n -t nat
或者ipvsadm -L -n
查看對(duì)應(yīng)規(guī)則實(shí)時(shí)文檔歡迎訪問https://docs.ucloud.cn/uk8s/troubleshooting/k8s_debug_summary
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/126287.html
摘要:為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通為什么在節(jié)點(diǎn)直接起容器網(wǎng)絡(luò)不通使用自己的插件,而直接用起的容器并不能使用該插件,因此網(wǎng)絡(luò)不通。 UK8S 集群常見問題本篇目錄1. UK8S 完全兼容原生 Kubernetes API嗎?2. UK8S 人工支持3. UK8S對(duì)Node上發(fā)布的容器有限制嗎?如何修改?4. 為什么我的容器一起來就退出了?5. Docker 如何調(diào)整日...
摘要:常見錯(cuò)誤狀態(tài)狀態(tài)說明處理辦法啟動(dòng)過程中發(fā)生錯(cuò)誤。檢查所在節(jié)點(diǎn)的狀態(tài)所在節(jié)點(diǎn)失聯(lián)或其他未知異常。一般是由于容器啟動(dòng)命令參數(shù)配置錯(cuò)誤所致策略禁止拉取鏡像。聯(lián)系倉庫管理員,或確認(rèn)鏡像名是否正確啟動(dòng)容器失敗。容器參數(shù)配置異常執(zhí)行報(bào)錯(cuò)。在Kubernetes中發(fā)布應(yīng)用時(shí),我們經(jīng)常會(huì)遇到Pod出現(xiàn)異常的情況,如Pod長時(shí)間處于Pending狀態(tài),或者反復(fù)重啟,下面介紹下Pod 的各種異常狀態(tài)及處理思路。...
摘要:鏡像庫常見問題如何在中鏡像的和兩個(gè)版本,目前節(jié)點(diǎn)沒有安裝服務(wù),不支持在節(jié)點(diǎn)鏡像。如果需要讓容器時(shí)間與宿主機(jī)時(shí)間一致,可以使用的方式將宿主機(jī)上的時(shí)區(qū)文件掛載到容器中。一個(gè)可以掛載到多個(gè)嗎不支持多點(diǎn)讀寫,如需要多點(diǎn)讀寫請(qǐng)使用。鏡像庫常見問題如何在UK8S中Build鏡像?UK8S的1.12.7和1.13.5兩個(gè)版本,目前Master節(jié)點(diǎn)沒有安裝Docker服務(wù),不支持在Master節(jié)點(diǎn)Build...
摘要:完全兼容原生的,以私有網(wǎng)絡(luò)為基礎(chǔ),并整合了等云產(chǎn)品。綜合資源有效利用率錯(cuò)誤容忍度兩個(gè)因素,在不考慮業(yè)務(wù)混合部署業(yè)務(wù)總體規(guī)模大小的情況下,我們建議生產(chǎn)環(huán)境的節(jié)點(diǎn)應(yīng)該介于核至核之間。模式是一個(gè)用于負(fù)載均衡的內(nèi)核功能。產(chǎn)品概念UCloud Container Service for Kubernetes (UK8S)是一項(xiàng)基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴(kuò)展你...
摘要:存儲(chǔ)方面,容器目前支持了兩種類型的存儲(chǔ)可以多點(diǎn)讀寫的網(wǎng)絡(luò)文件系統(tǒng)和僅單點(diǎn)讀寫的云硬盤。通過添加對(duì)協(xié)議的支持,輕量級(jí)虛擬機(jī)可以直接對(duì)接到服務(wù),從而實(shí)現(xiàn)了對(duì)高性能的型云硬盤掛載和使用。Cube誕生背景 隨著云原生技術(shù)的推廣及落地,容器技術(shù)在企業(yè)生產(chǎn)環(huán)境中的使用比重越來越大。Kubernetes作為容器編排的事實(shí)標(biāo)準(zhǔn),在企業(yè)服務(wù)中被大量采用。UCloud容器團(tuán)隊(duì)在2018年推出了Kubern...
閱讀 3538·2023-04-25 20:09
閱讀 3739·2022-06-28 19:00
閱讀 3060·2022-06-28 19:00
閱讀 3081·2022-06-28 19:00
閱讀 3175·2022-06-28 19:00
閱讀 2880·2022-06-28 19:00
閱讀 3047·2022-06-28 19:00
閱讀 2638·2022-06-28 19:00