【问题标题】:Istio-init container has gone to crash loopbackoffIstio-init 容器已经崩溃 loopbackoff
【发布时间】:2021-01-20 03:50:20
【问题描述】:

我是 istio-init(版本 1.6.5)作为我的 k8s 集群中的 sidecar 容器,它工作了一段时间。今天,我的 pod 出乎意料地进入了 Init:CrashloopbackOff

NAME                                 READY       STATUS                     RESTARTS       AGE 
healthscore-green-79c9c5c764-cndm6    0/2       Init:CrashLoopBackOff          388        2d17h

关于 kubectl 描述它显示:

istio-init: 
  Container ID: docker://657be7ddd9058406da7768596c81490b426a376816b8b4f20fbb63c0c44b5a13 
  Image: docker.io/istio/proxyv2:1.6.5 
  Image ID: docker-pullable://istio/proxyv2@sha256:ec2df06d76e8845fbce0ac1b4b85ab06a7beabab8a69fcc3bb2b573378b71c47
  Port: Host 
  Port: Args: istio-iptables -p 15001 -z 15006 -u 1337 -m REDIRECT -i * -x -b * -d 15090,15021,15020      
  State: Waiting 
  Reason: CrashLoopBackOff 
  Last State: Terminated Reason: 
  Error Exit Code: 2 
  Started: Mon, 28 Sep 2020 14:21:23 +0530 
  Finished: Mon, 28 Sep 2020 14:21:23 +0530
  Ready: False 
  Restart Count: 392 
  Limits:
    cpu: 100m 
    memory: 50Mi
  Requests: 
     cpu: 10m
     memory: 10Mi

并且 istio-container 的 kubectl 日志打印以下堆栈跟踪: https://pastebin.com/GAuNndd5

我还注意到一件事,因为根据 kubernetes,istio-init side car 失败了,但我的应用程序能够处理 http 请求。 它会在一段时间后自动修复。 但偶尔会再次发生。

【问题讨论】:

    标签: kubernetes istio amazon-eks


    【解决方案1】:

    从日志中它无法找到executeIptablesRestoreCommand。 kubernetes 节点可能已经重新启动或升级。通过在 kubernetes 节点上执行 sudo setenforce 0 暂时禁用 SELinux,然后重新运行 istioctl kube-inject

    【讨论】:

    • 感谢您的回复。我会试试你的建议。但是在生产环境中解决这个问题的正确方法是什么
    • 你的 istio 版本是什么?
    • 最新版本 service.istio.io/canonical-revision: latest
    • 当我检查 SELinux 在所有节点中被禁用。
    猜你喜欢
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 2021-08-07
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多