← Questões de Sistemas Operacionais

Sistemas Operacionais · FGV · 2023

Questão comentada de Sistemas Operacionais

O código a seguir corresponde a um exemplo básico do manifesto de um pod. apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:1.14.2 name: nginx resources: requests: cpu: "500m" memory: "128Mi" ports: - containerPort: 80 name: http protocol: TCP Em relação aos manifestos, pods e sua execução, assinale a afirmativa incorreta.

Gabarito: E

Em Kubernetes, o manifesto do Pod é basicamente a receita do que vai rodar: metadados dizem quem é o objeto, e spec diz como ele deve ser executado. Dentro de spec, você descreve os containers, imagens, portas, variáveis, volumes e outras configurações. É por isso que a letra D está alinhada com a estrutura clássica de um manifesto de Pod. Sobre execução, o kubectl apply -f arquivo.yaml serve para criar ou atualizar o recurso descrito no manifesto, não para ficar preso à ideia de "iniciar uma única instância" como se fosse um comando de execução direta. Quem cria o Pod é o controlador do Kubernetes, que agenda o objeto em um nó disponível do cluster. Depois disso, o kubelet no nó acompanha o estado do Pod e tenta mantê-lo conforme o desejado. Isso explica a letra C. A parte que derruba a questão está nos recursos. Em Kubernetes, requests e limits são definidos por container, não por Pod como um bloco único. Se o Pod tiver vários containers, cada um pode ter seus próprios valores de CPU e memória, e o consumo total do Pod será a soma dos containers, não o maior valor entre eles. Então a ideia da letra E mistura conceitos e fica incorreta. Resumindo a lógica da prova: manifestos descrevem a configuração, o scheduler escolhe o nó, o kubelet cuida da execução local, e recursos são pensados no nível do container. Em documentação oficial do Kubernetes, a seção de resources é parte da especificação do container, o que confirma o ponto central cobrado pela banca.

Continue treinando

Questões relacionadas