Skip to content

Thanhlongnguyen1012/Cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

LAB1

Xây dựng các tài nguyên lên cụm Kubernetes

1. Tạo file yaml

Viết file lab1.yaml để tạo ServiceDeployment. Trước khi tạo Deployment ta kiểm tra cụm:

This is an alt text.

2. Tạo Service và Deployment với câu lệnh:

kubectl apply -f lab1.yaml

Sau khi tạo ta kiểm tra hoạt động của Service và các Pod đã được tạo:

This is an alt text.

Kết quả

Với cụm có <Ip-Node>có thể sử dụng câu lệnh theo Service loại NodePort:

http://<nodeIP>:nodePort

Kiểm tra <Ip-Node> hay EXTERNAL-IPsau khi thực hiện câu lệnh:

kubectl get nodes -o wide 

This is an alt text.

Trong cụm minikube không có EXTERNAL-IP nên ta thực hiện mở ứng dụng bằng lệnh service.

Sử dụng lệnh để khởi động service

minikube service nginx-default-service

Minikube tự động mở trình duyệt mặc định:

This is an alt text. This is an alt text.

curl http://127.0.0.1:56632

LAB2

Đóng gói ứng dụng và đưa lên Docker Hub

1. Đóng gói container

Download template tại antique-cafe.

Dùng lệnh cd đến thư mục chứa template đã giải nén và ở trong ví dụ này ta mở bằng thư mục bằngvisual studio code. Thực hiện tạo Dockerfilenginx.confcùng cấp.

cd [thư_mục_đích]

Khởi động Docker desktop và Sử dụng lệnh docker build để tạo image:

docker build -t static-web1-final .

This is an alt text.

Chạy container bằng lệnh docker run:

docker run -d -p 127.0.0.1:80:80 static-web1-final

This is an alt text. Ta kiểm tra trên docker desktop thấy container ở trạng thái Running có nghĩa là đã tạo image thành công :

This is an alt text. Mở trình duyệt (browser) địa chỉ để thấy ứng dụng:

http://127.0.0.1:80

This is an alt text. Hoặc sử dụng lệnh curl:

curl http://127.0.0.1:80

This is an alt text.

2. Chia sẻ ứng dụng lên dockerhub

Gắn tag cho ứng dụng bằng lệnh docker tag:

docker tag static-web1-final thanhlongnguyen1012/static-web1-final

Sử dụng lệnh doker push để đưa ứng dụng lên `docker hub':

docker push thanhlongnguyen1012/static-web1-final

This is an alt text.

Mở docker hub kiểm tra image đã được chia sẻ thành công:

This is an alt text.

Xây dựng tài nguyên lên cụm Kubernetes

1. Tạo file lab2.yaml và tạo Deployment và Service bằng câu lệnh:

kubectl apply -f lab2.yaml

2. Kiểm tra trạng thái các tài nguyên vừa tạo:

Kiểm tra hoạt động của các Pod bằng câu lệnh:

kubectl get pod

Kiểm tra hoạt động của các Service bằng câu lệnh:

kubectl get service

This is an alt text.

3. Mở ứng dụng vừa tạo

Với cụm có <Ip-Node>có thể sử dụng câu lệnh theo Service loại NodePort:

http://<nodeIP>:nodePort

Kiểm tra <Ip-Node> hay EXTERNAL-IPsau khi thực hiện câu lệnh:

kubectl get nodes -o wide 

This is an alt text.

Trong cụm minikube không có EXTERNAL-IP nên ta thực hiện mở ứng dụng bằng lệnh:

minikube service static-web1-service

This is an alt text. Câu lệnh trên mở browser mặc định:

This is an alt text. Có thể thực hiện lệnh curl:

curl http://127.0.0.1:53569

This is an alt text.

LAB3

Đóng gói ứng dụng và đưa lên Docker Hub

1. Đóng gói web tĩnh thứ 2

Cách làm tương tự như ở lab2. Trang web được sử dụng ở đây được download tại makaan template.

Khởi động Docker desktop và Sử dụng lệnh docker build để tạo image:

docker build -t static-web2-final .

Chạy container bằng lệnh docker run:

docker run -d -p 127.0.0.1:80:80 static-web2-final

This is an alt text.

Mở trình duyệt (browser) để thấy ứng dụng với địa chỉ:

http://127.0.0.1:80

This is an alt text.

Hoặc sử dụng lệnh curl:

curl http://127.0.0.1:80

This is an alt text.

2. Chia sẻ ứng dụng lên dockerhub

Gắn tag cho ứng dụng bằng lệnh docker tag:

docker tag static-web2-final thanhlongnguyen1012/static-web2-final

Sử dụng lệnh doker push để đưa ứng dụng lên `docker hub':

