{"id":20362,"date":"2026-05-20T17:10:01","date_gmt":"2026-05-20T09:10:01","guid":{"rendered":"https:\/\/blog.ywdevops.cn\/?p=20362"},"modified":"2026-05-20T18:26:19","modified_gmt":"2026-05-20T10:26:19","slug":"k8s-9","status":"publish","type":"post","link":"https:\/\/blog.ywdevops.cn\/index.php\/2026\/05\/20\/k8s-9\/","title":{"rendered":"k8s\u4ece1.32\u5347\u7ea7\u52301.33(ubuntu\u7cfb\u7edf)"},"content":{"rendered":"\n<p class=\"has-text-align-left wp-block-paragraph\">\u4e00\u3001<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u5347\u7ea7\u524d\u51c6\u5907\uff08\u5fc5\u505a\uff09<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u786e\u8ba4\u96c6\u7fa4\u72b6\u6001\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6240\u6709\u8282\u70b9 <code>Ready<\/code>\uff0c\u65e0 <code>NotReady<\/code>\/<code>SchedulingDisabled<\/code><\/li>\n\n\n\n<li>\u65e0\u5173\u952e Pod\uff08calico\u3001coredns\u3001metallb\uff09\u5f02\u5e38<\/li>\n\n\n\n<li>\u63a7\u5236\u5e73\u9762\u8282\u70b9\u5df2\u505a etcd \u5907\u4efd\uff08\u5efa\u8bae\uff09<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6240\u6709\u8282\u70b9\u90fd\u8981\u6267\u884c\nkubectl get nodes\nkubectl get pods -A\nkubectl version\nkubeadm version\nkubelet --version\ndpkg -l | grep kube<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u5907\u4efd etcd\uff08\u5173\u952e\uff01\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ETCDCTL_API=3 etcdctl snapshot save \/var\/lib\/etcd\/snapshot-pre-upgrade.db \\\n  --endpoints=https:\/\/127.0.0.1:2379 \\\n  --cacert=\/etc\/kubernetes\/pki\/etcd\/ca.crt \\\n  --cert=\/etc\/kubernetes\/pki\/etcd\/server.crt \\\n  --key=\/etc\/kubernetes\/pki\/etcd\/server.key<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u5347\u7ea7\u7b56\u7565\u8bf4\u660e<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>K8S\u652f\u6301\u4ece1.32\u5347\u7ea7\u52301.33\uff0c\u4f46\u662f\u4e0d\u652f\u6301\u76f4\u63a5\u4ece1.32\u52301.34\uff0c\u53ea\u80fd1.32.3 \u2192 1.33.x \u2192 1.34.x<\/li>\n\n\n\n<li>\u63a7\u5236\u5e73\u9762\u8282\u70b9\uff1a\u5148\u5347\u7ea7 <code>kubeadm<\/code> \u2192 \u5347\u7ea7\u63a7\u5236\u5e73\u9762\u7ec4\u4ef6 \u2192 \u5347\u7ea7 <code>kubelet<\/code>\/<code>kubectl<\/code><\/li>\n\n\n\n<li>\u5de5\u4f5c\u8282\u70b9\uff1a\u5148\u9a71\u9010 Pod \u2192 \u5347\u7ea7 <code>kubeadm<\/code>\/<code>kubelet<\/code>\/<code>kubectl<\/code> \u2192 uncordon<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e8c\u3001\u5347\u7ea7\u63a7\u5236\u5e73\u9762\u8282\u70b9<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u6392\u7a7a\u8282\u70b9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl drain k8s-master01 --ignore-daemonsets --delete-emptydir-data\n#\u6267\u884c\u5b8c\u8282\u70b9\u72b6\u6001\u4f1a\u53d8\u6210 SchedulingDisabled<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u63a7\u5236\u5e73\u9762\u8282\u70b9\u66f4\u65b0\u8f6f\u4ef6\u6e90\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. \u914d\u7f6e apt \u6e90\uff08\u5982\u679c\u4e4b\u524d\u6ca1\u914d\u7f6e\u8fc7\uff09\r\ncurl -fsSL https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/Release.key | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg\r\necho 'deb &#91;signed-by=\/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg] https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/ \/' | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\r\n\r\n# 2. \u66f4\u65b0 apt \u7f13\u5b58\r\napt update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u67e5\u770b\u53ef\u7528\u7248\u672c\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-cache madison kubelet  | kubectl | kubeadm<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"319\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2026\/05\/1-3.png\" alt=\"\" class=\"wp-image-20367\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2026\/05\/1-3.png 652w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2026\/05\/1-3-300x147.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2026\/05\/1-3-600x294.png 600w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u5347\u7ea7kubeadm<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install -y kubeadm=1.33.10-1.1\r\napt-mark hold kubeadm   #\u9501\u5b9a\u7248\u672c\uff0c\u9632\u6b62\u81ea\u52a8\u5347\u7ea7\n\n# \u5148\u67e5\u770b\u53ef\u5347\u7ea7\u7248\u672c\r\nkubeadm upgrade plan\r\n\r\n# \u6267\u884c\u5347\u7ea7\r\nkubeadm upgrade apply v1.33.10<\/code><\/pre>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u591a master \u96c6\u7fa4\uff0c\u5176\u4ed6\u63a7\u5236\u5e73\u9762\u8282\u70b9\u6267\u884c <code>kubeadm upgrade node<\/code> \u5373\u53ef\uff0c\u4e0d\u7528 <code>apply<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5\u3001\u5347\u7ea7kubectl \u548c kubelet<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install -y kubelet=1.33.5-1.1 kubectl=1.33.10-1.1\r\napt-mark hold kubelet kubectl\r\n\r\n# \u91cd\u542f kubelet\r\nsystemctl daemon-reload\r\nsystemctl restart kubelet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6\u3001\u6062\u590d\u8c03\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl uncordon k8s-master01<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">7\u3001\u5176\u4ed6master\u8282\u70b9\uff0c\u4ee5k8s-master02\u4e3a\u4f8b\uff0c\u6b65\u9aa4\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6392\u7a7a\u8282\u70b9\nkubectl drain k8s-master02 --ignore-daemonsets --delete-emptydir-data\n#\u6dfb\u52a0\u8f6f\u4ef6\u6e90\ncurl -fsSL https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/Release.key | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg\r\necho 'deb &#91;signed-by=\/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg] https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/ \/' | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\napt update\n#\u5b89\u88c5\u7248\u672c\napt install -y kubeadm=1.33.10-1.1 kubelet=1.33.10-1.1 kubectl=1.33.10-1.1\napt-mark hold kubeadm kubelet kubectl   #\u9501\u5b9a\u7248\u672c\uff0c\u9632\u6b62\u81ea\u52a8\u5347\u7ea7\n#\u5347\u7ea7\u8282\u70b9\nkubeadm upgrade node\n#\u91cd\u542f\u670d\u52a1\nsystemctl daemon-reload\r\nsystemctl restart kubelet\n#\u5728\u4e3bmaster\u8282\u70b9\u4e0a\u6062\u590d\u8c03\u5ea6\nkubectl uncordon k8s-master02<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">\u4e09\u3001\u5347\u7ea7\u5de5\u4f5c\u8282\u70b9<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u6392\u7a7a\u5de5\u4f5c\u8282\u70b9\uff0c\u5728\u4e3bmaster\u8282\u70b9\u4e0a\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl drain k8s-node01 \\\r\n  --ignore-daemonsets \\\r\n  --delete-emptydir-data \\\r\n  --force<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u6dfb\u52a0\u8f6f\u4ef6\u6e90<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/Release.key | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg\r\necho 'deb &#91;signed-by=\/etc\/apt\/keyrings\/kubernetes-apt-keyring.gpg] https:\/\/pkgs.k8s.io\/core:\/stable:\/v1.33\/deb\/ \/' | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\r\napt update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u5347\u7ea7\u4e09\u4e2a\u5305<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install -y \\\r\nkubeadm=1.33.10-1.1 \\\r\nkubelet=1.33.10-1.1 \\\r\nkubectl=1.33.10-1.1\napt-mark hold kubeadm kubelet kubectl #\u9501\u5b9a\u7248\u672c<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u6267\u884c\u5347\u7ea7<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm upgrade node<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">5\u3001\u91cd\u542fkubelet<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\r\nsudo systemctl restart kubelet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6\u3001\u8282\u70b9\u6062\u590d\u8c03\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl uncordon k8s-node01<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u5347\u7ea7\u524d\u51c6\u5907\uff08\u5fc5\u505a\uff09 1\u3001\u786e\u8ba4\u96c6\u7fa4\u72b6\u6001\uff1a 2\u3001\u5907\u4efd etcd\uff08\u5173\u952e\uff01\uff09 3\u3001\u5347\u7ea7\u7b56\u7565\u8bf4\u660e \u4e8c\u3001\u5347\u7ea7\u63a7\u5236\u5e73\u9762\u8282 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":20364,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[93],"tags":[],"class_list":["post-20362","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/20362","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/comments?post=20362"}],"version-history":[{"count":20,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/20362\/revisions"}],"predecessor-version":[{"id":20384,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/20362\/revisions\/20384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media\/20364"}],"wp:attachment":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media?parent=20362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/categories?post=20362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/tags?post=20362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}