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

    Các lệnh Docker cơ bản thông dụng và hữu ích dành cho người mới
    Các lệnh Docker cơ bản thông dụng và hữu ích dành cho người mới

    Việc làm chủ các lệnh Docker cơ bản là yêu cầu tiên quyết giúp mình đóng gói và triển khai ứng dụng một cách nhất quán trên mọi môi trường từ Staging đến production. Thay vì liệt kê danh sách lệnh khô khan, bài viết này đúc kết từ quá trình tôi trực tiếp vận…

    07/05/2026

    Git Linux là gì? Hướng dẫn sử dụng Git trên Linux
    Git Linux là gì? Hướng dẫn sử dụng Git trên Linux

    Làm chủ Git trên Linux không chỉ dừng lại ở việc ghi nhớ câu lệnh, mà là cách bạn tối ưu hóa luồng công việc để loại bỏ hoàn toàn các sai sót thủ công khi cập nhật dữ liệu. Những chia sẻ trong bài viết được đúc kết từ quá trình mình trực tiếp…

    07/05/2026

    Emacs là gì? Hướng dẫn sử dụng Emacs Terminal trên Linux
    Emacs là gì? Hướng dẫn sử dụng Emacs Terminal trên Linux

    Trong môi trường Linux chuyên sâu, Emacs không chỉ đơn thuần là một trình soạn thảo mà còn là một hệ sinh thái mạnh mẽ giúp tôi tối ưu hóa toàn bộ quy trình xử lý văn bản và lập trình chỉ trên một giao diện terminal duy nhất. Những kỹ thuật sử dụng và…

    06/05/2026

    Vim Linux là gì? Hướng dẫn sử dụng trình soạn thảo văn bản Vim trong Linux
    Vim Linux là gì? Hướng dẫn sử dụng trình soạn thảo văn bản Vim trong Linux

    Trong công việc quản trị hệ thống hàng ngày, Vim là công cụ giúp mình xử lý các tệp tin cấu hình trực tiếp trên Server với tốc độ mà các trình soạn thảo thông thường không thể đáp ứng được. Những hướng dẫn trong bài viết này không chỉ dừng lại ở lý thuyết,…

    06/05/2026

    linux

    lenh

    text