docker push thanhlongnguyen1012/static-web2-final

This is an alt text.

Mở Docker Hub kiểm tra image đã được chia sẻ thành công:

This is an alt text.

Triển khai các tài nguyên lên Kubernetes

1. Tạo tài nguyên cho web 2 bằng file yaml:

chú ý nếu đã tạo tài nguyên bằng file lab2.yaml thì không tạo bằng file lab3-1.yaml để tránh xung đột vì 2 file giống hệt nhau, đều có mục đích là tạo tài nguyên web1 tĩnh

Sử dụng file lab3-2.yamlcâu lệnh sau để tạo DeploymentService cho trang web thứ 2:

kubectl apply -f lab3-2.yaml

Kiểm tra hoạt động của các Pod bằng câu lệnh:

kubectl get pod

Kiểm tra hoạt động của các Service bằng câu lệnh:

kubectl get service

This is an alt text.

Sử dụng lệnh để khởi động Service

Với cụm có <Ip-Node>có thể sử dụng câu lệnh theo Service loại NodePort:

http://<nodeIP>:nodePort

Kiểm tra <Ip-Node> hay EXTERNAL-IPsau khi thực hiện câu lệnh:

kubectl get nodes -o wide 

This is an alt text.

Trong cụm minikube không có EXTERNAL-IP nên ta thực hiện mở ứng dụng bằng lệnh:

minikube service static-web2-service

Minikube tự động mở trình duyệt mặc định:

This is an alt text.

This is an alt text.

Có thể thực hiện lệnh curl:

curl http://127.0.0.1:55185

2. Tạo tài nguyên cho nginx-proxy

Tạo configmap để cấu hình NGINX Reverse Proxy theo yêu cầu:

kubectl apply -f lab3-3.yaml

Sử dụng file lab3-4.yamlcâu lệnh sau để tạo DeploymentService cho trang web thứ 2:

kubectl apply -f lab3-4.yaml

Kiểm tra hoạt động của các Pod bằng câu lệnh:

kubectl get pod

Kiểm tra hoạt động của các Service bằng câu lệnh:

kubectl get service

This is an alt text.

Sử dụng lệnh để khởi động Service

Với cụm có <Ip-Node>có thể sử dụng câu lệnh theo Service loại NodePort:

http://<nodeIP>:nodePort

Kiểm tra <Ip-Node> hay EXTERNAL-IPsau khi thực hiện câu lệnh:

kubectl get nodes -o wide 

This is an alt text.

Trong cụm minikube không có EXTERNAL-IP nên ta thực hiện mở ứng dụng bằng lệnh:

minikube service nginx-proxy

Minikube tự động mở trình duyệt mặc định:

This is an alt text.

This is an alt text.

Có thể thực hiện lệnh curl:

curl http://127.0.0.1:55231

3. Kết quả khi cấu hình xong cụm

Thực hiện curl path/web1

curl http://127.0.0.1:55231/web1

Kết quả thu được là:

This is an alt text.

Chú ý rằng phải truy cập có thêm / đằng sau nếu muốn xuất hiện giao diện web một cách đầy đủ, vì khi có dấu / thì nginx mới hiểu và lấy đủ các file html,htm... trong source code.

Ta có thể mở bằng browser bằng câu lệnh:

http://127.0.0.1:55231/web1

Nếu muốn hiển thị đầy đủ giao diện:

http://127.0.0.1:55231/web1/

This is an alt text.

Thực hiện curl path/web2

curl http://127.0.0.1:55231/web2

Kết quả thu được là:

This is an alt text.

Ta có thể mở bằng browser:

This is an alt text.

Tài liệu tham khảo

  1. Template web.
  2. NGINX Reverse Proxy.
  3. NGINX location.
  4. https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/.
  5. nginx.conf.
  6. https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published