Command “run” của Kubernetes Controller được sử dụng chỉ để tạo mới một Pod trong Kubernetes cluster. Command này giúp cho những bạn mới bắt đầu học về Kubernetes có thể dễ dàng deploy một Pod và do đó dễ dàng deploy một container trong Kubernetes cluster. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về command này các bạn nhé!
Cú pháp cơ bản của command “run” như sau:
1 |
kubectl run --image=<image_name> <name> |
Trong đó:
- <image_name> là tên image mà các bạn sẽ sử dụng để chạy container. Kubernetes hỗ trợ Docker Hub và một số Private Registry như Google Container Registry, AWS EC2 Container Registry, …
- <name> là tên của Pod sau khi chúng ta khởi tạo container với image trên.
Ví dụ bây giờ mình sẽ chạy một container sử dụng image node-hello từ Google Container Registry ở địa chỉ https://console.cloud.google.com/gcr/images/google-samples/GLOBAL/node-hello như sau:
1 |
kubectl run --image=gcr.io/google-samples/node-hello:1.0 node-hello |
Kết quả:
Như các bạn thấy, sau khi chạy câu lệnh trên, một message được in ra báo cho chúng ta biết là một Pod đã được tạo “pod/node-hello” created”.
Các bạn có thể kiểm tra thông tin các Pod trong Kubernetes cluster hiện tại sử dụng command:
1 |
kubectl get pods |
Kết quả của mình như sau:
Như các bạn thấy, hiện tại có một Pod với tên gọi là node-hello đang chạy!
Các bạn có thể sử dụng câu lệnh:
1 |
kubectl describe pod <pod_name> |
để lấy thông tin của Pod này:
Mặc định thì khi các bạn chạy câu lệnh run, container của chúng ta sẽ được tạo và chạy ngầm bên trong cluster. Để access vào container này, các bạn có thể sử dụng câu lệnh sau:
1 |
kubectl exec -it <pod_name> -c <container_name> -- /bin/bash |
Trong đó, container_name là tên của container trong Pod mà chúng ta cần truy cập.
Ví dụ của mình như sau:
1 |
kubectl exec -it node-hello -c node-hello -- /bin/bash |
Kết quả:
Nếu Pod chỉ có một container thì chúng ta cũng có thể sử dụng Pod name để access vào container đó luôn.
Trong ví dụ của mình thì Pod này chỉ có một container nên mình có thể access vào container trong Pod này như sau:
1 |
kubectl exec -it node-hello -- /bin/bash |
Kết quả: