Thực hành Kubernetes (K8S) bằng cách sử dụng lệnh Command

Tram Ho

Bài hướng dẫn hôm nay sẽ hướng dẫn sử dụng K8S bằng cách sử dụng câu lệnh thay vì UI trên web.
Có rất nhiều ưu điểm, tránh phụ thuộc quá nhiều vào giao diện web.
Có 2 lựa chọn để thực hiện:

  • Sử dụng Cloud Shell
  • Active cloud shell theo hướng dẫn này
  • Trong cloud shell đã có sẵn gcloudkubectl (Kubernetes command-line tool)
  • Sử dụng **Command-line tools locally **
  • Install gcloud cho máy local của bạn tại đây
  • Sử dụng gcloud cài kubectl

Nếu trong quá trình cài bị lỗi, có thể theo hướng dẫn này

Các bước chuẩn bị đã xong, bây giờ vào phần chính.

  1. Cấu hình các tham số mặc định của google-cloud

theo hướng bạn chọn các thông số phù hợp

  • Đăng nhập google account cho lần đầu
  • Chọn default project
  • Chọn default zone (chứa default region) trong ví dụ này mình chọn zone us-central1-a nằm trong us-central1

Sau khi config xong banj cos thể xem lại thông tin của mình

sẽ có kết quả như sau (*** là mình che thông tin cá nhân)

  1. Tạo 1 cluster, trong ví dụ này mình sẽ tạo autopilot cluster, my-cluster là tên của cluster

Chờ khoẳng 5p để hệ thống tạo cluster
3. Connect cluster

  1. Tạo deployment từ sample image : nginx:latest lấy từ dockerhub

  1. Tạo HorizontalPodAutoscaler cho deployment, giúp auto scale (dự vào % sử dụng CPU, hệ thống sẽ tự động scale)

Có thể kiểm tra các Pods được tạo

  1. Các pod được tạo ra, chạy trên mạng nội bộ, cần phải cho phép bên ngoài có thể sử dụng được các service này.
    Chúng ta đi đến bước tạo service.
    Do nginx chạy port 80 nên –target-port = 80
    Mở liên kế từ bên ngoài, port 8080 –port 8080
    Kiểu expose LoadBalancer (khi ta có nhiều pod, các request sẽ được phân chia vào các pod)

  1. Kiểm tra các service đã được tạo

output

Ban đầu external-ip

chờ 1 chút. check lại, hệ thống sẽ khởi tạo và gán external ip cho service, khi đó việc tạo service sẽ thực hiện được.

Trong trường hợp của mình, mình đã có thể truy cập vào web
http://35.184.165.64:8080/

  1. Khi muốn update version mới của image new_image

  1. Khi không sử dụng có thể delete service và cluster

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo