wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

VTI - Docker, K8s

Total questions: 75

Worksheet time: 1hrs 15mins

Name
Class
Date
1.

Docker là gì?

a)

Một ngôn ngữ lập trình mới

b)

Một dịch vụ lưu trữ đám mây

c)

Một hệ điều hành

d)

Một nền tảng để phát triển, vận chuyển và chạy ứng dụng bằng container

2.

Docker Image là gì?

a)

Một file cấu hình cho máy chủ

b)

Một máy ảo hoàn chỉnh

c)

Một bản snapshot của container

d)

Một mẫu không thay đổi dùng để tạo container

3.

Docker Container là gì?

a)

Một loại phần mềm antivirus

b)

Một bản sao của Docker Image đã được chạy

c)

Một công cụ quản lý mạng

d)

Một module lập trình

4.

Lệnh docker ps dùng để làm gì?

a)

Dừng một container

b)

Tạo một image mới

c)

Hiển thị danh sách các container đang chạy

d)

Xóa tất cả container

5.

Lệnh nào dùng để build Docker image từ Dockerfile?

a)

docker run

b)

docker pull

c)

docker start

d)

docker build

6.

Dockerfile dùng để làm gì?

a)

Lưu trữ dữ liệu trong container

b)

Thiết lập các thông số bảo mật

c)

Cấu hình hệ thống mạng

d)

Tự động tạo Docker image

7.

Lệnh nào dùng để xóa một container?

a)

docker stop

b)

docker kill

c)

docker delete

d)

docker rm

8.

Port mặc định của Docker daemon là gì?

a)

443

b)

2375

c)

8080

d)

5000

9.

Docker Compose dùng để làm gì?

a)

Tăng hiệu suất của container

b)

Tự động cập nhật Docker

c)

Quản lý nhiều container như một dịch vụ

d)

Xác thực người dùng

10.

Lệnh nào tạo và chạy container mới từ image?

a)

docker init

b)

docker start

c)

docker exec

d)

docker run

11.

Volume trong Docker dùng để?

a)

Lưu trữ dữ liệu ngoài container để không mất khi container bị xóa

b)

Thêm RAM cho container

c)

Giám sát log hệ thống

d)

Tạo file backup

12.

Làm cách nào để tải image từ Docker Hub?

a)

docker push

b)

docker get

c)

docker fetch

d)

docker pull

13.

Lệnh docker logs dùng để?

a)

Theo dõi tiến trình khởi động container

b)

Ghi log của Docker daemon

c)

Hiển thị log của một container cụ thể

d)

Xóa log hệ thống

14.

Làm sao để dừng một container đang chạy?

a)

docker pause

b)

docker remove

c)

docker restart

d)

docker stop

15.

Câu lệnh nào dùng để chạy container ở chế độ nền (background)?

a)

docker run -f

b)

docker run -b

c)

docker run -it

d)

docker run -d

16.

Bạn muốn chạy một container mới từ image nginx và ánh xạ cổng 8080 trên host đến 80 trong container. Lệnh nào đúng?

a)

docker run nginx -p 80:8080

b)

docker run -p 8080:80 nginx

c)

docker start -p 8080:80 nginx

d)

docker create nginx -p 8080:80

17.

Lệnh nào dùng để liệt kê tất cả các container, kể cả đã dừng?

a)

docker ps -q

b)

docker ps --all

c)

docker list --all

d)

docker containers --a

18.

Bạn muốn chạy container ở chế độ tương tác, có thể gõ lệnh bên trong. Lệnh nào đúng?

a)

docker run -d

b)

docker r

19.

Bạn muốn chạy container ở chế độ tương tác, có thể gõ lệnh bên trong. Lệnh nào đúng?

a)

docker run -d

b)

docker run -p

c)

docker run -it

d)

docker run -rm

20.

Làm sao để xóa một image có tên myapp?

a)

docker delete myapp

b)

docker image remove myapp

c)

docker rmi myapp

d)

docker img rm myapp

21.

Bạn muốn mount thư mục /data trên máy host vào container tại /app/data, lệnh nào đúng?

a)

docker run -v /app/data:/data myimage

b)

docker run -v /data:/app/data myimage

