- vừa được xem lúc

[K8S basic] Practice Test 01

0 0 15

Người đăng: Trịnh Quốc Việt

Theo Viblo Asia

Giới thiệu

Xin chào các bạn, như vậy trong series Kubernetes Basic chúng ta đã tìm hiểu các khái niệm của Kubernetes và các thành phần cơ bản nhất như Pod, Deployment/ReplicaSet và Service:

Trong bài hôm nay chúng ta sẽ làm cac bài tập thực hành để củng cố lại những kiến thức bên nhé! Các file tài liệu mẫu mình sẽ để ở thư mục "PracticeTest 01" ở repo tài liệu sau: https://github.com/rockman88v/kubernetes_basic_course.git

Các bài thực hành sẽ thực hiện trên namespace practice. Trước khi bắt đầu bài thực hành các bạn cần tạo trước namespace này:

kubectl create ns "practice"

Thực hành với Pod

Trước hết các bạn apply file manifest sau vào hệ thống pod-sample1.yaml bằng lệnh:

kubectl -n practice apply -f pod-sample1.yaml

Pod_Task_01:

Pod vừa được tạo có tên là gì?
Pod vừa được tạo có những container nào, tên container và image tương ứng?
Pod vừa được tạo đang có trạng thái là gì, được chạy trên node nào?
Kiểm tra log của init container trong Pod vừa tạo bên trên? 

Pod_Task_02:

Tạo Pod mới trong namespace practice có tên mynginx sử dụng image là mynginx sử dụng lệnh kubectl.
Pod trên có chạy được không? Nếu không thì lý do là gì?
Đổi lại image cho Pod trên thành nginx và kiểm tra lại kết quả tạo Pod (có thể xóa pod cũ rồi tạo lại theo image mới)

Thực hành với ReplicaSet

Trước hết các bạn apply các file manifest từ repo vào hệ thống bằng lệnh:

kubectl -n practice apply -f replicaset-sample1.yaml
kubectl -n practice apply -f replicaset-sample2.yaml
kubectl -n practice apply -f replicaset-sample3.yaml

ReplicaSet_Task_01

Việc tạo ReplicaSet từ file manifest replicaset-sample1.yaml có thành công không? Nếu không thì hãy fix lỗi cho nó

ReplicaSet_Task_02

Việc tạo ReplicaSet từ file manifest replicaset-sample2.yaml có thành công không? Nếu không thì hãy fix lỗi cho nó

ReplicaSet_Task_03

Trạng thái các Pod của ReplicaSet "replicaset-sample3" là gì?
Hãy update ReplicaSet "replicaset-sample3" đổi image thành busybox
Xóa hết các Pod hiện tại để xem các Pod mới sinh ra có running không?

Thực hành với Deployment

Trước hết các bạn apply các file manifest từ repo vào hệ thống bằng lệnh:

kubectl -n practice apply -f deployment-sample1.yaml
kubectl -n practice apply -f deployment-sample2.yaml

Deployment_Task_01

Việc tạo Deployment từ file manifest deployment-sample1.yaml có thành công không? Nếu không thì hãy fix lỗi cho nó

Deployment_Task_02

Trong namespace "practice" có bao nhiêu Deployment?
Bao nhiêu Deployment ở trạng thái ready?

Deployment_Task_03

Thực hiện sửa file "deployment-sample1.yaml" cập nhật tham số spec.resource.requests.memory từ 20Mi lên 30Mi và apply lại:

kubectl -n practice apply -f deployment-sample1.yaml
Liệt kê các ReplicaSet của Deployment "deployment-sample1" ?
Liệt kê các Pod của Deployment "deployment-sample1" ?
Các Pod này đang có cấu hình request memory bằng bao nhiêu?

Deployment_Task_04

Thực hiện rollback Deployment "deployment-sample1" về phiên bản đầu tiên
Liệt kê các Pod của Deployment "deployment-sample1" ?
Các Pod này đang có cấu hình request memory bằng bao nhiêu?
Tăng số lượng Pod cho Deployment này thành 5 Pod

Thực hành với Service

Trước hết các bạn apply các file manifest từ repo vào hệ thống bằng lệnh:

kubectl -n practice apply -f service-clusterip.yaml
kubectl -n practice apply -f service-nodeport.yaml

Service_Task_01

Việc tạo Service từ file manifest service-clusterip.yaml để expose Deployment "deployment-sample2" có thành công không? Nếu không hãy fix nó
Liệt kê các endpoints của service này?

Service_Task_02

File manifest "service-nodeport.yaml" nhằm mục tiêu expose Deployment "deployment-sample2" ra dưới dạng NodePort.
Service này apply có thành công hay không?
Nếu không hãy fix lỗi để có thể truy cập được ứng dụng ở NodePort 30888

Các bạn hãy vận dụng các lý thuyết và tập lệnh mẫu ở các bài học trước để giải quyết các yêu cầu trên ! Nếu có vướng mắc chỗ nào thì để lại comment để mình giải đáp nhé!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 2): Trigger một work flow

Events trigger. Bạn có thể cấu hình cho workflows chạy khi có một sự kiện nào đó xảy ra trên GitHub, theo một lịch có sẵn hoặc cũng có thể là một sự kiện nào đó xảy ra ngoài GitHub.

0 0 70

- vừa được xem lúc

15 phút tìm hiểu CI - Continuous Integration - Tích hợp liên tục

CI LÀ GÌ . Nói tóm lại thì CI là phương pháp được sử dụng để đảm bảo code của toàn dự án luôn build được, luôn chạy đúng (Pass toàn bộ các test case).

0 0 26

- vừa được xem lúc

Những gì bạn cần biết trước khi bắt đầu với CircleCI

Bài viết gốc: dnlblog.com.

0 0 24

- vừa được xem lúc

Tìm hiểu về tool CircleCI

Đây là bài viết tổng hợp lại kiến thức của mình khi bắt đầu tìm hiểu về CircleCI. Và một hướng dẫn đơn giản để sử dụng nó.

0 0 27

- vừa được xem lúc

What is CI/CD?

What is CI/CD. CI / CD giúp tự động hóa, giám sát liên tục trong suốt vòng đời phát triển phần mềm, từ giai đoạn tích hợp và thử nghiệm đến phân phối và triển khai.

0 0 27

- vừa được xem lúc

Nhập môn CICD với Gitlab

Chào mừng các bạn đã quay trở lại với series học Docker và CICD của mình. Từ bài này chúng ta sẽ cùng nhau tìm hiểu về các lợi ích CICD mang lại để tự động hoá toàn bộ quá trình build, test và deploy

0 0 60