Liên hệProfile
Danh mục

Mục Lục

    Kubectl là gì? Hướng dẫn quản lý Kubernetes thông qua các lệnh kubectl trên Linux

    Nguyễn Hưng

    Ngày đăng:

    05/05/2026

    Cập nhật lần cuối:

    05/05/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    05/05/2026

    Cập nhật lần cuối:

    05/05/2026

    Mục lục

    Kubectl là công cụ dòng lệnh chính thức để giao tiếp và quản lý cụm Kubernetes. Thực tế vận hành hệ thống cho thấy, việc quản trị một cluster phức tạp không thể tách rời khả năng tương tác trực tiếp với API Server. Từ kinh nghiệm triển khai hạ tầng, mình nhận thấy Kubectl không chỉ là một công cụ thực thi lệnh mà còn là phương tiện kỹ thuật để hiện thực hóa tư duy khai báo trạng thái mong muốn. Bài viết này sẽ hướng dẫn chi tiết từ cài đặt đến các lệnh nâng cao để làm chủ môi trường Kubernetes.

    Những điểm chính

    Đối với mình, kubectl không chỉ là công cụ dòng lệnh mà còn là cầu nối giúp bạn tương tác trực tiếp với Kubernetes để quản lý và vận hành hệ thống container một cách hiệu quả. Để giúp bạn hiểu rõ hơn về kubectl trong thực tế sử dụng, bài viết dưới đây sẽ cung cấp các thông tin gồm:

    • Khái niệm: Hiểu rõ kubectl là công cụ dòng lệnh (CLI) cốt lõi, giúp bạn quản lý và tương tác mượt mà với cụm Kubernetes.
    • Vai trò: Nắm được các vai trò chính như triển khai ứng dụng, quản lý tài nguyên và tương tác với API, giúp nhận biết kubectl là công cụ thiết yếu để kiểm soát toàn bộ cluster.
    • Cách thức hoạt động: Biết được cơ chế hoạt động thông qua việc gửi yêu cầu đến API Server, giúp hiểu cách các lệnh đơn giản được thực thi và điều phối trong cụm.
    • Hướng dẫn cài đặt kubectl trên Linux: Nắm vững các bước cài đặt kubectl trên Linux (tải binary, cấp quyền thực thi, chuyển file vào PATH và xác nhận hoạt động), giúp bạn chuẩn bị môi trường sẵn sàng để sử dụng.
    • Cấu hình kubeconfig cho kubectl: Biết cách cấu hình kubeconfig để kết nối với cụm Kubernetes (Clusters, Users, Contexts), giúp bạn quản lý và chuyển đổi giữa các cụm một cách hiệu quả.
    • Các lệnh cơ bản và phổ biến: Nắm được các lệnh thiết yếu để quản lý trạng thái cụm, tài nguyên và thực hiện gỡ lỗi, giúp trang bị bộ công cụ cần thiết cho các tác vụ hàng ngày.
    • Kubectl Cheatsheet: Có được một bản tóm tắt các lệnh hữu ích, giúp tra cứu nhanh và áp dụng vào thực tế để quản lý, triển khai và gỡ lỗi một cách 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 (CLI) cốt lõi, giúp bạn quản lý và tương tác mượt mà với cụm Kubernetes. Kubectl cho phép triển khai ứng dụng nhanh chóng, theo dõi tài nguyên chi tiết, đồng thời điều khiển toàn bộ cluster qua các lệnh gửi thẳng đến Kubernetes API.

    Nhờ kubectl, nhà phát triển lẫn quản trị viên dễ dàng kiểm soát môi trường Kubernetes, từ việc tạo mới, cập nhật hay xóa ứng dụng container, đến việc xem xét log và nhiều thao tác khác một cách trực quan. Công cụ này đóng vai trò như một giao diện mạnh mẽ, biến các lệnh đơn giản thành hành động thực thi hiệu quả trên hệ thống container hóa.

    Kubectl là tiện ích dòng lệnh (CLI) trung tâm
    Kubectl là tiện ích dòng lệnh (CLI) trung tâm

    Vai trò của Kubectl

    Kubectl mang đến những chức năng thiết yếu để kiểm soát cluster Kubernetes một cách linh hoạt và hiệu quả. Dưới đây là các vai trò nổi bật nhất:

    • Triển khai ứng dụng: Áp dụng các định nghĩa tài nguyên như Pods hay Deployments trực tiếp lên cluster.
    • Quản lý tài nguyên: Giám sát tình trạng, chỉnh sửa cấu hình cho các đối tượng như Services hoặc ConfigMaps.
    • Xem thông tin: Truy xuất dữ liệu cụ thể về thành phần cluster và kiểm tra nhật ký từ container.
    • Tương tác với API: Gửi lệnh trực tiếp tới Kubernetes API Server nhằm thực thi mọi thao tác cần thiết.
    Vai trò của Kubectl
    Vai trò của Kubectl

    Cách thức hoạt động của Kubectl

    Về bản chất, Kubectl hoạt động như một HTTP Client. Quy trình thực thi một lệnh được thay đổi trên cluster diễn ra theo 3 bước sau:

    1. Giai đoạn giao tiếp và xác thực

    Khi bạn nhập một lệnh (ví dụ: kubectl apply), Kubectl sẽ tra cứu tệp cấu hình kubeconfig để xác định cụm mục tiêu và thông tin danh tính. Sau đó, nó đóng gói yêu cầu thành một RESTful request và gửi đến Kubernetes API Server qua giao thức HTTPS.

    2. Giai đoạn xử lý tại Control Plane

    API Server là nơi tiếp nhận yêu cầu. Tại đây, hệ thống thực hiện:

    • Authentication & Authorization: Kiểm tra xem bạn là ai và bạn có quyền thực hiện hành động đó hay không.
    • Validation: Đảm bảo tệp YAML hoặc lệnh bạn gửi đúng cú pháp kỹ thuật.
    • Persistence: Nếu lệnh hợp lệ, trạng thái mong muốn mới sẽ được ghi lại vào cơ sở dữ liệu etcd.

    3. Giai đoạn điều phối và thực thi

    Sau khi API Server cập nhật trạng thái mới, các bộ điều khiển sẽ phát hiện sự khác biệt giữa trạng thái hiện tại và trạng thái mong muốn. API Server sau đó sẽ truyền chỉ thị tới Kubelet. Kubelet sẽ trực tiếp làm việc với Container Runtime (như Docker hoặc containerd) để tạo, xóa hoặc cập nhật các container theo đúng yêu cầu ban đầu của bạn qua Kubectl.

    Cách thức hoạt động của Kubectl
    Cách thức hoạt động của Kubectl

    Hướng dẫn cài đặt Kubectl trên Linux

    Phương pháp tải trực tiếp binary từ Google đảm bảo phiên bản chính xác và tương thích cao. Các bước thực hiện như sau:

    • Bước 1: Bạn sử dụng cURL để lấy phiên bản ổn định mới nhất hoặc phiên bản cụ thể như v1.29.0.
    curl -LO "https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl"

    iconLưu ý

    Bạn cần kiểm tra phiên bản ổn định mới nhất trên trang chính thức Kubernetes.

    • Bước 2: Bạn cần cấp quyền thực thi bằng lệnh”
    chmod +x kubectl
    • Bước 3: Bạn cần chuyển file vào thư mục trong biến môi trường $PATH, ví dụ /usr/local/bin, để gọi lệnh từ mọi nơi:
    sudo mv kubectl /usr/local/bin/
    • Bước 4: Bạn cần xác nhận kubectl hoạt động đúng bằng lệnh:
    kubectl version --client
    Bạn cần dùng lệnh chmod mod +x kubectl để cấp quyền thực thi
    Bạn cần dùng lệnh chmod mod +x kubectl để cấp quyền thực thi

    Cấu hình kubeconfig cho kubectl

    Kubectl yêu cầu tệp cấu hình kubeconfig để kết nối với cụm Kubernetes. Tệp kubeconfig chứa thông tin sau:

    • Clusters: Địa chỉ API server của cụm.
    • Users: Thông tin xác thực bao gồm chứng chỉ, token.
    • Contexts: Kết nối một user với một cluster cụ thể.
    Cấu hình kubeconfig cho kubectl
    Cấu hình kubeconfig cho kubectl

    Tệp kubeconfig mặc định nằm tại $HOME/.kube/config. Khi tạo cụm qua EKS, AKS, GKE hoặc Kubeadm, tệp kubeconfig thường được tạo tự động hoặc tải về. Để kiểm tra cấu hình hiện tại thì bạn có thể dùng lệnh:

    kubectl config view

    Quản lý nhiều cụm đòi hỏi chuyển đổi context. Bạo có thể liệt kê tất cả contexts bằng lệnh:

    kubectl config get-contexts

    Sau đó bạn có thể dùng lệnh sau để chuyển sang context cụ thể:

    kubectl config use-context <TÊN_CONTEXT>

    Tệp kubeconfig là chốt chặn bảo mật cốt lõi để kiểm soát quyền truy cập vào cụm máy chủ. Dựa trên kinh nghiệm vận hành thực tế của mình, việc lạm quyền Cluster-admin cho mọi tác vụ là một thiếu sót về an ninh.

    Chiến lược tối ưu là phân tách rõ ràng các Contexts để điều phối luồng công việc giữa môi trường Staging và Production. Việc áp dụng RBAC tích hợp trong kubeconfig giúp giảm thiểu rủi ro thực thi lệnh nhầm hoặc rò rỉ thông tin xác thực, đảm bảo hệ thống Kubernetes trên hạ tầng Vietnix luôn vận hành trong khuôn khổ an toàn và có tính tổ chức cao.

    1. Lệnh quản lý trạng thái cụm

    LệnhMô tả
    kubectl cluster-infoHiển thị thông tin endpoint của Master/Control Plane.
    kubectl get nodesLiệt kê trạng thái của tất cả các Node trong cụm.
    kubectl get allLiệt kê các tài nguyên cơ bản (Pods, Services, Deployments,…) trong namespace hiện tại.

    2. Lệnh quản lý tài nguyên

    Kubernetes sử dụng các tệp YAML/JSON để định nghĩa tài nguyên:

    LệnhMô tả
    kubectl apply -f <file .yaml>Tạo hoặc cập nhật tài nguyên từ tệp.
    kubectl create -f <file .yaml>Chỉ tạo tài nguyên mới.
    kubectl delete -f <file .yaml>Xóa tài nguyên được định nghĩa trong tệp.
    kubectl delete pod <tên_pod>Xóa một Pod cụ thể theo tên.
    kubectl describe pod <tên_pod>Hiển thị thông tin chi tiết về trạng thái, sự kiện, cấu hình,… của tài nguyên.

    3. Lệnh gỡ lỗi

    LệnhMô tả
    kubectl logs <tên_pod>Hiển thị logs của container trong Pod.
    kubectl logs -f <tên_pod>Xem logs theo dõi trực tiếp.
    kubectl exec -it <tên_pod> — /bin/bashMở một shell tương tác bên trong container của Pod.
    kubectl port-forward <tên_pod> 8080:80Chuyển tiếp cổng từ cụm sang máy cục bộ, rất hữu ích khi kiểm tra Service nội bộ.

    4. Lệnh mở rộng

    LệnhMô tả
    kubectl scale deployment <tên_deploy> –replicas=5Thay đổi số lượng bản sao của Deployment thành 5.

    Cheatsheet tổng hợp các lệnh cơ bản để vận hành cluster Kubernetes dành cho bạn như sau:

    1. Cấu hình và bối cảnh

    LệnhMô tả
    kubectl config viewXem cấu hình kubeconfig hiện tại.
    kubectl config get-contextsLiệt kê tất cả các bối cảnh đã định cấu hình.
    kubectl config current-contextXem bối cảnh đang được sử dụng.
    kubectl config use-contextChuyển sang một bối cảnh khác.
    kubectl config set-context –current –namespace=Đặt namespace mặc định cho bối cảnh hiện tại.

    2. Quản lý tài nguyên

    Các lệnh cơ bản để làm việc với tài nguyên Kubernetes:

    LệnhMô tả
    kubectl get allLiệt kê tất cả các tài nguyên cơ bản (pods, services, deployments) trong namespace hiện tại.
    kubectl get pods -nLiệt kê pods trong namespace cụ thể.
    kubectl get pods -o wideLiệt kê pods kèm thông tin chi tiết (IP node, IP pod).
    kubectl describe podHiển thị thông tin chi tiết về một pod, bao gồm các sự kiện.
    kubectl apply -fÁp dụng/tạo tài nguyên từ tệp YAML.
    kubectl delete -fXóa tài nguyên được định nghĩa trong tệp YAML.
    kubectl delete podXóa một pod cụ thể.
    kubectl edit <LoạiResource>/<TênResource>Chỉnh sửa trực tiếp định nghĩa tài nguyên bằng trình soạn thảo mặc định.

    3. Kiểm tra và gỡ lỗi

    Các lệnh hỗ trợ xem trạng thái và nhật ký khi gặp vấn đề:

    LệnhMô tả
    kubectl logs <TênPod>Xem nhật ký của pod (chỉ container đầu tiên).
    kubectl logs -f <TênPod>Theo dõi nhật ký của pod.
    kubectl logs <TênPod> -c <TênContainer>Xem nhật ký của container cụ thể trong pod.
    LệnhMô tảkubectl logs kubectl logs -f kubectl logs -c kubectl exec -it — /bin/bashMở phiên shell tương tác bên trong pod. Thay /bin/bash bằng /bin/sh nếu bash không có sẵn.
    kubectl port-forward <TênPod> 8080:80Chuyển tiếp cổng 80 của pod đến cổng 8080 trên máy cục bộ.
    kubectl top nodeHiển thị mức sử dụng CPU/Memory của các Node (Yêu cầu Metrics Server).
    kubectl top podHiển thị mức sử dụng CPU/Memory của các Pod (Yêu cầu Metrics Server).

    4. Triển khai và cập nhật

    Các lệnh quản lý Deployment để mở rộng ứng dụng:

    LệnhMô tả
    kubectl scale deployment <TênDeployment> –replicas=<SốLượng>Điều chỉnh số lượng bản sao của Deployment.
    kubectl rollout status deployment/<TênDeployment>Kiểm tra trạng thái triển khai hiện tại.
    kubectl rollout history deployment/<TênDeployment>Xem lịch sử các lần triển khai.
    kubectl rollout undo deployment/<TênDeployment> –to-revision=<SốRevision>Quay lại phiên bản trước.
    kubectl set image deployment/<TênDeployment> <TênContainer>=<ImageMới>:<Tag>Cập nhật image của container trong Deployment.

    5. Sao chép tệp

    LệnhMô tả
    kubectl cp <TệpCụcBộ> <TênPod>:/<ĐườngDẫnTrongPod>Sao chép tệp từ máy cục bộ vào pod.
    kubectl cp <TênPod>:/<ĐườngDẫnTrongPod> <TệpCụcBộ>Sao chép tệp từ pod về máy cục bộ.

    6. Tùy chỉnh (Aliases)

    Bạn có thể thêm aliases vào tệp ~/.bashrc hoặc ~/.zshrc trên Linux để rút gọn lệnh:

    alias k='kubectl'
    alias kgp='kubectl get pods'
    alias kgn='kubectl get nodes'
    alias kga='kubectl get all'
    alias kx='kubectl exec -it' # Dùng: kx <pod_name> -- bash
    alias kdel='kubectl delete' 

    Sau đó, bạn cần chạy source ~/.bashrc (hoặc .zshrc) sau khi thêm để áp dụng.

    Câu hỏi thường gặp

    Làm thế nào để cài đặt kubectl trên Windows?

    Bạn cần tTải binary kubectl từ trang chính thức Kubernetes tại https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/. Giải nén file, thêm đường dẫn vào biến môi trường PATH, sau đó kiểm tra bằng lệnh kubectl version –client.

    kubectl apply dùng để làm gì?

    Lệnh kubectl apply -f áp dụng hoặc cập nhật tài nguyên Kubernetes từ file YAML hoặc JSON, hỗ trợ declarative management để cluster tự động điều chỉnh theo định nghĩa.

    Các lệnh kubectl cơ bản là gì?

    Các lệnh phổ biến bao gồm kubectl get, kubectl apply, kubectl delete, kubectl describe, và kubectl logs. Sử dụng kubectl –help để liệt kê đầy đủ.

    kubectl exec hoạt động ra sao?

    Việc sử dụng kubectl exec -it — /bin/bash để mở shell tương tác bên trong pod, giúp debug hoặc chạy lệnh trực tiếp trên container.

    Cách cài đặt kubectl tổng quát?

    Trên Linux/macOS, tải binary qua curl và thêm vào PATH. Trên Windows, bạn dùng Chocolatey (choco install kubernetes-cli) hoặc tải thủ công. Luôn kiểm tra phiên bản tương thích với cluster bằng kubectl version.

    Kubectl chính là công cụ không thể thiếu để quản lý và triển khai ứng dụng trên Kubernetes một cách hiệu quả. Với khả năng kiểm soát toàn diện từ triển khai, debug đến scaling, Kubectl giúp mọi lập trình viên và quản trị viên vận hành cluster mượt mà. Cảm ơn bạn đã theo dõi bài viết!

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới
    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới

    Việc quản trị thủ công từng server đơn lẻ sẽ trở thành rào cản lớn khi hệ thống mở rộng và Ansible chính là giải pháp mình đã áp dụng để đồng bộ hóa cấu hình trên hàng trăm node chỉ với một câu lệnh duy nhất. Những hướng dẫn trong bài viết này không…

    05/05/2026

    Cách sử dụng lệnh lsusb trong Linux để kiểm tra thiết bị USB chi tiết
    Cách sử dụng lệnh lsusb trong Linux để kiểm tra thiết bị USB chi tiết

    lsusb là lệnh dùng để liệt kê các thiết bị USB và bộ điều khiển USB đang được hệ thống nhận diện. Bài viết này được mình đúc kết từ kinh nghiệm xử lý sự cố thực tế cho hàng ngàn máy chủ Linux để hướng dẫn bạn cách sử dụng lsusb với các tùy…

    05/05/2026

    Podman là gì? Hướng dẫn sử dụng Podman trong Linux để quản lý container không cần Daemon
    Podman là gì? Hướng dẫn sử dụng Podman trong Linux để quản lý container không cần Daemon

    Trong quá trình quản trị hệ thống, mình đã trực tiếp kiểm chứng khả năng tương thích của Podman khi có thể thay thế hoàn toàn Docker mà không làm gián đoạn các workflow hiện có trên Linux. Những thao tác quản lý container không cần Daemon mà mình chia sẻ dưới đây là bộ…

    05/05/2026

    Lệnh perf trong Linux là gì? Những lệnh perf cơ bản
    Lệnh perf trong Linux là gì? Những lệnh perf cơ bản

    Trong những lần xử lý sự cố server bị treo cứng mà không rõ nguyên nhân, perf chính là phương án giúp mình soi chiếu chính xác từng chu kỳ CPU để tìm ra hàm xử lý đang gây nghẽn. Việc đọc hiểu các thông số từ công cụ này đã giúp mình tối ưu…

    05/05/2026

    linux

    lenh

    text