Pular para o conteúdo principal

Questão de Sistemas Operacionais — Cloud Computing — FGV 2024

Sistemas OperacionaisCloud Computing
Código
fg099934
Banca
FGV
Órgão
TJ-RR
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Desenvolvimento de Sistemas
No Kubernetes, há duas formas de aplicar mudanças na configuração de uma aplicação: imperativa e declarativa.Considere os dois comandos a seguir: 1: kubectl create -f exemplo.yaml 2: kubectl apply -f exemplo-deployment.yaml Nesse caso, é correto afirmar que
  1. A1 é um exemplo de comando declarativo, em que o kubectl especifica a operação que se deseja aplicar.
  2. B2 é um exemplo de comando imperativo, em que o kubectl especifica a operação que se deseja aplicar.
  3. C2 é um exemplo de comando imperativo, em que o usuário não define que operações serão executadas.
  4. D1 é um exemplo de comando declarativo, em que o sistema do Kubernetes decidirá a melhor forma de aplicá-lo.
  5. E2 é um exemplo de comando declarativo, em que o sistema do Kubernetes decidirá a melhor forma de aplicá-lo.
Revelar gabarito e comentário

GabaritoE — 2 é um exemplo de comando declarativo, em que o sistema do Kubernetes decidirá a melhor forma de aplicá-lo.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Kubernetes – Comandos Imperativos vs Declarativos

Gabarito: letra E. O comando kubectl apply -f exemplo-deployment.yaml é um exemplo de abordagem declarativa, na qual o usuário especifica o estado desejado (o YAML) e o Kubernetes decide as operações necessárias para atingir esse estado. Já o kubectl create -f exemplo.yaml é um comando imperativo, que instrui diretamente a criação do recurso. A alternativa E reflete exatamente essa definição.

A banca testa o conhecimento das duas formas de gerenciamento de configuração no Kubernetes. A chave está em entender que no modo declarativo o foco está no estado final desejado, enquanto no imperativo o foco está na operação a ser executada (criar, deletar, etc.).

Característica

Comando 1: kubectl create -f exemplo.yaml

Comando 2: kubectl apply -f exemplo-deployment.yaml

Abordagem

Imperativa

Declarativa

Foco

Operação a ser executada (criar)

Estado final desejado

Quem decide as operações

Usuário (especifica diretamente)

Kubernetes (compara YAML com estado atual)

Gerenciamento de configuração
  • 1Imperativo
    • Foco na operação
    • Exemplo: kubectl create
  • 2Declarativo
    • Foco no estado desejado
    • Exemplo: kubectl apply
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que o comando 1 (kubectl create) é declarativo. Na verdade, create é um comando imperativo, pois especifica diretamente a operação de criação. O erro está em classificar o comando como declarativo.

Alternativa B — ❌ Incorreta

Afirma que o comando 2 (kubectl apply) é imperativo. apply é o principal comando declarativo do Kubernetes. Ele compara o YAML fornecido com o estado atual e aplica as alterações necessárias.

Alternativa C — ❌ Incorreta

Além de classificar apply como imperativo, diz que o usuário “não define que operações serão executadas”. No modo declarativo, o usuário define o estado desejado (não as operações), mas a frase está incorreta por associar isso ao imperativo. No imperativo, o usuário define explicitamente a operação.

Alternativa D — ❌ Incorreta

Afirma que create é declarativo. Mesmo erro da alternativa A. create é imperativo.

Alternativa E — ✅ Correta ⟵ GABARITO

Correta: kubectl apply é declarativo; o Kubernetes analisa o YAML, compara com o estado atual e decide quais operações (create, patch, delete) realizar para chegar ao estado desejado. O usuário não especifica a operação, mas o estado.

NÃO CAIA NESSA!

A banca explora a confusão comum entre kubectl create e kubectl apply. Ambos aceitam um arquivo YAML, mas um é imperativo (create) e o outro declarativo (apply). Lembre-se: no imperativo você dita o que fazer (criar, deletar); no declarativo você diz como quer que fique e o sistema descobre o que fazer. Fique atento: o termo "aplicar" (apply) dá a dica de que você está aplicando uma configuração, não executando uma operação bruta.

Gabarito: letra E.

Link permanente: /questoes/fg099934