kubernetes實踐之五十三:Service中的故障排查
1.檢視某種資源的定義和用法
kubectl explain
2.檢視Pod的狀態
kubectl get pods
kubectl describe pods my-pod
3.監控Pod狀態的變化
kubectl get pod -w
可以看到一個 namespace 中所有的 pod 的 phase 變化。
4.檢視Pod的日誌
kubectl logs my-pod
kubectl logs my-pod -c my-container
kubectl logs -f my-pod
kubectl logs -f my-pod -c my-container
5.互動式Debug
kubectl exec my-pod -it /bin/bash
kubectl top pod POD_NAME --containers
6.Pod的臨終遺言
Pod的定義中透過.spec.containers[].terminationMessagePath指定在容器中的臨終遺言日誌檔案的路徑,預設值是/dev/termination-log.這個檔案在Pod的整個生命週期內都會儲存,每次新建一個Pod,都會在宿主機上建立一個檔案,然後掛載到Pod的容器中,這些檔案不會因為容器的銷燬而丟失,所以容器可以把臨終遺言寫入這個檔案,方便問題安排排錯。
kubectl explain
點選(此處)摺疊或開啟
-
kubectl explain pod
-
DESCRIPTION:
-
Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.
-
-
FIELDS:
-
apiVersion
-
APIVersion defines the versioned schema of this representation of an
-
object. Servers should convert recognized schemas to the latest internal
-
value, and may reject unrecognized values. More info:
-
https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
-
-
kind
-
Kind is a string value representing the REST resource this object
-
represents. Servers may infer this from the endpoint the client submits
-
requests to. Cannot be updated. In CamelCase. More info:
-
https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
-
-
metadata <Object>
- Standard object
kubectl get pods
kubectl describe pods my-pod
3.監控Pod狀態的變化
kubectl get pod -w
可以看到一個 namespace 中所有的 pod 的 phase 變化。
4.檢視Pod的日誌
kubectl logs my-pod
kubectl logs my-pod -c my-container
kubectl logs -f my-pod
kubectl logs -f my-pod -c my-container
5.互動式Debug
kubectl exec my-pod -it /bin/bash
kubectl top pod POD_NAME --containers
6.Pod的臨終遺言
Pod的定義中透過.spec.containers[].terminationMessagePath指定在容器中的臨終遺言日誌檔案的路徑,預設值是/dev/termination-log.這個檔案在Pod的整個生命週期內都會儲存,每次新建一個Pod,都會在宿主機上建立一個檔案,然後掛載到Pod的容器中,這些檔案不會因為容器的銷燬而丟失,所以容器可以把臨終遺言寫入這個檔案,方便問題安排排錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2155913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- kubernetes實踐之十四:Service Account與Secret
- kubernetes實踐之六十五:Service Mesh
- kubernetes實踐之四十三: Service詳解
- kubernetes實踐之四十八:Service Controller與Endpoint ControllerController
- kubernetes實踐之二十四:Service
- kubernetes實踐之七:安全機制API Server認證之Service Account TokenAPIServer
- Kubernetes Service之ClusterIP
- Kubernetes中Service的使用
- kubernetes實踐之七十四:Service Mesh Meetup深圳站學習總結
- Kubernetes實驗 Service
- kubernetes實踐之十一:EFK
- Kafka 萬億級訊息實踐之資源組流量掉零故障排查分析Kafka
- kubernetes實踐之六十:Cabin-Manage Kubernetes
- 阿里雲Kubernetes容器服務Istio實踐之整合日誌服務Log Service阿里
- Kubernetes中Service機制
- kubernetes實踐之五十七:PodPreset
- kubernetes實踐之五十八:CronJob
- kubernetes實踐之五十二:Helm
- kubernetes實踐之五十九:NetworkPolicy
- kubernetes實踐之十九:API概述API
- kubernetes實踐之十七:架構架構
- kubernetes實踐之八:TLS bootstrappingTLSbootAPP
- kubernetes實踐之十:Kubernetes-dashboard+Heapster+InfluxDB+GrafanaUXGrafana
- kubernetes實踐之四十二:StatefulSet
- kubernetes實踐之六十四:CoreDNSDNS
- kubernetes實踐之五十六:雲原生
- kubernetes實踐之五:網路模型模型
- kubernetes實踐之十二:部署Traefik Ingress
- kubernetes實踐之九:kube-dnsDNS
- GitOps實踐之kubernetes安裝argocdGitGo
- kubernetes實踐之五十五:kubectl之配置kubeconfig
- 掌握 Kubernetes 故障排除:有效維護叢集的優秀實踐和工具
- kubernetes實踐之四十七:ResourceQuota ControllerController
- kubernetes實踐之六十二:Secret 使用
- kubernetes實踐之六十三:使用技巧
- kubernetes生產實踐之redis-clusterRedis
- rsync 故障排查整理
- 應用故障排查