{"id":34945,"date":"2024-09-05T10:52:14","date_gmt":"2024-09-05T03:52:14","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/05\/how-to-drain-a-node-pool-on-an-lke-cluster\/"},"modified":"2026-05-14T10:32:10","modified_gmt":"2026-05-14T09:32:10","slug":"how-to-drain-a-node-pool-on-an-lke-cluster","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/09\/05\/how-to-drain-a-node-pool-on-an-lke-cluster\/","title":{"rendered":"C\u00e1ch drain m\u1ed9t node pool tr\u00ean LKE Cluster"},"content":{"rendered":"<h2 id=\"h-draining-a-node\">Draining a node<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng kubectl Drain \u0111\u1ec3 tr\u1ee5c xu\u1ea5t t\u1ea5t c\u1ea3 c\u00e1c nh\u00f3m kh\u1ecfi m\u1ed9t n\u00fat m\u1ed9t c\u00e1ch an to\u00e0n tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n b\u1ea3o tr\u00ec tr\u00ean n\u00fat \u0111\u00f3, ch\u1eb3ng h\u1ea1n nh\u01b0 n\u00e2ng c\u1ea5p kernel, b\u1ea3o tr\u00ec ph\u1ea7n c\u1ee9ng, v.v. Vi\u1ec7c tr\u1ee5c xu\u1ea5t an to\u00e0n cho ph\u00e9p c\u00e1c v\u00f9ng ch\u1ee9a nh\u00f3m ch\u1ea5m d\u1ee9t m\u1ed9t c\u00e1ch duy\u00ean d\u00e1ng v\u00e0 t\u00f4n tr\u1ecdng PodDisruptionBudgets m\u00e0 b\u1ea1n. \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh. \u0110\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin, h\u00e3y xem ph\u1ea7n Gi\u00e1n \u0111o\u1ea1n.<\/p>\n<p>Kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c Kubernetes di chuy\u1ec3n xung quanh c\u1ee5m, \u0111i\u1ec1u n\u00e0y cho ph\u00e9p c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng nh\u01b0 h\u1ec7 th\u1ed1ng ph\u00e2n t\u00e1n c\u00f3 t\u00ednh s\u1eb5n s\u00e0ng cao. Linode khuy\u00ean b\u1ea1n n\u00ean di chuy\u1ec3n m\u1ecdi b\u1ed9 l\u01b0u tr\u1eef d\u1eef li\u1ec7u tr\u00ean h\u1ec7 th\u1ed1ng t\u1ec7p c\u1ee7a Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n trong c\u1ee5m LKE sang \u1ed4 \u0111\u0129a li\u00ean t\u1ee5c c\u00f3 b\u1ed9 l\u01b0u tr\u1eef g\u1eafn m\u1ea1ng. c\u00e1c n\u00fat b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3. N\u1ebfu b\u1ea1n \u0111ang s\u1eed d\u1ee5ng X\u00e1c nh\u1eadn kh\u1ed1i l\u01b0\u1ee3ng li\u00ean t\u1ee5c cho \u1ee9ng d\u1ee5ng tr\u00ean c\u1ee5m LKE, h\u00e3y b\u1ecf qua to\u00e0n b\u1ed9 ph\u1ea7n Sao ch\u00e9p d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng v\u00e0o Kh\u1ed1i l\u01b0\u1ee3ng li\u00ean t\u1ee5c v\u00e0 ti\u1ebfn th\u1eb3ng \u0111\u1ebfn Th\u00eam nh\u00f3m n\u00fat m\u1edbi v\u00e0o c\u1ee5m v\u00e0 r\u00fat c\u00e1c n\u00fat.<\/p>\n<p>H\u01b0\u1edbng d\u1eabn n\u00e0y cung c\u1ea5p h\u01b0\u1edbng d\u1eabn \u0111\u1ec3:<\/p>\n<ul>\n<li>Sao ch\u00e9p d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng v\u00e0o \u1ed4 \u0111\u0129a li\u00ean t\u1ee5c n\u1ebfu b\u1ea1n \u0111ang s\u1eed d\u1ee5ng b\u1ed9 nh\u1edb c\u1ee5c b\u1ed9 \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng.<\/li>\n<\/ul>\n<ul>\n<li>Th\u00eam nh\u00f3m n\u00fat m\u1edbi v\u00e0o c\u1ee5m v\u00e0 sau \u0111\u00f3 r\u00fat h\u1ebft c\u00e1c n\u00fat.<\/li>\n<\/ul>\n<h2>Gi\u1edbi thi\u1ec7u ban \u0111\u1ea7u:<\/h2>\n<p>H\u01b0\u1edbng d\u1eabn n\u00e0y gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng b\u1ea1n c\u00f3 c\u1ee5m Linode Kubernetes Engine (LKE) \u0111ang ho\u1ea1t \u0111\u1ed9ng tr\u00ean Linode v\u00e0 b\u1ea1n \u0111\u00e3 quen v\u1edbi kh\u00e1i ni\u1ec7m PodDisruptionBudget c\u0169ng nh\u01b0 PodDisruptionBudgets \u0111\u01b0\u1ee3c \u0111\u1ecbnh c\u1ea5u h\u00ecnh cho c\u00e1c \u1ee9ng d\u1ee5ng c\u1ea7n ch\u00fang.<\/p>\n<ul>\n<li>C\u00e0i \u0111\u1eb7t Kubernetes CLI (kubectl) tr\u00ean m\u00e1y t\u00ednh c\u1ee5c b\u1ed9.<\/li>\n<\/ul>\n<ul>\n<li>L\u00e0m theo h\u01b0\u1edbng d\u1eabn trong H\u01b0\u1edbng d\u1eabn tri\u1ec3n khai v\u00e0 qu\u1ea3n l\u00fd c\u1ee5m b\u1eb1ng Linode Kubernetes Engine \u0111\u1ec3 k\u1ebft n\u1ed1i v\u1edbi c\u1ee5m LKE.<\/li>\n<li>\u0110\u1ea3m b\u1ea3o r\u1eb1ng Kubernetes CLI \u0111ang s\u1eed d\u1ee5ng \u0111\u00fang ng\u1eef c\u1ea3nh c\u1ee5m. Ch\u1ea1y l\u1ec7nh ph\u1ee5 get-contexts \u0111\u1ec3 ki\u1ec3m tra:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl config get-contexts<\/code><\/pre>\n<h2>Sao ch\u00e9p d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng v\u00e0o \u1ed5 \u0111\u0129a li\u00ean t\u1ee5c<\/h2>\n<div class=\"is-layout-constrained wp-block-group has-background\" style=\"background-color:#eee0d4\">\n<div class=\"wp-block-group__inner-container\">\n<p>H\u01b0\u1edbng d\u1eabn trong ph\u1ea7n n\u00e0y t\u1ea1o t\u00e0i nguy\u00ean c\u00f3 th\u1ec3 t\u00ednh ph\u00ed cho kh\u1ed1i l\u01b0\u1ee3ng L\u01b0u tr\u1eef kh\u1ed1i tr\u00ean t\u00e0i kho\u1ea3n Linode c\u1ee7a b\u1ea1n. M\u1ed9t kh\u1ed1i duy nh\u1ea5t c\u00f3 th\u1ec3 c\u00f3 k\u00edch th\u01b0\u1edbc t\u1eeb 10 GB \u0111\u1ebfn 10.000 GB v\u00e0 c\u00f3 gi\u00e1 0,10 USD\/GB m\u1ed7i th\u00e1ng ho\u1eb7c 0,00015 USD\/GB m\u1ed7i gi\u1edd n\u1ebfu b\u1ea1n kh\u00f4ng mu\u1ed1n. ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng kh\u1ed1i l\u01b0\u1ee3ng Block Storage m\u00e0 b\u1ea1n t\u1ea1o, h\u00e3y nh\u1edb x\u00f3a n\u00f3 khi b\u1ea1n ho\u00e0n th\u00e0nh h\u01b0\u1edbng d\u1eabn.<\/p>\n<p>N\u1ebfu sau \u0111\u00f3 b\u1ea1n x\u00f3a c\u00e1c t\u00e0i nguy\u00ean, b\u1ea1n ch\u1ec9 b\u1ecb t\u00ednh ph\u00ed cho (c\u00e1c) gi\u1edd m\u00e0 c\u00e1c t\u00e0i nguy\u00ean \u0111\u00f3 c\u00f3 trong t\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n. H\u00e3y tham kh\u1ea3o h\u01b0\u1edbng d\u1eabn L\u1eadp h\u00f3a \u0111\u01a1n v\u00e0 Thanh to\u00e1n \u0111\u1ec3 bi\u1ebft th\u00f4ng tin chi ti\u1ebft v\u1ec1 c\u00e1ch t\u00ednh ph\u00ed theo gi\u1edd v\u00e0 b\u1ea3ng gi\u00e1 g\u00f3i.<\/p>\n<\/div>\n<\/div>\n<ul>\n<li>T\u1ea1o Y\u00eau c\u1ea7u Kh\u1ed1i l\u01b0\u1ee3ng Li\u00ean t\u1ee5c (PVC) s\u1eed d\u1ee5ng kh\u1ed1i l\u01b0\u1ee3ng L\u01b0u tr\u1eef Kh\u1ed1i. \u0110\u1ec3 t\u1ea1o PVC, h\u00e3y t\u1ea1o t\u1ec7p k\u00ea khai c\u00f3 YAML sau:<\/li>\n<\/ul>\n<p>pvc.yaml<\/p>\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:  \n   name: pvc-test\nspec:\n  accessModes:\n  - ReadWriteOnce\n  resources:\n    requests:\n      storage: 10Gi\n  storageClassName: linode-block-storage-retain<\/code><\/pre>\n<p class=\"has-background\" style=\"background-color:#cff5e6\">\u0110\u1ec3 gi\u1eef l\u1ea1i kh\u1ed1i l\u01b0\u1ee3ng Block Storage v\u00e0 d\u1eef li\u1ec7u c\u1ee7a n\u00f3, ngay c\u1ea3 sau khi PVC li\u00ean quan b\u1ecb x\u00f3a, h\u00e3y s\u1eed d\u1ee5ng Linode-block-storage-retain StorageClass. Thay v\u00e0o \u0111\u00f3, b\u1ea1n mu\u1ed1n x\u00f3a kh\u1ed1i l\u01b0\u1ee3ng Block Storage v\u00e0 d\u1eef li\u1ec7u c\u1ee7a n\u00f3 c\u00f9ng v\u1edbi PVC c\u1ee7a n\u00f3, s\u1eed d\u1ee5ng Linode-block-storage StorageClass \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin, h\u00e3y xem X\u00f3a y\u00eau c\u1ea7u kh\u1ed1i l\u01b0\u1ee3ng li\u00ean t\u1ee5c.<\/p>\n<p>PVC \u0111\u1ea1i di\u1ec7n cho kh\u1ed1i L\u01b0u tr\u1eef Kh\u1ed1i. V\u00ec kh\u1ed1i L\u01b0u tr\u1eef Kh\u1ed1i c\u00f3 k\u00edch th\u01b0\u1edbc t\u1ed1i thi\u1ec3u l\u00e0 10 gigabyte n\u00ean dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh 10Gi. N\u1ebfu b\u1ea1n ch\u1ecdn k\u00edch th\u01b0\u1edbc nh\u1ecf h\u01a1n 10 gigabyte, PVC s\u1ebd m\u1eb7c \u0111\u1ecbnh l\u00e0 10 gigabyte. Hi\u1ec7n t\u1ea1i, ch\u1ebf \u0111\u1ed9 duy nh\u1ea5t \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3. b\u1edfi tr\u00ecnh \u0111i\u1ec1u khi\u1ec3n CSI c\u1ee7a Linode Block Storage l\u00e0 ReadWriteOnce, ngh\u0129a l\u00e0 n\u00f3 ch\u1ec9 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c k\u1ebft n\u1ed1i v\u1edbi m\u1ed9t n\u00fat Kubernetes t\u1ea1i m\u1ed9t th\u1eddi \u0111i\u1ec3m.<\/p>\n<ul>\n<li>T\u1ea1o PVC trong Kubernetes v\u00e0 chuy\u1ec3n v\u00e0o t\u1ec7p PVC.yaml:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl create -f pvc.yaml<\/code><\/pre>\n<ul>\n<li>Sau m\u1ed9t l\u00e1t, kh\u1ed1i l\u01b0\u1ee3ng L\u01b0u tr\u1eef kh\u1ed1i \u0111\u01b0\u1ee3c cung c\u1ea5p v\u00e0 Y\u00eau c\u1ea7u kh\u1ed1i l\u01b0\u1ee3ng li\u00ean t\u1ee5c \u0111\u00e3 s\u1eb5n s\u00e0ng \u0111\u1ec3 s\u1eed d\u1ee5ng.<\/li>\n<li>Ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1ee7a PVC b\u1eb1ng c\u00e1ch g\u00f5 l\u1ec7nh sau:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl get pvc<\/code><\/pre>\n<p>M\u1ed9t \u0111\u1ea7u ra t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau xu\u1ea5t hi\u1ec7n:<\/p>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"969\" height=\"141\" src=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-19.png\" alt=\"\" class=\"wp-image-1569\" srcset=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-19.png 969w, http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-19-300x44-1.png 300w, http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-19-768x112-1.png 768w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/><\/figure>\n<ul>\n<li>T\u1ea1o t\u1ec7p k\u00ea khai cho Pod m\u1edbi b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng YAML sau, trong \u0111\u00f3 \u1ee9ng d\u1ee5ng \u0111ang s\u1eed d\u1ee5ng b\u1ed9 nh\u1edb c\u1ee5c b\u1ed9 t\u1ea1i $MOUNTPATH, PVC-test l\u00e0 X\u00e1c nh\u1eadn quy\u1ec1n s\u1edf h\u1eefu kh\u1ed1i l\u01b0\u1ee3ng li\u00ean t\u1ee5c t\u1ea1i $CSIVolumePath:<\/li>\n<\/ul>\n<p>new-pod.yaml<\/p>\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Pod\nmetadata:\n  name: new-pod\n  labels:\n    app:\n application\n      volumes:\n      - name: application\n        hostPath:\n          path: $HOSTPATH\n      - name:\n pvc-test\n        persistentVolumeClaim:\n          claimName: pvc-test\n    ........\n      volumeMounts:\n      - name: application\n        mountPath: $MOUNTPATH\n      - name: pvc-test\n        mountPath: $CSIVolumePath<\/code><\/pre>\n<ul>\n<li>T\u1ea1o m\u1ed9t Pod m\u1edbi c\u00f3 t\u00ean new-pod:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl create -f new-pod.yaml<\/code><\/pre>\n<ul>\n<li>Sau m\u1ed9t l\u00fac, Pod s\u1ebd \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp v\u00e0 ch\u1ea1y. \u0110\u1ec3 ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1ee7a Pod, h\u00e3y nh\u1eadp l\u1ec7nh sau:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl get pods<\/code><\/pre>\n<ul>\n<li>M\u1ed9t \u0111\u1ea7u ra t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau xu\u1ea5t hi\u1ec7n:<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"812\" height=\"127\" src=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-20-1.png\" alt=\"\" class=\"wp-image-1570\" srcset=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-20-1.png 812w, http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-20-300x47-1.png 300w, http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/image-20-768x120-1.png 768w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \/><\/figure>\n<ul>\n<li>T\u1eeb shell, sao ch\u00e9p c\u00e1c t\u1ec7p t\u1eeb b\u1ed9 nh\u1edb c\u1ee5c b\u1ed9 sang PVC. Trong l\u1ec7nh sau $MOUNTPATH \u200b\u200b\u200b\u200bl\u00e0 v\u1ecb tr\u00ed c\u1ee7a b\u1ed9 nh\u1edb c\u1ee5c b\u1ed9 v\u00e0 $CSIVolumePath l\u00e0 v\u1ecb tr\u00ed tr\u00ean PVC:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>cp -P $MOUNTPATH $CSIVolumePath.<\/code><\/pre>\n<ul>\n<li>X\u00f3a Pod m\u1edbi m\u00e0 b\u1ea1n \u0111\u00e3 t\u1ea1o r\u1ed3i t\u1ea1o l\u1ea1i:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl delete pod new-pod<br> kubectl create -f new-pod.yaml<\/code><\/pre>\n<p>B\u00e2y gi\u1edd b\u1ea1n s\u1ebd th\u1ea5y t\u1ea5t c\u1ea3 d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong \u1ed4 \u0111\u0129a CSI.<\/p>\n<h2>Th\u00eam m\u1ed9t n\u00fat m\u1edbi v\u00e0o c\u1ee5m v\u00e0 r\u00fat n\u00fat<\/h2>\n<ul>\n<li>Th\u00eam Nh\u00f3m n\u00fat b\u1ed5 sung v\u00e0o c\u1ee5m LKE, c\u00f3 lo\u1ea1i v\u00e0 k\u00edch th\u01b0\u1edbc g\u00f3i c\u00f3 th\u1ec3 \u0111\u00e1p \u1ee9ng kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c hi\u1ec7n c\u00f3.<\/li>\n<\/ul>\n<ul>\n<li>Sau khi c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n m\u1edbi \u0111\u00e3 tham gia v\u00e0o c\u1ee5m, h\u00e3y r\u00fat h\u1ebft c\u00e1c phi\u00ean b\u1ea3n \u0111\u00e3 \u0111\u01b0\u1ee3c l\u00ean l\u1ecbch b\u1ea3o tr\u00ec. \u0110i\u1ec1u n\u00e0y khi\u1ebfn kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c \u0111\u01b0\u1ee3c l\u00ean l\u1ecbch l\u1ea1i cho c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n kh\u00e1c trong c\u1ee5m. Linode khuy\u00ean b\u1ea1n n\u00ean r\u00fat t\u1eebng phi\u00ean b\u1ea3n m\u1ed9t \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o r\u1eb1ng kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c \u0111\u00e3 \u0111\u01b0\u1ee3c l\u00ean l\u1ecbch l\u1ea1i. sang c\u00e1c tr\u01b0\u1eddng h\u1ee3p kh\u00e1c. M\u1ed9t v\u00ed d\u1ee5 v\u1ec1 l\u1ec7nh tho\u00e1t Node:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>c\u1ed1ng kubectl lke9297-11573-5f3e357cb447<\/code><\/pre>\n<ul>\n<li>B\u1ea1n c\u00f3 th\u1ec3 x\u00f3a Node Pool c\u0169 ho\u1eb7c ch\u1ecdn gi\u1eef l\u1ea1i sau khi b\u1ea3o tr\u00ec ho\u00e0n t\u1ea5t. L\u01b0u \u00fd, n\u1ebfu b\u1ea1n gi\u1eef Node Pool, b\u1ea1n s\u1ebd b\u1ecb t\u00ednh ph\u00ed.<\/li>\n<\/ul>\n<ul>\n<li>Khi qu\u00e1 tr\u00ecnh b\u1ea3o tr\u00ec ho\u00e0n t\u1ea5t v\u00e0 n\u1ebfu b\u1ea1n gi\u1eef l\u1ea1i c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n tr\u01b0\u1edbc \u0111\u00f3 th\u00ec sau khi ch\u00fang kh\u1edfi \u0111\u1ed9ng, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e1nh d\u1ea5u l\u1ea1i ch\u00fang l\u00e0 \u0111\u00e3 l\u00ean l\u1ecbch b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng l\u1ec7nh sau:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>kubectl uncordon lke9297-11573-5f3e357cb447<\/code><\/pre>\n<p>ngu\u1ed3n: https:\/\/techdocs.akamai.com\/cloud-computing\/docs\/drain-a-node-pool-on-lke-cluster<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Draining a node B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng kubectl Drain \u0111\u1ec3 tr\u1ee5c xu\u1ea5t t\u1ea5t c\u1ea3 c\u00e1c nh\u00f3m kh\u1ecfi m\u1ed9t n\u00fat m\u1ed9t c\u00e1ch an to\u00e0n tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n b\u1ea3o tr\u00ec tr\u00ean n\u00fat \u0111\u00f3, ch\u1eb3ng h\u1ea1n nh\u01b0 n\u00e2ng c\u1ea5p kernel, b\u1ea3o tr\u00ec ph\u1ea7n c\u1ee9ng, v.v. Vi\u1ec7c tr\u1ee5c xu\u1ea5t an to\u00e0n cho ph\u00e9p c\u00e1c v\u00f9ng ch\u1ee9a nh\u00f3m<\/p>\n","protected":false},"author":1,"featured_media":35903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[],"class_list":["post-34945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linode-kubernetes-engine"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=34945"}],"version-history":[{"count":1,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34945\/revisions"}],"predecessor-version":[{"id":35904,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34945\/revisions\/35904"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/35903"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=34945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=34945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=34945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}