Use este modelo ao relatar um bug e forneça o máximo de informações possível. Não fazer isso pode resultar em seu bug não ser corrigido em tempo hábil. Obrigado!
O que aconteceu : tenho visto uma série de despejos recentemente que parecem ser devido à pressão do disco:
$$$ kubectl get pod kumo-go-api-d46f56779-jl6s2 --namespace=kumo-main -o yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: 2018-12-06T10:05:25Z
generateName: kumo-go-api-d46f56779-
labels:
io.kompose.service: kumo-go-api
pod-template-hash: "802912335"
name: kumo-go-api-d46f56779-jl6s2
namespace: kumo-main
ownerReferences:
- apiVersion: extensions/v1beta1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: kumo-go-api-d46f56779
uid: c0a9355e-f780-11e8-b336-42010aa80057
resourceVersion: "11617978"
selfLink: /api/v1/namespaces/kumo-main/pods/kumo-go-api-d46f56779-jl6s2
uid: 7337e854-f93e-11e8-b336-42010aa80057
spec:
containers:
- env:
- redacted...
image: gcr.io/<redacted>/kumo-go-api<strong i="8">@sha256</strong>:c6a94fc1ffeb09ea6d967f9ab14b9a26304fa4d71c5798acbfba5e98125b81da
imagePullPolicy: Always
name: kumo-go-api
ports:
- containerPort: 5000
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: default-token-t6jkx
readOnly: true
dnsPolicy: ClusterFirst
nodeName: gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
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: default-token-t6jkx
secret:
defaultMode: 420
secretName: default-token-t6jkx
status:
message: 'The node was low on resource: nodefs.'
phase: Failed
reason: Evicted
startTime: 2018-12-06T10:05:25Z
Dando uma olhada em kubectl get events
, vejo estes avisos:
$$$ kubectl get events
LAST SEEN FIRST SEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE
2m 13h 152 gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s.156e07f40b90ed91 Node Warning ImageGCFailed kubelet, gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s (combined from similar events): failed to garbage collect required amount of images. Wanted to free 473948979 bytes, but freed 0 bytes
37m 37m 1 gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s.156e3127ebc715c3 Node Warning ImageGCFailed kubelet, gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s failed to garbage collect required amount of images. Wanted to free 473674547 bytes, but freed 0 bytes
Indo um pouco mais fundo:
$$$ kubectl get event gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s.156e07f40b90ed91 -o yaml
apiVersion: v1
count: 153
eventTime: null
firstTimestamp: 2018-12-07T11:01:06Z
involvedObject:
kind: Node
name: gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s
uid: gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s
kind: Event
lastTimestamp: 2018-12-08T00:16:09Z
message: '(combined from similar events): failed to garbage collect required amount
of images. Wanted to free 474006323 bytes, but freed 0 bytes'
metadata:
creationTimestamp: 2018-12-07T11:01:07Z
name: gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s.156e07f40b90ed91
namespace: default
resourceVersion: "381976"
selfLink: /api/v1/namespaces/default/events/gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s.156e07f40b90ed91
uid: 65916e4b-fa0f-11e8-ae9a-42010aa80058
reason: ImageGCFailed
reportingComponent: ""
reportingInstance: ""
source:
component: kubelet
host: gke-kumo-customers-n1-standard-1-pree-0cd7990c-jg9s
type: Warning
Na verdade, há muito pouco aqui. Esta mensagem não diz nada sobre o motivo pelo qual o ImageGC foi iniciado ou por que não foi possível recuperar mais espaço.
O que você esperava que acontecesse : o GC da imagem funcione corretamente ou, pelo menos, não agende pods em nós que não têm espaço em disco suficiente.
Como reproduzi-lo (da forma mais mínima e precisa possível) : execute e interrompa o máximo de pods possível em um nó para estimular a pressão do disco. Em seguida, observe esses erros.
Mais alguma coisa que precisamos saber? : n / D
Meio Ambiente :
kubectl version
):Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.7", GitCommit:"0c38c362511b20a098d7cd855f1314dad92c2780", GitTreeState:"clean", BuildDate:"2018-08-20T10:09:03Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.7-gke.11", GitCommit:"fa90543563c9cfafca69128ce8cd9ecd5941940f", GitTreeState:"clean", BuildDate:"2018-11-08T20:22:21Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}
uname -a
): Darwin D-10-19-169-80.dhcp4.washington.edu 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64
/ tipo bug
/ sig gcp
Acabei de atualizar minha versão master e os nodes para 1.11.3-gke.18 para ver se isso ajudaria, mas ainda estou vendo exatamente a mesma coisa.
FWIW "Tamanho do disco de inicialização em GB (por nó)" foi definido para o mínimo, 10 Gb.
@samuela alguma atualização sobre o assunto? Eu vejo o mesmo problema.
@hgokavarapuz Nenhuma atualização até onde eu ouvi. Def parece ser um problema sério para o GKE.
@samuela Eu vi esse problema no AWS, mas consegui contornar usando um AMI diferente. Tem que verificar qual é a diferença no AMI embora isso faça com que isso aconteça.
@hgokavarapuz Interessante ... talvez isso tenha algo a ver com o sistema operacional / configuração do nó então.
No entanto, é preciso depurar mais o que exatamente causa esse problema.
Na quarta-feira, 12 de dezembro de 2018 às 13h23, samuela [email protected] escreveu:
@hgokavarapuz https://github.com/hgokavarapuz Interessante ... talvez isso
tem algo a ver com o sistema operacional / configuração do nó então.-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/kubernetes/kubernetes/issues/71869#issuecomment-446748663 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AmWWLdQjFnWgM5jeutfY6YqJBQ9l2l8gks5u4XO2gaJpZM4ZJWSq
.
-
Obrigado
Hemanth
@hgokavarapuz verifique os logs do kubelet em busca de pistas
Consegui consertar o meu. Era um problema com a AMI que estava usando, que tinha a pasta / var montada em um volume EBS com algum tamanho restrito, causando o problema com a criação de containers Docker. Não estava diretamente óbvio nos registros, mas verificar o espaço e outras coisas deixou claro.
@hgokavarapuz Tem certeza de que isso realmente corrige o problema e não requer apenas mais downloads de imagens para que o bug ocorra?
No meu caso, isso estava acontecendo dentro dos tamanhos de disco permitidos pelo GKE, então eu diria que definitivamente ainda há algum tipo de bug no GKE aqui, pelo menos.
Também seria bom ter algum tipo de posição oficial sobre o tamanho mínimo do disco necessário para executar o kubernetes em um nó sem receber esse erro. Caso contrário, não está claro exatamente o quão grande os volumes devem ser para estar dentro das especificações de execução de kubernetes.
@samuela Eu não experimentei o GKE, mas esse era o problema no AWS com alguns dos AMI's. Talvez haja um problema com o GKE.
Estamos atingindo algo semelhante no GKE v1.11.5-gke.4. Parece haver algum problema com o GC não acompanhar, como visto pelos seguintes eventos:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FreeDiskSpaceFailed 47m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 758374400 bytes, but freed 375372075 bytes
Warning FreeDiskSpaceFailed 42m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 898760704 bytes, but freed 0 bytes
Warning ImageGCFailed 42m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 898760704 bytes, but freed 0 bytes
Normal NodeHasDiskPressure 37m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 Node gke-v11-service-graph-pool-c6e93d11-k6h6 status is now: NodeHasDiskPressure
Warning FreeDiskSpaceFailed 37m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 1430749184 bytes, but freed 0 bytes
Warning ImageGCFailed 37m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 1430749184 bytes, but freed 0 bytes
Warning EvictionThresholdMet 36m (x21 over 37m) kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 Attempting to reclaim ephemeral-storage
Warning ImageGCFailed 32m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 1109360640 bytes, but freed 0 bytes
Warning FreeDiskSpaceFailed 27m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 1367126016 bytes, but freed 0 bytes
Warning ImageGCFailed 22m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 1885589504 bytes, but freed 0 bytes
Warning FreeDiskSpaceFailed 17m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 2438008832 bytes, but freed 0 bytes
Warning FreeDiskSpaceFailed 12m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 2223022080 bytes, but freed 0 bytes
Warning ImageGCFailed 7m kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 failed to garbage collect required amount of images. Wanted to free 2358378496 bytes, but freed 0 bytes
Normal NodeHasNoDiskPressure 2m (x4 over 4h) kubelet, gke-v11-service-graph-pool-c6e93d11-k6h6 Node gke-v11-service-graph-pool-c6e93d11-k6h6 status is now: NodeHasNoDiskPressure
Verificando os registros do kubelet, vejo as seguintes entradas:
Feb 07 21:15:31 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:31.447179 1594 image_gc_manager.go:300] [imageGCManager]: Disk usage on image filesystem is at 99% which is over the high threshold (85%). Trying to free 2358378496 byte
Feb 07 21:15:31 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: E0207 21:15:31.452366 1594 kubelet.go:1253] Image garbage collection failed multiple times in a row: failed to garbage collect required amount of images. Wanted to free 2358378496 b
Feb 07 21:15:31 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:31.711566 1594 kuberuntime_manager.go:513] Container {Name:metadata-agent Image:gcr.io/stackdriver-agents/stackdriver-metadata-agent:0.2-0.0.21-1 Command:[] Args:[-o Kub
Feb 07 21:15:32 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:32.004882 1594 cloud_request_manager.go:89] Requesting node addresses from cloud provider for node "gke-v11-service-graph-pool-c6e93d11-k6h6"
Feb 07 21:15:32 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:32.008529 1594 cloud_request_manager.go:108] Node addresses from cloud provider for node "gke-v11-service-graph-pool-c6e93d11-k6h6" collected
Feb 07 21:15:34 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:34.817530 1594 kube_docker_client.go:348] Stop pulling image "gcr.io/stackdriver-agents/stackdriver-logging-agent:0.8-1.6.2-1": "e807eb07af89: Extracting [==============
Feb 07 21:15:34 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: E0207 21:15:34.817616 1594 remote_image.go:108] PullImage "gcr.io/stackdriver-agents/stackdriver-logging-agent:0.8-1.6.2-1" from image service failed: rpc error: code = Unknown desc
Feb 07 21:15:34 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: E0207 21:15:34.817823 1594 kuberuntime_manager.go:733] container start failed: ErrImagePull: rpc error: code = Unknown desc = failed to register layer: Error processing tar file(exi
Feb 07 21:15:35 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: W0207 21:15:35.057924 1594 kubelet_getters.go:264] Path "/var/lib/kubelet/pods/652e958e-2b1d-11e9-827c-42010a800fdc/volumes" does not exist
Feb 07 21:15:35 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: I0207 21:15:35.058035 1594 eviction_manager.go:400] eviction manager: pods fluentd-gcp-v3.1.1-spdfd_kube-system(652e958e-2b1d-11e9-827c-42010a800fdc) successfully cleaned up
Feb 07 21:15:35 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: E0207 21:15:35.091740 1594 pod_workers.go:186] Error syncing pod 7e06145a-2b1d-11e9-827c-42010a800fdc ("fluentd-gcp-v3.1.1-bgdg6_kube-system(7e06145a-2b1d-11e9-827c-42010a800fdc)"),
Feb 07 21:15:35 gke-v11-service-graph-pool-c6e93d11-k6h6 kubelet[1594]: W0207 21:15:35.179545 1594 eviction_manager.go:329] eviction manager: attempting to reclaim ephemeral-storage
Parece que algo está segurando o GC para recuperar o armazenamento rápido o suficiente. O nó parece que eventualmente se recupera, mas alguns pods são despejados no processo.
Estou encontrando o mesmo problema. Implantei a pilha com kops na AWS e minha versão k8s é 1.11.6. O problema é que tenho um tempo de inatividade do aplicativo, uns por semana, quando ocorre a pressão do disco.
mesmo problema aqui. Eu estendi os volumes do ebs pensando que isso resolveria.
usando
ami k8s-1.10-debian-jessie-amd64-hvm-ebs-2018-08-17 (ami-009b9699070ffc46f)
Eu enfrentei um problema semelhante, mas no AKS. Quando reduzimos o cluster com az cli
e aumentamos, eu pensaria que os novos nós estão limpos, quero dizer, sem qualquer lixo, mas
$ kubectl get no
NAME STATUS ROLES AGE VERSION
aks-agentpool-11344223-0 Ready agent 77d v1.12.4
aks-agentpool-11344223-1 Ready agent 9h v1.12.4
aks-agentpool-11344223-2 Ready agent 9h v1.12.4
aks-agentpool-11344223-3 Ready agent 9h v1.12.4
aks-agentpool-11344223-4 Ready agent 9h v1.12.4
aks-agentpool-11344223-5 Ready agent 9h v1.12.4
e quando eu ssh em um deles, posso ver muitas imagens antigas como
$ docker images | grep addon-resizer
k8s.gcr.io/addon-resizer 1.8.4 5ec630648120 6 months ago 38.3MB
k8s.gcr.io/addon-resizer 1.8.1 6c0dbeaa8d20 17 months ago 33MB
k8s.gcr.io/addon-resizer 1.7 9b0815c87118 2 years ago 39MB
ou
$ docker images | grep k8s.gcr.io/cluster-autoscaler
k8s.gcr.io/cluster-autoscaler v1.14.0 ef6c40006faf 7 weeks ago 142MB
k8s.gcr.io/cluster-autoscaler v1.13.2 0f47d27d8e0d 2 months ago 137MB
k8s.gcr.io/cluster-autoscaler v1.12.3 9119261ec106 2 months ago 232MB
k8s.gcr.io/cluster-autoscaler v1.3.7 c711df426ac6 2 months ago 217MB
k8s.gcr.io/cluster-autoscaler v1.12.2 d67faca6c0aa 3 months ago 232MB
k8s.gcr.io/cluster-autoscaler v1.13.1 39c073d73c1e 5 months ago 137MB
k8s.gcr.io/cluster-autoscaler v1.3.4 6168be341178 6 months ago 217MB
k8s.gcr.io/cluster-autoscaler v1.3.3 bd9362bb17a5 7 months ago 217MB
k8s.gcr.io/cluster-autoscaler v1.2.2 2378f4474aa3 11 months ago 209MB
k8s.gcr.io/cluster-autoscaler v1.1.2 e137f4b4d451 14 months ago 198MB
o que é uma loucura, pois vejo muitos erros abaixo
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FreeDiskSpaceFailed 15m kubelet, aks-agentpool-11344223-5 failed to garbage collect required amount of images. Wanted to free 1297139302 bytes, but freed 0 bytes
Warning FreeDiskSpaceFailed 10m kubelet, aks-agentpool-11344223-5 failed to garbage collect required amount of images. Wanted to free 1447237222 bytes, but freed 0 bytes
Warning ImageGCFailed 10m kubelet, aks-agentpool-11344223-5 failed to garbage collect required amount of images. Wanted to free 1447237222 bytes, but freed 0 bytes
@samuela : Não há rótulos de assinatura sobre este assunto. Adicione um rótulo de sig por:
mencionando um sig: @kubernetes/sig-<group-name>-<group-suffix>
por exemplo, @kubernetes/sig-contributor-experience-<group-suffix>
para notificar o contrato de experiência do contribuidor, OU
especificando o rótulo manualmente: /sig <group-name>
por exemplo, /sig scalability
para aplicar o rótulo sig/scalability
Observação: o método 1 acionará um e-mail para o grupo. Veja a lista de grupos .
O <group-suffix>
no método 1 deve ser substituído por um destes: _ bugs, solicitações de recursos, pré-revisões, falhas de teste, propostas _.
Instruções para interagir comigo usando comentários de RP estão disponíveis aqui . Se você tiver dúvidas ou sugestões relacionadas ao meu comportamento, registre um problema no repositório kubernetes / test-infra .
Estou acertando isso no Openstack usando v1.11.10
O Node está completamente sem espaço em disco e os registros do kubelet agora são um loop de:
E1029 06:41:37.397348 8907 remote_runtime.go:278] ContainerStatus "redacted" from runtime service failed: rpc error: code = Unknown desc = unable to inspect docker image "sha256:redacted" while inspecting docker container "redacted": no such image: "sha256:redacted"
Oct 29 06:41:37 node-name bash[8907]: E1029 06:41:37.397378 8907 kuberuntime_container.go:391] ContainerStatus for redacted error: rpc error: code = Unknown desc = unable to inspect docker image "sha256:redacted" while inspecting docker container "redacted": no such image: "sha256:redacted"
Oct 29 06:41:37 node-name bash[8907]: E1029 06:41:37.397388 8907 kuberuntime_manager.go:873] getPodContainerStatuses for pod "coredns-49t6c_kube-system(redacted)" failed: rpc error: code = Unknown desc = unable to inspect docker image "sha256:redacted" while inspecting docker container "redacted": no such image: "sha256:redacted"
Oct 29 06:41:37 node-name bash[8907]: E1029 06:41:37.397404 8907 generic.go:241] PLEG: Ignoring events for pod coredns-49t6c/kube-system: rpc error: code = Unknown desc = unable to inspect docker image "sha256:redacted" while inspecting docker container "redacted": no such image: "sha256:redacted"
O problema para mim foi causado por um contêiner ocupando muito espaço em disco em um curto período de tempo. Isso aconteceu em vários nós. O contêiner foi removido (todos os pods no nó foram), mas o disco não foi recuperado pelo kubelet.
Tive de du /var/lib/docker/overlay -h | sort -h
para descobrir quais contêineres estavam fazendo isso e excluí-los manualmente. Isso tirou os nós de Disk Pressure
e eles se recuperaram (um deles precisava de reboot -f
).
Isso está acontecendo comigo também. Tenho 8 nós em um cluster EKS e, por algum motivo, apenas um nó está tendo esse problema de GC. Isso aconteceu duas vezes e as etapas abaixo são o que fiz para corrigir o problema. Alguém conhece um método melhor / suportado para fazer isso? https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#maintenance -on-a-node
Enfrentou o mesmo problema.
kubectl drain --delete-local-data --ignore-daemonsets $NODE_IP && kubectl uncordon $NODE_IP
foi suficiente para limpar o armazenamento do disco.
FWIW "Tamanho do disco de inicialização em GB (por nó)" foi definido para o mínimo, 10 Gb.
Muito obrigado. Funcionou comigo
nó / sig
@ HayTran94 @samuela @KIVagant @dattim
realImageGCManager # freeSpace tem log no nível 5 se determinada imagem não for elegível para GC.
por exemplo
if image.lastUsed.Equal(freeTime) || image.lastUsed.After(freeTime) {
klog.V(5).Infof("Image ID %s has lastUsed=%v which is >= freeTime=%v, not eligible for garbage collection", image.id, image.lastUsed, freeTime)
continue
Você pode colocar o nível de log em 5 e ver se há alguma pista fornecida por realImageGCManager # freeSpace?
obrigado
@rubencabrera
No log que você postou:
no such image: "sha256:redacted"
Você teve a chance de verificar se a imagem subjacente existia ou não?
obrigado
Por favor, mantenha-me fora deste ciclo.
Não sei por que fui copiado neste e-mail
Obrigado e cumprimentos,
Ashutosh Singh
Na segunda-feira, 13 de abril de 2020, 00:21 Zhihong Yu [email protected] escreveu:
@rubencabrera https://github.com/rubencabrera
No log que você postou:nenhuma imagem: "sha256: redacted"
Você teve a chance de verificar se a imagem subjacente existia ou
não ?obrigado
-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/kubernetes/kubernetes/issues/71869#issuecomment-612684868 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/ADS6CKHTR2QTDJOWNKMLX23RMI5FXANCNFSM4GJFMSVA
.
@rubencabrera
No log que você postou:no such image: "sha256:redacted"
Você teve a chance de verificar se a imagem subjacente existia ou não?
obrigado
Oi @tedyu
Sim, eu verifiquei isso, usamos alguns repositórios privados e imagens não disponíveis é um problema frequente, então foi meu primeiro pensamento ao ver esse erro. A imagem estava disponível e rodando em outros nós do mesmo cluster.
Alguém descobriu uma maneira de persuadir a coleta de lixo k8s a disparar em um disco que não seja o sistema de arquivos raiz? Devemos usar um disco secundário (SSD) para / var / lib / docker para resolver os problemas de desempenho do EKS (consulte https://github.com/awslabs/amazon-eks-ami/issues/454). Mas a coleta de lixo não dispara e às vezes estouramos esse disco secundário.
Os problemas ficam obsoletos após 90 dias de inatividade.
Marque o problema como novo com /remove-lifecycle stale
.
Problemas obsoletos apodrecem após 30 dias adicionais de inatividade e, eventualmente, fecham.
Se for seguro encerrar este problema agora, faça-o com /close
.
Envie feedback para sig-testing, kubernetes / test-infra e / ou fejta .
/ lifecycle stale
/ remove-lifecycle stale
Começamos a sofrer esse problema na semana passada. Kubernetes 1.17.9, desenvolvido com Kops 1.17.1, auto-hospedado em AWS, usando o AMI k8s-1.17-debian-stretch-amd64-hvm-ebs-2020-01-17, docker 19.03.11.
Isso aconteceu em dois nós separados na semana passada, ambos apresentando isto:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FreeDiskSpaceFailed 10m (x204 over 17h) kubelet, ip-10-224-54-0.us-west-2.compute.internal (combined from similar events): failed to garbage collect required amount of images. Wanted to free 5877565849 bytes, but freed 101485977 bytes
Warning ImageGCFailed 18s (x205 over 17h) kubelet, ip-10-224-54-0.us-west-2.compute.internal (combined from similar events): failed to garbage collect required amount of images. Wanted to free 5886654873 bytes, but freed 0 bytes
du
e df
no nó não concordam sobre quanto espaço é usado:
admin@ip-10-224-54-0:~$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 57G 48G 5.8G 90% /
admin@ip-10-224-54-0:~$ sudo du -sh /
du: cannot access '/proc/9856/task/9856/fd/3': No such file or directory
du: cannot access '/proc/9856/task/9856/fdinfo/3': No such file or directory
du: cannot access '/proc/9856/fd/4': No such file or directory
du: cannot access '/proc/9856/fdinfo/4': No such file or directory
11G /
admin@ip-10-224-54-0:~$ sudo du -sh --one-file-system /
6.6G /
Montar o dispositivo raiz em outro ponto de montagem para se livrar dos outros sistemas de arquivos montados faz com que du
concorde consistentemente sobre o espaço usado, mas df
ainda discorda:
admin@ip-10-224-54-0:~$ mkdir tmproot
admin@ip-10-224-54-0:~$ sudo mount /dev/nvme0n1p2 /home/admin/tmproot
admin@ip-10-224-54-0:~$ df -h tmproot/
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 57G 48G 5.8G 90% /home/admin/tmproot
admin@ip-10-224-54-0:~$ sudo du -sh tmproot/
6.6G tmproot/
admin@ip-10-224-54-0:~$ sudo du -sh --one-file-system tmproot/
6.6G tmproot/
Acho que isso pode ser devido a processos que mantêm arquivos excluídos abertos. Mas reiniciar o kubelet não libera esse espaço e é o processo que suspeito estar causando isso. Reiniciar o docker também não liberou espaço.
Na primeira vez que isso aconteceu, terminei encerrando o Node após várias horas de investigação infrutífera, mas agora que está acontecendo novamente, não posso fazer disso uma solução permanente para o problema.
Ponto de dados interessante: o containerd excluiu os arquivos abertos:
admin@ip-10-224-54-0:~$ sudo lsof 2>&1| grep -v "no pwd entry" | grep deleted
container 12469 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12470 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12470 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12470 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12470 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12470 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12471 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12471 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12471 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12471 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12471 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12472 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12472 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12472 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12472 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12472 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12473 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12473 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12473 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12473 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12473 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12474 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12474 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12474 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12474 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12474 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12475 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12475 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12475 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12475 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12475 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12476 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12476 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12476 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12476 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12476 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12477 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 12477 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12477 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 12477 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 12477 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 19325 root cwd DIR 0,19 40 1180407868 /run/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12 (deleted)
container 12469 19325 root 4u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 19325 root 6u FIFO 259,2 0t0 2097336 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stdout.log (deleted)
container 12469 19325 root 7u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
container 12469 19325 root 8u FIFO 259,2 0t0 2097337 /var/lib/containerd/io.containerd.runtime.v1.linux/moby/34089ad41629df20f181ed191acec724c79fc879dc49287d29184f2fedfaba12/shim.stderr.log (deleted)
O reinício de containerd.service também não liberou espaço ou eliminou esses manipuladores de arquivos.
Comentários muito úteis
Enfrentou o mesmo problema.
kubectl drain --delete-local-data --ignore-daemonsets $NODE_IP && kubectl uncordon $NODE_IP
foi suficiente para limpar o armazenamento do disco.