c)

docker mount /data:/app/data myimage

d)

docker attach -v /data:/app/data myimage

22.

Làm sao để tạo một Dockerfile đơn giản chạy lệnh echo "Hello Docker" khi khởi động?

a)

FROM alpine CMD echo "Hello Docker"

b)

BASE alpine RUN echo "Hello Docker"

c)

OS alpine ENTRYPOINT echo Hello

d)

ENV alpine CMD "Hello Docker"

23.

Bạn muốn tạo một volume tên là mydata, lệnh đúng là?

a)

docker make volume mydata

b)

docker create volume mydata

c)

docker volume create mydata

d)

docker build volume mydata

24.

Lệnh docker exec -it container_name bash dùng để?

a)

Chạy container mới

b)

Gắn volume vào container

c)

Tạo image từ container

d)

Mở bash shell trong container đang chạy

25.

Lệnh nào hiển thị thông tin hệ thống Docker (version, storage, containers...)?

a)

docker logs

b)

docker info

c)

docker version --all

d)

docker status

26.

Bạn đang dùng Docker Compose. Lệnh nào để khởi động tất cả dịch vụ trong file docker-compose.yml?

a)

docker compose init

b)

docker-compose up

c)

docker-compose run

d)

docker-compose build

27.

Muốn container tự xóa sau khi dừng, thêm flag nào?

a)

--rm

b)

--clean

c)

--reset

d)

--remove

28.

Bạn muốn export image myimage ra file myimage.tar, lệnh đúng là?

a)

docker save -o myimage.tar myimage

b)

docker backup myimage myimage.tar

c)

docker export myimage > myimage.tar

d)

docker extract myimage -o myimage.tar

29.

Lệnh docker-compose down có tác dụng gì?

a)

Chỉ dừng container

b)

Dừng và xóa container, mạng, volume do Compose tạo ra

c)

Xóa file YAML

d)

Reset Docker engine

30.

Bạn dùng Dockerfile để cài Node.js, câu nào đúng?

a)

FROM node

b)

BASE node

c)

INSTALL node

d)

SOURCE node

31.

Câu lệnh để đẩy image myapp lên Docker Hub?

a)

docker export myapp

b)

docker push myapp

c)

docker upload myapp

d)

docker send myapp

32.

Kubernetes là gì?

a)

Một hệ điều hành dành cho server

b)

Một công cụ CI/CD

c)

Một nền tảng điều phối container mã nguồn mở

d)

Một hệ thống giám sát ứng dụng

33.

Thành phần nào trong K8s chịu trách nhiệm quản lý trạng thái cụm (cluster)?

4 lines
34.

Thành phần nào trong K8s chịu trách nhiệm quản lý trạng thái cụm (cluster)?

a)

Pod

b)

Node

c)

kubelet

d)

kube-apiserver

35.

Một Pod trong K8s có thể chứa gì?

a)

Chỉ một container

b)

Một hoặc nhiều container chia sẻ network và storage

c)

Một service

d)

Một node

36.

Lệnh nào dùng để xem tất cả Pod trong namespace mặc định?

a)

kubectl list pod

b)

kubectl get pods

c)

kubectl show pods

d)

kubectl pods all

37.

Kubernetes Service có chức năng gì?

a)

Lưu trữ dữ liệu

b)

Quản lý user

c)

Phân phối lưu lượng đến các Pod

d)

Quản lý container image

38.

ReplicaSet trong Kubernetes dùng để làm gì?

a)

Triển khai Pod

b)

Đảm bảo số lượng Pod luôn đúng như mong muốn

c)

Quản lý node

d)

Cấu hình volume

39.

Lệnh kubectl apply -f deployment.yaml dùng để?

a)

Xóa một deployment

b)

Kiểm tra cấu trúc file YAML

c)

Tạo hoặc cập nhật tài nguyên theo file YAML

d)

Xem log của Pod

40.

ConfigMap dùng để làm gì trong Kubernetes?

a)

Chứa biến môi trường, config cho ứng dụng

b)

Lưu log

c)

Lưu mật khẩu

d)

Cấu hình mạng

41.

Thành phần nào quản lý việc lên lịch cho Pod đến Node thích hợp?

a)

etcd

b)

Kubelet

c)

kube-scheduler

d)

kubectl

42.

Namespace trong K8s giúp gì?

a)

Lưu trữ dữ liệu

b)

Quản lý role người dùng

c)

Phân chia tài nguyên giữa các nhóm người dùng hoặc ứng dụng

d)

Giảm tiêu thụ RAM

43.

Lệnh nào dùng để mô tả chi tiết một Pod?

a)

kubectl info pod

b)

kubectl show pod

c)

kubectl describe pod [tên_pod]

d)

kubectl details pod

44.

Tài nguyên nào trong K8s giúp cập nhật container mà không downtime?

a)

Pod

b)

ConfigMap

c)

Deployment

d)

ReplicaSet

45.

ClusterIP trong Kubernetes là gì?

a)

Địa chỉ IP nội bộ để giao tiếp giữa các Pod

b)

Địa chỉ IP công cộng

c)

IP của node

d)

IP để truy cập K8s Dashboard

46.

Thành phần lưu trữ cấu hình toàn bộ cụm Kubernetes là?

a)

kube-proxy

b)

controller-manager

c)

kube-apiserver

d)

etcd

47.

Làm sao để forward port từ Pod ra host?

a)

kubectl route

b)

kubectl connect

c)

kubectl port-forward pod-name 8080:80

d)

kubectl open-port pod-name

48.

Bạn muốn tạo một Pod từ file nginx-pod.yaml. Lệnh nào đúng?

a)

kubectl create nginx-pod.yaml

b)

kubectl init -f nginx-pod.yaml

c)

kubectl run -f nginx-pod.yaml

d)

kubectl apply -f nginx-pod.yaml

49.

Để xem log của Pod tên là web-pod, bạn dùng lệnh nào?

a)

kubectl pod logs web-pod

b)

kubectl view log web-pod

c)

kubectl logs web-pod

d)

kubectl get logs web-pod

50.

Muốn scale deployment my-deploy lên 5 replicas, lệnh đúng là?

a)

kubectl resize deployment my-deploy --replicas=5

b)

kubectl scale deployment my-deploy --replicas=5

c)

kubectl replicate my-deploy 5

d)

kubectl extend my-deploy -r 5

51.

Bạn muốn tạo một ConfigMap từ file app.properties. Lệnh đúng là?

a)

kubectl config create app-config --from=app.properties

b)

kubectl create configmap app-config --from-file=app.properties

c)

kubectl make configmap app-config=app.properties

d)

kubectl add config --file app.properties

52.

Muốn xoá một Pod tên là temp-pod, bạn dùng lệnh nào?

a)

kubectl delete pod temp-pod

b)

kubectl remove temp-pod

c)

kubectl drop pod temp-pod

d)

kubectl kill pod temp-pod

53.

Bạn muốn chạy một Pod tạm thời để kiểm tra DNS, lệnh nào đúng?

a)

kubectl debug busybox -- sh

b)

kubectl exec busybox

c)

kubectl run busybox --image=busybox --rm -it -- sh

d)

kubectl create busybox pod

54.

File YAML nào sẽ tạo một Pod có image là nginx:latest?

a)

image: nginx

b)

image: nginx:latest

c)

container: nginx:1.20

d)

version: latest

55.

Bạn muốn expose Deployment api-deploy thành một service ClusterIP, dùng lệnh nào?

a)

kubectl expose pod api-deploy --type=ClusterIP

b)

kubectl expose deployment api-deploy --type=ClusterIP --port=80

c)

kubectl publish api-deploy --port=80

d)

kubectl connect api-deploy --internal

56.

Muốn forward cổng 8080 trên máy tới Pod app-pod đang nghe cổng 80, lệnh nào đúng?

a)

kubectl forward app-pod 8080:80

b)

kubectl port-forward app-pod 8080:80

c)

kubectl map-port app-pod 8080-80

d)

kubectl proxy-port app-pod 8080-80

57.

Muốn hiển thị tất cả Pod trong namespace test, dùng lệnh nào?

a)

kubectl get pods --ns=test

b)

kubectl pods -n test

c)

kubectl get pods -n test

