Correcção de uma emissão de LVM em Kubernetes On AWS

Temos vindo a migrar a nossa infra-estrutura legada para Kubernetes. A capacidade de implantar em segundos faz uma enorme diferença em termos do número de inclinar-se experiências que podemos fazer. Kubernetes dá-nos uma maneira de gerir a simplicidade do contentor Docker a uma escala que pode lidar com 1 bilião de eventos widget com o correspondente processamento de dados que precisa de acontecer.

Embora Kubernetes seja fantástica, é ainda relativamente nova e há muitos lugares para contribuir. Tudo começou quando o nosso nó mestre se afundou no AWS - não voltou a subir. Devia ter voltado. Os nós no AWS estão configurados para voltar a subir sem problemas. Isto levou ao meu primeiro cometer. Depois de escavar nos registos do sistema, vi este erro gritante:

The disk drive for /mnt/ephemeral is not ready yet or not present.
keys:Continue to wait, or Press S to skip mounting or M for manual recovery

Investigando a fonte, descobri que na AWS, os scripts Kubernetes criam um volume LVM para armazenar os dados.

lvcreate -l 100%FREE --thinpool pool-ephemeral vg-ephemeral

Executar o código parecia funcionar. Mais do que isso, o mestre trabalhou na inicialização. O que estava a acontecer? Eu entrei num master existente e procurei o volume lógico. Não estava lá! O diretório estava lá, mas o volume não estava.

Voltando aos logs do sistema (desde o primeiro boot), vemos este erro em 'lvcreate':

Insufficient free space: 3905 extents needed, but only 3897 available

Aparentemente, este é um problema na lvcreate em geral: você não pode usar 100%FREE com uma piscina fina! Vai falhar. Você pode ver mais detalhes no bilhete.

Bem, não havia necessidade de usar uma piscina fina para isto. Não estamos a fornecer demasiado o disco em Kubernetes -> o meu primeiro pedido de puxar! Eu assinei o Contrato de Licença de Contribuinte e o resto é história.

Temos agora 4 grupos de produção Kubernetes com dezenas de cápsulas (e nós mestres reinicializáveis) e estamos ansiosos pelo trabalho de estabilidade e alta disponibilidade que virá em "Ubernetes". Se você está interessado em resolver problemas como este, gostaríamos de ter você junte-se à nossa equipa!

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado