Kubectl là gì? Hướng dẫn cài đặt và cấu hình kubectl cho người mới

Đã kiểm duyệt nội dung
Đánh giá
Kubectl là công cụ dòng lệnh mặc định và thiết yếu để quản lý và vận hành các tài nguyên trong môi trường Kubernetes. Đây là giao diện chính giữa người vận hành và API Server của Kubernetes, cho phép triển khai, kiểm tra trạng thái, thực hiện cập nhật, cấu hình tài nguyên và giám sát hoạt động của toàn bộ Kubernetes cluster. Trong bài viết này mình sẽ giúp bạn hiểu rõ hơn về kubectl, từ cách cài đặt, cấu hình, cách sử dụng cơ bản đến các câu lệnh thông dụng.
Những điểm chính
- Khái niệm: Hiểu rõ kubectl là công cụ dòng lệnh thiết yếu, giúp bạn nhận biết vai trò của nó như một giao diện chính để quản lý và vận hành các tài nguyên trong Kubernetes.
- Hướng dẫn cài đặt và cấu hình kubectl: Nắm vững các bước cài đặt kubectl trên các hệ điều hành khác nhau và cách cấu hình file kubeconfig, giúp bạn nhanh chóng thiết lập môi trường và kết nối thành công với cluster.
- Cách sử dụng kubectl cơ bản: Biết được các thao tác quản lý tài nguyên cơ bản từ việc kiểm tra trạng thái, tạo, cập nhật đến xem log, giúp bạn tự tin thực hiện các tác vụ quản trị hàng ngày.
- Các lệnh kubectl thông dụng: Tìm hiểu và ghi nhớ các lệnh kubectl phổ biến nhất, giúp bạn có một bộ công cụ mạnh mẽ để quản lý, giám sát và gỡ lỗi mọi khá cạnh của cluster một cách hiệu quả.
- Một số thủ thuật khi sử dụng kubectl: Khám phá các thủ thuật giúp tăng tốc độ làm việc và các kỹ thuật lọc dữ liệu, giúp bạn làm chủ kubectl và tối ưu hóa quy trình làm việc của mình.
- Biết thêm Vietnix là nhà cung cấp dịch vụ Enterprise Cloud cho quản lý Kubernetes hiệu quả.
- Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến kubectl.

Kubectl là gì?
Kubectl là công cụ dòng lệnh mặc định dùng để quản lý và vận hành các tài nguyên trong môi trường Kubernetes. Người dùng sử dụng kubectl để triển khai, kiểm tra trạng thái, thực hiện cập nhật, cấu hình tài nguyên và giám sát hoạt động của toàn bộ Kubernetes cluster.

Với cú pháp đơn giản, mạnh mẽ, kubectl đóng vai trò trung gian giữa người vận hành và API Server của Kubernetes, cho phép thao tác trực tiếp trên các đối tượng như pod, deployment, service, node, configmap, secret,… từ xa hoặc cục bộ trên từng môi trường. Công cụ này giúp tự động hóa các quy trình vận hành, hỗ trợ kiểm thử, debug, triển khai ứng dụng liên tục cũng như tích hợp chặt chẽ vào các hệ thống DevOps hiện đại.
Để tập trung hoàn toàn vào việc khai thác sức mạnh của kubectl mà không cần bận tâm đến sự phức tạp của việc cài đặt và quản lý cluster, các nền tảng chuyên dụng như Vietnix Enterprise Cloud cung cấp một giải pháp được quản lý toàn diện cho bạn.
Hướng dẫn cài đặt và cấu hình kubectl
Cài đặt kubectl trên Linux
Bạn tải về binary phiên bản mới nhất bằng câu lệnh:
curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"Sau đó phân quyền thực thi:
chmod +x ./kubectlDi chuyển vào thư mục hệ thống:
sudo mv ./kubectl /usr/local/bin/kubectlBạn kiểm tra phiên bản đã cài bằng câu lệnh:
kubectl version --clientCài đặt trên macOS
Bạn dùng curl:
curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --clientHoặc sử dụng Homebrew:
brew install kubectlCài đặt trên Windows
Bạn tải về bằng curl:
curl -LO "https://dl.k8s.io/release/v1.34.0/bin/windows/amd64/kubectl.exe"Bạn đưa kubectl.exe vào biến môi trường PATH, sau đó kiểm tra:
kubectl version --clientHoặc bạn dùng trình quản lý gói như Chocolatey:
choco install kubernetes-cliCấu hình kubeconfig và kiểm tra kết nối
Tạo/kết nối file cấu hình kubeconfig (thường nằm tại ~/.kube/config).
Xác minh cấu hình bằng câu lệnh:
kubectl cluster-infoNếu hiện URL của cluster nghĩa là đã kết nối thành công.
Cách sử dụng kubectl cơ bản
Kiểm tra trạng thái cluster
Để đảm bảo hệ thống Kubernetes hoạt động ổn định, người quản trị cần thường xuyên kiểm tra thông tin cluster và các node đang vận hành:
kubectl cluster-info
kubectl get nodesQuản lý resource cơ bản
Các thao tác cơ bản như liệt kê, xem chi tiết pods, deployments và services giúp nắm bắt tình trạng ứng dụng cũng như phát hiện sớm sự cố.
Liệt kê pods, deployment, service bằng các câu lệnh:
kubectl get pods
kubectl get deployments
kubectl get servicesXem chi tiết một pod/deployment/service bằng:
kubectl describe pod <pod-name>
kubectl describe deployment <deployment-name>
kubectl describe service <service-name>Tạo, cập nhật, xóa resource
Khả năng thao tác với các resource như pod, deployment hay service từ file manifest hoặc trực tiếp bằng dòng lệnh là nhiệm vụ thường xuyên của kỹ sư vận hành.
Bạn tạo resource từ file manifest:
kubectl apply -f <ten-file.yaml>Xóa resource:
kubectl delete pod <pod-name>
kubectl delete deployment <deployment-name>
kubectl delete service <service-name>Thực thi lệnh trên pod và xem log
Chạy lệnh chẩn đoán, khắc phục lỗi trong container hoặc xem log vận hành là thao tác hỗ trợ debug, tối ưu vận hành hệ thống.
Bạn thực thi lệnh trên pod:
kubectl exec -it <pod-name> -- /bin/bashVà xem log của pod:
kubectl logs <pod-name>Quản lý namespace và context
Khi làm việc với nhiều môi trường, tổ chức cần quản lý namespace, chuyển đổi context để thao tác chính xác, tránh nhầm lẫn hoặc thao tác nhầm trên cluster quan trọng.
Liệt kê hoặc chuyển đổi namespace:
kubectl get namespace
kubectl config set-context --current --namespace=<namespace-name>Quản lý context bằng câu lệnh:
kubectl config get-contexts
kubectl config use-context <context-name>Cập nhật và chỉnh sửa resource trực tiếp
Để thay đổi cấu hình ứng dụng hoặc thử nghiệm nhanh, kubectl hỗ trợ chỉnh sửa resource bằng trình soạn thảo tích hợp và cập nhật trực tiếp lên hệ thống.
Bạn chỉnh sửa bằng editor tích hợp:
kubectl edit deployment <deployment-name>Áp dụng cập nhật mới cho resource:
kubectl apply -f <ten-file.yaml>Các lệnh kubectl thông dụng
- Lệnh get: Liệt kê và thống kê resource
- Lệnh describe: Kiểm tra chi tiết cấu hình và trạng thái
- Lệnh logs: Theo dõi và kiểm tra log container
- Lệnh apply, create, delete: Quản lý tài nguyên
- Lệnh exec: Thực thi lệnh trực tiếp bên trong container
- Lệnh edit: Chỉnh sửa resource trực tiếp bằng trình soạn thảo
- Lệnh quản lý namespace và context
- Lệnh output nâng cao
Lệnh get: Liệt kê và thống kê resource
Để theo dõi tình trạng các tài nguyên đang chạy trong cluster, bạn sử dụng lệnh get giúp lấy danh sách đầy đủ các đối tượng như pods, deployments hoặc services cùng thông tin tổng quan về trạng thái.
kubectl get pods
kubectl get deployments
kubectl get servicesLệnh describe: Kiểm tra chi tiết cấu hình và trạng thái
Khi cần xem chi tiết về cấu hình, sự kiện hoặc lỗi xảy ra với từng resource, bạn sử dụng lệnh describe để xem toàn bộ thông tin chi tiết của pods, deployments hoặc services qua từng tên cụ thể.
kubectl describe pod <pod-name>
kubectl describe deployment <deployment-name>
kubectl describe service <service-name>Lệnh logs: Theo dõi và kiểm tra log container
Để kiểm tra quá trình hoạt động, phân tích lỗi hoặc giám sát real-time ứng dụng trong các pod, bạn sử dụng lệnh logs để lấy ra thông tin log từ container tương ứng.
kubectl logs <pod-name>Lệnh apply, create, delete: Quản lý tài nguyên
Để triển khai file cấu hình mới, tạo đối tượng hoặc làm sạch các resource không cần thiết, bạn sử dụng các lệnh apply/create/delete tương ứng để kiểm soát toàn bộ vòng đời của tài nguyên.
kubectl apply -f <ten-file.yaml>
kubectl create -f <ten-file.yaml>
kubectl delete pod <pod-name>
kubectl delete deployment <deployment-name>
kubectl delete service <service-name>Lệnh exec: Thực thi lệnh trực tiếp bên trong container
Quản trị viên thực thi shell hoặc chẩn đoán trực tiếp bên trong pod giúp kiểm thử, khắc phục sự cố hoặc thao tác với môi trường ứng dụng real-time.
kubectl exec -it <pod-name> -- /bin/bashLệnh edit: Chỉnh sửa resource trực tiếp bằng trình soạn thảo
Việc chỉnh sửa cấu hình resource trực tiếp qua editor tích hợp là cách nhanh chóng để cập nhật ứng dụng hoặc thực hiện thay đổi nhỏ mà không phải triển khai lại toàn bộ manifest.
kubectl edit deployment <deployment-name>Lệnh quản lý namespace và context
Việc chuyển đổi không gian tên, môi trường cluster giúp bạn kiểm soát ngữ cảnh vận hành, tránh thao tác nhầm lẫn và tối ưu quản lý nhiều workload trên cùng hệ thống.
kubectl get namespace
kubectl config set-context --current --namespace=<namespace-name>
kubectl config get-contexts
kubectl config use-context <context-name>Lệnh output nâng cao
Khi cần trình diễn hoặc lọc dữ liệu output của resource phục vụ cho tự động hóa hoặc báo cáo, sử dụng các tuỳ chọn định dạng như wide, yaml, jsonpath hoặc custom-columns.
kubectl get pods -o wide
kubectl get pods -o yaml
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
kubectl get pods --show-labelsCác nhóm lệnh này giúp người dùng làm chủ mọi thao tác quản trị và tương tác với hệ thống Kubernetes một cách khoa học và hiệu quả nhất.
Một số thủ thuật khi sử dụng kubectl
Sử dụng autocomplete, alias và kết hợp lệnh shell
Việc tích hợp chức năng autocomplete giúp bạn tiết kiệm thời gian gõ lệnh, giảm sai sót và tăng tốc thao tác khi quản trị hệ thống.
Bật autocomplete cho bash:
source <(kubectl completion bash)
echo 'source <(kubectl completion bash)' >>~/.bashrcTạo alias để rút gọn cú pháp, ví dụ:
alias k=kubectl
complete -F __start_kubectl kViệc này kết hợp với các lệnh bash/zsh giúp thao tác linh hoạt hơn trong thực tế.
Kết hợp kubectl với Helm để quản lý ứng dụng nâng cao
Helm là công cụ quản lý package cho Kubernetes, giúp triển khai, cập nhật, rollback ứng dụng phức tạp hiệu quả hơn.
Sử dụng kubectl song song với các lệnh Helm như:
helm install my-release bitnami/nginx
kubectl get all
helm upgrade my-release bitnami/nginx --set replicaCount=3
helm uninstall my-releaseCách làm này hỗ trợ quản trị và chủ động kiểm soát các ứng dụng từ cấp độ chart đến resource cụ thể.
Chuyển đổi output, lọc dữ liệu với jsonpath và custom columns
Kubectl hỗ trợ chuyển đổi định dạng xuất ra nhiều kiểu khác nhau, thuận tiện cho việc đọc, lọc dữ liệu và tự động hóa báo cáo:
kubectl get pods -o wide
kubectl get pods -o yaml
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
kubectl get pods --show-labels
kubectl get pods -o custom-columns="NAME:.metadata.name,STATUS:.status.phase"Kỹ thuật này giúp người quản trị linh hoạt sắp xếp, trình bày thông tin và lấy đúng dữ liệu cần thiết từ hệ thống.
Debug và xử lý sự cố với kubectl debug/logs
Khi cần khắc phục các sự cố phức tạp, bạn sử dụng tính năng debug hoặc truy xuất log từ kubectl để chẩn đoán, test tương tác trong container:
kubectl logs <pod-name>
kubectl debug pod/<pod-name> --image=busybox --copy-to=debug-pod
kubectl exec -it <pod-name> -- /bin/shNhờ loạt tính năng này, việc phát hiện và xử lý lỗi trong hệ thống Kubernetes trở nên chủ động, nhanh chóng và hiệu quả hơn.
Triển khai và quản lý Kubernetes dễ dàng hơn với Vietnix Enterprise Cloud
Sử dụng thành thạo Kubectl là chìa khóa để quản trị container hiệu quả, nhưng để vận hành một hệ thống ổn định ở quy mô doanh nghiệp, bạn cần một hạ tầng đám mây đủ mạnh mẽ. Vietnix Enterprise Cloud chính là lời giải hoàn hảo, cung cấp nền tảng điện toán đám mây hiệu suất cao, sẵn sàng đáp ứng mọi nhu cầu khắt khe về tài nguyên và bảo mật.
Đặc biệt, dịch vụ của Vietnix đã tích hợp sẵn nền tảng Kubernetes as a Service (KaaS), giúp doanh nghiệp loại bỏ sự phức tạp trong việc khởi tạo và duy trì cụm cluster thủ công. Giờ đây, bạn có thể tập trung hoàn toàn vào việc sử dụng Kubectl để điều phối ứng dụng, trong khi Vietnix đảm bảo hạ tầng bên dưới luôn vận hành mượt mà, tuân thủ nghiêm ngặt các tiêu chuẩn an ninh mạng và lưu trữ dữ liệu tại Việt Nam.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
Câu hỏi thường gặp
Chức năng chính của kubeadm là gì so với kubectl?
kubeadm là công cụ dùng để khởi tạo và quản lý một cụm Kubernetes (cluster) một cách tự động, bao gồm các tác vụ như thiết lập master node, kết nối worker node và cấu hình các thành phần cơ bản. kubectl thì dùng để tương tác và quản lý các tài nguyên (pod, deployment) trong cụm Kubernetes đã được kubeadm tạo ra.
Tầm quan trọng của việc cấu hình file kubeconfig là gì?
File kubeconfig chứa thông tin cấu hình cần thiết để kubectl có thể kết nối và xác thực với API Server của một cụm Kubernetes cụ thể. Nó bao gồm thông tin về các cluster, người dùng (credentials) và các ngữ cảnh (context), giúp người dùng dễ dàng chuyển đổi giữa nhiều cụm hoặc môi trường khác nhau.
Việc sử dụng autocomplete và alias trong kubectl mang lại lợi ích gì cho quản trị viên?
Autocomplete giúp tiết kiệm thời gian gõ lệnh, giảm thiểu lỗi chính tả và tăng tốc độ thao tác bằng cách gợi ý các lệnh, tên resource, hoặc tham số. Alias cho phép tạo các tên ngắn gọn cho lệnh kubectl (ví dụ: k thay cho kubectl), giúp quản trị viên thực hiện các tác vụ nhanh chóng và hiệu quả hơn.
Kubectl là công cụ dòng lệnh không thể thiếu để quản lý và vận hành mọi khía cạnh của một cụm Kubernetes. Với khả năng tương tác trực tiếp với API Server, từ việc triển khai tài nguyên, giám sát trạng thái, đến gỡ lỗi và tự động hóa, kubectl mang lại sự linh hoạt và hiệu quả cao cho quản trị viên hệ thống và nhà phát triển. Việc nắm vững các lệnh cơ bản, nâng cao và các thủ thuật sử dụng sẽ giúp bạn làm chủ Kubernetes, tối ưu hóa quy trình DevOps và phát triển các ứng dụng Cloud Native một cách thành công.
THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM
Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày
