d)

kubectl get all test

58.

Bạn muốn apply một Secret từ cặp key-value, lệnh nào đúng?

a)

kubectl apply secret my-secret key=value

b)

kubectl create secret generic my-secret --from-literal=key=value

c)

kubectl generate secret my-secret key=value

d)

kubectl add secret my-secret -k value

59.

Trong một YAML file, phần spec.replicas: 3 nghĩa là gì?

a)

Số port cần mở

b)

Số lần lặp lại Pod

c)

Số lượng replica mong muốn

d)

Số node trong cụm

60.

Câu lệnh nào dùng để cập nhật lại image cho deployment webapp?

a)

kubectl update deployment webapp --image=nginx:latest

b)

kubectl rollout webapp update

61.

Pod là gì trong Kubernetes?

a)

Một node vật lý

b)

Một nhóm container có thể chia sẻ network và storage

c)

Một dịch vụ

d)

Một volume

62.

Service với type NodePort dùng để?

a)

Expose Pod ra ngoài cluster thông qua port của node

b)

Giới hạn truy cập nội bộ cluster

c)

Tạo configmap

d)

Quản lý persistent volume

63.

Ingress Controller trong Kubernetes dùng để?

a)

Quản lý các PVC

b)

Chuyển hướng lưu lượng HTTP đến service tương ứng

c)

Theo dõi log

d)

Kết nối các container bên trong pod

64.

Persistent Volume (PV) là gì?

a)

Một loại container đặc biệt

b)

Một dịch vụ lưu trữ tạm thời

c)

Tài nguyên lưu trữ trong cluster được cung cấp bởi admi

d)

Chỉ dùng trong StatefulSet

65.

Persistent Volume Claim (PVC) là gì?

a)

Một yêu cầu truy cập tới volume từ Pod

b)

Một log của volume

c)

Một replica của volume

d)

Một loại deployment

66.

ReplicaSet khác gì với Pod?

a)

ReplicaSet không cần YAML

b)

ReplicaSet không kiểm soát Pod

c)

ReplicaSet đảm bảo số lượng Pod luôn đạt yêu cầu

d)

ReplicaSet là một node đặc biệt

67.

StatefulSet phù hợp nhất cho ứng dụng nào?

a)

Web server không lưu trạng thái

b)

Cron job

c)

Database cần lưu trữ và định danh cố định

d)

Load balancer

68.

DaemonSet dùng để?

a)

Chạy 1 Pod duy nhất trong cluster

b)

Chạy một Pod trên tất cả các node

c)

Tạo ingress rule

d)

Phân quyền RBAC

69.

Tài nguyên nào thường dùng để log hoặc giám sát (monitoring) ở cấp độ node?

a)

ReplicaSet

b)

CronJob

c)

DaemonSet

d)

Service

70.

Khi dùng StatefulSet, thứ tự khởi động Pod như thế nào?

a)

Ngẫu nhiên

b)

Theo chữ cái

c)

Từ Pod cuối lên đầu

d)

Theo thứ tự tăng dần: 0 → n

71.

Bạn muốn dùng volume có tên là data-volume, bước nào cần làm?

a)

Tạo Deployment

b)

Khai báo trong ConfigMap

c)

Tạo PVC trỏ tới PV có tên data-volume

d)

Tạo Pod có label data-volume

72.

Ingress có thể route đến các Service dựa trên?

a)

Node name

b)

Container name

c)

Port nội bộ

d)

Path hoặc host trong HTTP request

73.

Bạn muốn tạo Service nội bộ để các Pod khác gọi, nên dùng kiểu nào?

a)

LoadBalancer

b)

NodePort

c)

ClusterIP

d)

ExternalName

74.

Lệnh nào giúp kiểm tra xem PVC đã được bind với PV chưa?

a)

kubectl describe pod

b)

kubectl get volumes

c)

kubectl get pvc

d)

kubectl status pv

75.

Pod được xóa khỏi StatefulSet sẽ như thế nào?

a)

Tự động tạo lại với tên mới

b)

Bị xóa và không khôi phục

c)

Tên cũ được giữ nguyên khi tạo lại

d)

Chuyển thành Deployment