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

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

0 0 42

Người đăng: ledangtuanbk

Theo Viblo Asia

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
gcloud components install 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
gcloud init

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

gcloud config list

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

[compute]
region = us-central1
zone = us-central1-a
[core]
account = ***@gmail.com
disable_usage_reporting = True
project = *** 
  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
gcloud container clusters create-auto my-cluster --region us-central1

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

gcloud container clusters get-credentials my-cluster --region us-central1 message Fetching cluster endpoint and auth data.
kubeconfig entry generated for my-cluster.
  1. Tạo deployment từ sample image : nginx:latest lấy từ dockerhub
kubectl create deployment hello-app --image=nginx:latest
deployment.apps/hello-app created 
  1. Tạo HorizontalPodAutoscaler cho deployment, giúp auto scale (dự vào % sử dụng CPU, hệ thống sẽ tự động scale)
kubectl autoscale deployment hello-app --cpu-percent=80 --min=1 --max=5

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

kubectl get pods
  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)
kubectl expose deployment hello-app --name=hello-app-service --type=LoadBalancer --port 8080 --target-port 80
  1. Kiểm tra các service đã được tạo
kubectl get service

output

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-app-service LoadBalancer 10.62.1.116 <pending> 8080:31699/TCP 29s
kubernetes ClusterIP 10.62.0.1 <none> 443/TCP 49m

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.

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-app-service LoadBalancer 10.62.1.116 35.184.165.64 8080:31699/TCP 25m
kubernetes ClusterIP 10.62.0.1 <none> 443/TCP 73m

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
kubectl set image deployment/hello-app nginx=nginx:1.16.1
  1. Khi không sử dụng có thể delete service và cluster
kubectl delete service hello-app-service
gcloud container clusters delete hello-cluster --region us-central1 

Bình luận

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

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

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 374

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

Phần 1: Giới thiệu về Kubernetes

Kubernetes là gì. Trang chủ: https://kubernetes.io/. Ai cần Kubernetes.

0 0 80

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

Docker: Chưa biết gì đến biết dùng (Phần 1- Lịch sử)

1. Vì sao nên sử dụng. . .

0 0 89

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

Docker - những kiến thức cơ bản phần 1

Giới thiệu. Nếu bạn đang làm ở một công ty công nghệ thông tin, chắc rằng bạn đã được nghe nói về Docker.

0 0 65

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

Docker: Chưa biết gì đến biết dùng (Phần 2 - Dockerfile)

1. Mở đầu.

0 0 53

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

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 106