获取 Kubernetes pod 下容器内容器的状态
Fetch status of a container within a container under Kubernetes pod
我正在使用在 Kubernetes 集群上运行的 NVIDIA Clara Deploy SDK。它提供了从 E2E 医学图像分析(采集到 analysis/segmentation)的管道。当我使用它时,E2E 流程不起作用。因为 pod 中其中一个容器的输出是空的。虽然我能够获取主容器的日志,但我不确定如何获取特定容器内 运行 的容器日志?。
我通过在线搜索执行了以下命令,并列出了图像,
sudo kubectl get pods --all-namespaces -o jsonpath="{..image}" |tr -s '[[:space:]]' '\n' |sort |uniq -c
稍后,我执行此命令,它会列出此 pod 中的容器
sudo kubectl describe pod clara-clara-platform-7bb6f9f5c6-pdzgd
这列出了 pod 中的 5 个容器
1) 推理服务器
2) Dicom 服务器
3)渲染服务器
4)克拉拉核心
5)克拉拉仪表板
但是 clara 有容器中的容器。我是这么理解的it.not确定我说的对不对
分享以下文档供您参考。我猜以上所有容器图像都是主 "Clara-core" 容器的一部分。如何获取主容器中子容器的状态?
当我尝试获取上述容器的日志时,我没有看到有关执行 ai-container (applastchannel) 时发生的情况的任何信息?
请注意,我想获取 ai-container 的状态,在我的例子中是 "applastchannel"
这是 YAML 文件
apiVersion: v1
items:
- apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
generateName: clara-clara-platform-7bb6f9f5c6-
labels:
app.kubernetes.io/instance: clara
app.kubernetes.io/name: clara-platform
pod-template-hash: 7bb6f9f5c6
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: clara-clara-platform-7bb6f9f5c6
uid: d0f0dc14-8b7e-45e3-8528-0879c7ce9330
selfLink: /api/v1/namespaces/default/pods/clara-clara-platform-7bb6f9f5c6-
pdzgd
spec:
containers:
- args:
- --model-store=/models
command:
- trtserver
image: clara/trtis:0.1.8
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /api/health/live
port: 8000
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
name: inference-server
ports:
- containerPort: 8000
protocol: TCP
- containerPort: 8001
protocol: TCP
- containerPort: 8002
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /api/health/ready
port: 8000
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
resources: {}
securityContext:
runAsUser: 1000
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /models
name: pv-clara-volume
subPath: models
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/dicomserver:0.1.8
imagePullPolicy: Never
name: dicom-server
ports:
- containerPort: 104
hostPort: 104
name: dicom-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /payloads
name: pv-clara-volume
subPath: clara-core/payloads
- mountPath: /app/app.yaml
name: dicom-server-config
subPath: app.yaml
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/core:0.1.8
imagePullPolicy: Never
name: clara-core
ports:
- containerPort: 50051
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /app/Jobs
name: pv-clara-volume
subPath: clara-core/payloads
- mountPath: /app/Workflows
name: pv-clara-volume
subPath: clara-core/workflows
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/clara-dashboard:0.1.8
imagePullPolicy: Never
name: clara-dashboard
ports:
- containerPort: 8080
hostPort: 8080
name: dashboard-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/renderserver:0.1.8
imagePullPolicy: Never
name: render-server
ports:
- containerPort: 2050
hostPort: 2050
name: render-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /app/datasets
name: pv-clara-volume
subPath: datasets
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
imagePullSecrets:
- name: nvcr.io
nodeName: whiskey
priority: 0
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: clara-service-account
serviceAccountName: clara-service-account
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
tolerationSeconds: 300
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
tolerationSeconds: 300
volumes:
- name: pv-clara-volume
persistentVolumeClaim:
claimName: pv-clara-volume-claim
- configMap:
defaultMode: 420
items:
- key: app.Release.yaml
path: app.yaml
name: clara-configmap
name: dicom-server-config
- name: clara-service-account-token-c62fp
secret:
defaultMode: 420
secretName: clara-service-account-token-c62fp
status:
phase: Pending
qosClass: BestEffort
kind: List
metadata:
resourceVersion: ""
selfLink: ""
你能帮我实现这个吗?
查看 yaml,我在 pod 中只看到这些容器:
Image: Name:
clara/core:0.1.8 clara-core
clara/clara-dashboard:0.1.8 clara-dashboard
clara/renderserver:0.1.8 render-server
clara/trtis:0.1.8 inference-server
clara/dicomserver:0.1.8 dicom-server
我不确定你需要哪个,似乎没有什么叫做 AI,但无论哪种方式,你都可以通过以下方式检查日志:
kubectl logs clara-clara-platform-7bb6f9f5c6-pdzgd %container_name%
所以如果 inference-server
是您感兴趣的:
kubectl logs clara-clara-platform-7bb6f9f5c6-pdzgd inference-server
我正在使用在 Kubernetes 集群上运行的 NVIDIA Clara Deploy SDK。它提供了从 E2E 医学图像分析(采集到 analysis/segmentation)的管道。当我使用它时,E2E 流程不起作用。因为 pod 中其中一个容器的输出是空的。虽然我能够获取主容器的日志,但我不确定如何获取特定容器内 运行 的容器日志?。
我通过在线搜索执行了以下命令,并列出了图像,
sudo kubectl get pods --all-namespaces -o jsonpath="{..image}" |tr -s '[[:space:]]' '\n' |sort |uniq -c
稍后,我执行此命令,它会列出此 pod 中的容器
sudo kubectl describe pod clara-clara-platform-7bb6f9f5c6-pdzgd
这列出了 pod 中的 5 个容器
1) 推理服务器 2) Dicom 服务器 3)渲染服务器 4)克拉拉核心 5)克拉拉仪表板
但是 clara 有容器中的容器。我是这么理解的it.not确定我说的对不对
分享以下文档供您参考。我猜以上所有容器图像都是主 "Clara-core" 容器的一部分。如何获取主容器中子容器的状态?
当我尝试获取上述容器的日志时,我没有看到有关执行 ai-container (applastchannel) 时发生的情况的任何信息?
请注意,我想获取 ai-container 的状态,在我的例子中是 "applastchannel"
这是 YAML 文件
apiVersion: v1
items:
- apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
generateName: clara-clara-platform-7bb6f9f5c6-
labels:
app.kubernetes.io/instance: clara
app.kubernetes.io/name: clara-platform
pod-template-hash: 7bb6f9f5c6
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: clara-clara-platform-7bb6f9f5c6
uid: d0f0dc14-8b7e-45e3-8528-0879c7ce9330
selfLink: /api/v1/namespaces/default/pods/clara-clara-platform-7bb6f9f5c6-
pdzgd
spec:
containers:
- args:
- --model-store=/models
command:
- trtserver
image: clara/trtis:0.1.8
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /api/health/live
port: 8000
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
name: inference-server
ports:
- containerPort: 8000
protocol: TCP
- containerPort: 8001
protocol: TCP
- containerPort: 8002
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /api/health/ready
port: 8000
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
resources: {}
securityContext:
runAsUser: 1000
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /models
name: pv-clara-volume
subPath: models
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/dicomserver:0.1.8
imagePullPolicy: Never
name: dicom-server
ports:
- containerPort: 104
hostPort: 104
name: dicom-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /payloads
name: pv-clara-volume
subPath: clara-core/payloads
- mountPath: /app/app.yaml
name: dicom-server-config
subPath: app.yaml
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/core:0.1.8
imagePullPolicy: Never
name: clara-core
ports:
- containerPort: 50051
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /app/Jobs
name: pv-clara-volume
subPath: clara-core/payloads
- mountPath: /app/Workflows
name: pv-clara-volume
subPath: clara-core/workflows
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/clara-dashboard:0.1.8
imagePullPolicy: Never
name: clara-dashboard
ports:
- containerPort: 8080
hostPort: 8080
name: dashboard-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
- image: clara/renderserver:0.1.8
imagePullPolicy: Never
name: render-server
ports:
- containerPort: 2050
hostPort: 2050
name: render-port
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /app/datasets
name: pv-clara-volume
subPath: datasets
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: clara-service-account-token-c62fp
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
imagePullSecrets:
- name: nvcr.io
nodeName: whiskey
priority: 0
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: clara-service-account
serviceAccountName: clara-service-account
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
tolerationSeconds: 300
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
tolerationSeconds: 300
volumes:
- name: pv-clara-volume
persistentVolumeClaim:
claimName: pv-clara-volume-claim
- configMap:
defaultMode: 420
items:
- key: app.Release.yaml
path: app.yaml
name: clara-configmap
name: dicom-server-config
- name: clara-service-account-token-c62fp
secret:
defaultMode: 420
secretName: clara-service-account-token-c62fp
status:
phase: Pending
qosClass: BestEffort
kind: List
metadata:
resourceVersion: ""
selfLink: ""
你能帮我实现这个吗?
查看 yaml,我在 pod 中只看到这些容器:
Image: Name:
clara/core:0.1.8 clara-core
clara/clara-dashboard:0.1.8 clara-dashboard
clara/renderserver:0.1.8 render-server
clara/trtis:0.1.8 inference-server
clara/dicomserver:0.1.8 dicom-server
我不确定你需要哪个,似乎没有什么叫做 AI,但无论哪种方式,你都可以通过以下方式检查日志:
kubectl logs clara-clara-platform-7bb6f9f5c6-pdzgd %container_name%
所以如果 inference-server
是您感兴趣的:
kubectl logs clara-clara-platform-7bb6f9f5c6-pdzgd inference-server