Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 用于init容器的Kubectl wait命令_Kubernetes_Containers - Fatal编程技术网

Kubernetes 用于init容器的Kubectl wait命令

Kubernetes 用于init容器的Kubectl wait命令,kubernetes,containers,Kubernetes,Containers,我正在寻找用于init容器的Kubectl wait命令。基本上,我需要等到init容器的pod初始化之后,才能继续执行脚本中的下一步 我可以看到pod的等待选项,但不是特定于init容器的 有什么线索可以做到这一点吗 请建议在脚本中等待的任何替代方法。您可以在init容器或多个init容器中运行多个命令来执行此操作 多命令 参考: *多初始化容器 apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app

我正在寻找用于init容器的Kubectl wait命令。基本上,我需要等到init容器的pod初始化之后,才能继续执行脚本中的下一步

我可以看到pod的等待选项,但不是特定于init容器的

有什么线索可以做到这一点吗


请建议在脚本中等待的任何替代方法。您可以在init容器或多个init容器中运行多个命令来执行此操作


  • 多命令
参考:


*多初始化容器

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox:1.28
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']
  initContainers:
  - name: init-myservice
    image: busybox:1.28
    command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"]
  - name: init-mydb
    image: busybox:1.28
    command: ['sh', '-c', "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 2; done"]

请参阅:

谢谢您的建议。。。如果command1失败,那么我应该立即使用Kubectl logs-f podname-c initcontainer显示日志。。。我如何做到这一点。。。请注意,我无法手动执行。。我需要实现自动化最简单的解决方案是始终显示日志,而不仅仅是在init容器出现故障时。如果您希望仅在init容器出现故障时显示日志,您可能必须围绕init pod的状态编写一个包装器脚本。是的,我可以在脚本的帮助下显示日志,但这里的挑战是,我不知道init容器何时成功或失败。这就是我寻找Init containers的wait命令的主要原因。在描述pod时,您可以获得Init container的状态,请参阅:
apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox:1.28
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']
  initContainers:
  - name: init-myservice
    image: busybox:1.28
    command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"]
  - name: init-mydb
    image: busybox:1.28
    command: ['sh', '-c', "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 2; done"]