{"id":36003,"date":"2023-05-28T19:14:25","date_gmt":"2023-12-20T16:26:46","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/"},"modified":"2024-04-30T06:24:40","modified_gmt":"2024-04-29T22:24:40","slug":"%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/","title":{"rendered":"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6211\u6b63\u5728\u8fdb\u884cKubernetes\u7684\u9a8c\u8bc1\uff0c\u4f46\u73b0\u5728\u6682\u65f6\u505c\u4e0b\u6765\uff0c\u60f3\u8981\u5347\u7ea7\u96c6\u7fa4\u7684\u7248\u672c\u3002<br \/>\n\u8003\u8651\u5230\u7248\u672c\u5347\u7ea7\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00\u4e9b\u6545\u969c\uff0c\u6240\u4ee5\u5fc5\u987b\u5148\u786e\u4fdd\u6211\u53ef\u4ee5\u63a5\u53d7\u201c\u5c31\u7b97\u51fa\u4e86\u95ee\u9898\u4e5f\u6ca1\u5173\u7cfb\u201d\u8fd9\u6837\u7684\u72b6\u6001\uff0c\u624d\u80fd\u8e0f\u51fa\u8fd9\u4e00\u6b65\u3002<\/p>\n<p>\u672c\u6b21\u5347\u7ea7\u5c06\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\uff0c\u4ecev1.17\u5347\u7ea7\u81f3v1.18\u3002<\/p>\n<p>\u5347\u7ea7kubeadm\u96c6\u7fa4<\/p>\n<h2>\u5347\u7ea7\u7248\u672c\u7684\u6982\u8981<\/h2>\n<p>\u8fd9\u6b21\u662f\u4e00\u4e2a\u7531\u4e00\u4e2aMaster\u8282\u70b9\u548c\u4e24\u4e2aWorker\u8282\u70b9\u7ec4\u6210\u7684\u96c6\u7fa4\u7ed3\u6784\u3002<br \/>\n\u5168\u90e8\u90fd\u662f\u5728\u672c\u5730\u73af\u5883\uff08\u865a\u62df\u673a\u4e0a\u7684\u4e2a\u4eba\u7535\u8111\uff09\u4e2d\u8fdb\u884c\uff0c\u64cd\u4f5c\u7cfb\u7edf\u662fCentOS 7\u3002<\/p>\n<p>\u5bf9\u6bcf\u4e2a\u8282\u70b9\u8fdb\u884c\u9010\u4e00\u5347\u7ea7\uff0c\u65e0\u9700\u505c\u6b62\u4e1a\u52a1\u5373\u53ef\u5b8c\u6210\u5347\u7ea7\uff08\u6eda\u52a8\u66f4\u65b0\uff09\u3002<\/p>\n<p>\u6211\u6ca1\u6709\u5907\u4efd\u6570\u636e\uff0c\u4f46\u6211\u8ba4\u4e3a\u5728\u9700\u8981\u4e4b\u524d\u6700\u597d\u63d0\u524d\u5907\u4efd\u3002<\/p>\n<h1>\u5173\u4e8eKubernetes\u7684\u7248\u672c\u3002<\/h1>\n<p>Kubernetes\u76ee\u524d\u7684\u6700\u65b0\u7248\u672c\u662fv1.18\u3002\u5176\u4e2d\uff0c\u201c1\u201d\u662f\u4e3b\u8981\u7248\u672c\uff0c\u201c18\u201d\u662f\u6b21\u8981\u7248\u672c\u3002<br \/>\n\u6b21\u8981\u7248\u672c\u5927\u7ea6\u6bcf\u4e09\u4e2a\u6708\u53d1\u5e03\u4e00\u6b21\uff0c\u5e76\u652f\u6301\u4e09\u4ee3\u7248\u672c\u3002\u56e0\u6b64\uff0c\u76ee\u524d\u652f\u6301\u7684\u7248\u672c\u662fv1.18\/v1.17\/v1.16\u3002<br \/>\n\u4e00\u65e6\u652f\u6301\u7ed3\u675f\uff0c\u5373\u4f7f\u53d1\u73b0\u4e86\u6f0f\u6d1e\u4e5f\u4e0d\u4f1a\u4fee\u590d\uff0c\u6240\u4ee5\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4f7f\u7528Kubernetes\u65f6\uff0c\u5fc5\u987b\u59cb\u7ec8\u5347\u7ea7\u96c6\u7fa4\u7248\u672c\u3002<\/p>\n<h2>\u8bf7\u6ce8\u610f<\/h2>\n<p>\u5982\u679c\u4f60\u60f3\u907f\u514d\u8fd9\u4e2a\u95ee\u9898\uff0c\u4f7f\u7528\u4e13\u4e3a\u4f01\u4e1a\u5b9a\u5236\u7684 Kubernetes \u4ea7\u54c1\u4e5f\u662f\u4e00\u4e2a\u9009\u62e9\u3002Red Hat \u7684 OpenShift \u662f\u5176\u4e2d\u4e00\u4e2a\u5178\u578b\u7684\u4ea7\u54c1\u3002\u4f3c\u4e4e OpenShift \u63d0\u4f9b\u4e86\u4e3a\u671f\u4e09\u5e74\u7684\u652f\u6301\u3002<\/p>\n<h1>\u4e3b\u8282\u70b9\u7684\u5347\u7ea7<\/h1>\n<p>\u4ece\u4e3b\u8282\u70b9\u8fdb\u884c\u5347\u7ea7\u3002<\/p>\n<h2>\u786e\u8ba4\u73b0\u6709\u73af\u5883<\/h2>\n<p>\u786e\u8ba4Kubeadm\u548ckubelet\u7684\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubeadm version\r\nkubeadm version: &amp;version.Info{Major:\"1\", Minor:\"17\", GitVersion:\"v1.17.3\", GitCommit:\"06ad960bfd03b39c8310aaf92d1e7c12ce618213\", GitTreeState:\"clean\", BuildDate:\"2020-02-11T18:12:12Z\", GoVersion:\"go1.13.6\", Compiler:\"gc\", Platform:\"linux\/amd64\"}\r\n$ kubectl get node\r\nNAME           STATUS   ROLES    AGE    VERSION\r\nk8s-master     Ready    master   138d   v1.17.3\r\nk8s-worker01   Ready    &lt;none&gt;   138d   v1.17.3\r\nk8s-worker02   Ready    &lt;none&gt;   138d   v1.17.3\r\n<\/code><\/pre>\n<p>\u53e6\u5916\uff0c\u6bcf\u4e2aworker\u8282\u70b9\u90fd\u90e8\u7f72\u4e86\u4e00\u4e2aPod\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl get pod -o wide\r\nNAME                         READY   STATUS    RESTARTS   AGE   IP               NODE           NOMINATED NODE   READINESS GATES\r\nnginx-dep-5589d85476-4t4zb   1\/1     Running   0          18m   192.168.79.127   k8s-worker01   &lt;none&gt;           &lt;none&gt;\r\nnginx-dep-5589d85476-p4zgk   1\/1     Running   0          18m   192.168.69.227   k8s-worker02   &lt;none&gt;           &lt;none&gt;\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4\u5347\u7ea7\u7248\u672c (Confirm upgrade version)<\/h2>\n<p>\u786e\u8ba4\u53ef\u7528\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ yum list --showduplicates kubeadm --disableexcludes=kubernetes\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror, langpacks\r\nRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast\r\nDetermining fastest mirrors\r\n * base: ftp-srv2.kddilabs.jp\r\n * extras: ftp-srv2.kddilabs.jp\r\n * updates: ftp.yz.yamagata-u.ac.jp\r\nkubernetes                                                                                                                                                                                                                  505\/505\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u30d1\u30c3\u30b1\u30fc\u30b8\r\nkubeadm.x86_64                                                                                                 1.17.3-0                                                                                                  @kubernetes\r\n\u5229\u7528\u53ef\u80fd\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\r\nkubeadm.x86_64                                                                                                 1.6.0-0                                                                                                   kubernetes\r\nkubeadm.x86_64                                                                                                 1.6.1-0                                                                                                   kubernetes\r\nkubeadm.x86_64                                                                                                 1.6.2-0                                                                                                   kubernetes\r\nkubeadm.x86_64                                                                                                 1.6.3-0                                                                                                   kubernetes\r\n\u30fb\u30fb\u30fb\r\nkubeadm.x86_64                                                                                                 1.17.6-0                                                                                                  kubernetes\r\nkubeadm.x86_64                                                                                                 1.18.0-0                                                                                                  kubernetes\r\nkubeadm.x86_64                                                                                                 1.18.1-0                                                                                                  kubernetes\r\nkubeadm.x86_64                                                                                                 1.18.2-0                                                                                                  kubernetes\r\nkubeadm.x86_64                                                                                                 1.18.3-0                                                                                                  kubernetes\r\n<\/code><\/pre>\n<p>\u8fd9\u6b21\u6211\u4eec\u5c06\u4f7f\u7528\u6700\u65b0\u7684\u7248\u672c&#8221;v1.18.3&#8243;\u3002<\/p>\n<h2>kubeadm \u5347\u7ea7<\/h2>\n<p>\u5347\u7ea7kubeadm\u5de5\u5177\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo yum install -y kubeadm-1.18.3-0 --disableexcludes=kubernetes\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror, langpacks\r\nDetermining fastest mirrors\r\n * base: ftp.iij.ad.jp\r\n * extras: ftp.iij.ad.jp\r\n * updates: ftp.iij.ad.jp\r\nbase                                                                                                                                                                                                         | 3.6 kB  00:00:00\r\ndocker-ce-stable                                                                                                                                                                                             | 3.5 kB  00:00:00\r\nextras                                                                                                                                                                                                       | 2.9 kB  00:00:00\r\nkubernetes\/signature                                                                                                                                                                                         |  454 B  00:00:00\r\nkubernetes\/signature                                                                                                                                                                                         | 1.4 kB  00:00:00 !!!\r\nupdates                                                                                                                                                                                                      | 2.9 kB  00:00:00\r\n(1\/4): extras\/7\/x86_64\/primary_db                                                                                                                                                                            | 205 kB  00:00:00\r\n(2\/4): docker-ce-stable\/x86_64\/primary_db                                                                                                                                                                    |  45 kB  00:00:00\r\n(3\/4): kubernetes\/primary                                                                                                                                                                                    |  73 kB  00:00:01\r\n(4\/4): updates\/7\/x86_64\/primary_db                                                                                                                                                                           | 3.0 MB  00:00:01\r\nkubernetes                                                                                                                                                                                                                  533\/533\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubeadm.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubeadm.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n====================================================================================================================================================================================================================================\r\n Package                                               \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc                                     \u30d0\u30fc\u30b8\u30e7\u30f3                                               \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                                              \u5bb9\u91cf\r\n====================================================================================================================================================================================================================================\r\n\u66f4\u65b0\u3057\u307e\u3059:\r\n kubeadm                                               x86_64                                               1.18.3-0                                                 kubernetes                                               8.8 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n====================================================================================================================================================================================================================================\r\n\u66f4\u65b0  1 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 8.8 M\r\nDownloading packages:\r\nDelta RPMs disabled because \/usr\/bin\/applydeltarpm not installed.\r\na23839a743e789babb0ce912fa440f6e6ceb15bc5db42dd91aa0838c994b3452-kubeadm-1.18.3-0.x86_64.rpm                                                                                                                 | 8.8 MB  00:00:02\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubeadm-1.18.3-0.x86_64                                                                                                                                                                             1\/2\r\n  \u6574\u7406\u4e2d                  : kubeadm-1.17.3-0.x86_64                                                                                                                                                                             2\/2\r\n  \u691c\u8a3c\u4e2d                  : kubeadm-1.18.3-0.x86_64                                                                                                                                                                             1\/2\r\n  \u691c\u8a3c\u4e2d                  : kubeadm-1.17.3-0.x86_64                                                                                                                                                                             2\/2\r\n\r\n\u66f4\u65b0:\r\n  kubeadm.x86_64 0:1.18.3-0\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u786e\u8ba4\u7248\u672c\u662f\u5426\u5347\u7ea7\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubeadm version\r\nkubeadm version: &amp;version.Info{Major:\"1\", Minor:\"18\", GitVersion:\"v1.18.3\", GitCommit:\"2e7996e3e2712684bc73f0dec0200d64eec7fe40\", GitTreeState:\"clean\", BuildDate:\"2020-05-20T12:49:29Z\", GoVersion:\"go1.13.9\", Compiler:\"gc\", Platform:\"linux\/amd64\"}\r\n<\/code><\/pre>\n<p>\u5df2\u7ecf\u662f\u6307\u5b9a\u7684\u7248\u672c\uff08v1.18.3\uff09\u4e86\u3002<\/p>\n<h2>\u6392\u6c34\uff08\u5c06Pod\u4e2d\u7684\u5185\u5bb9\u5907\u4efd\uff09<\/h2>\n<p>\u4ece\u4e3b\u8282\u70b9\u4e0a\u79fb\u9664Pod\u5e76\u5c06\u5176\u4ece\u8c03\u5ea6\u5217\u8868\u4e2d\u5254\u9664\u3002\u5728\u6b64\u8fc7\u7a0b\u4e2d\uff0c\u4f7f\u7528&#8221;&#8211;ignore-daemonsets&#8221;\u9009\u9879\uff0c\u4e5f\u5c06\u6392\u9664DaemonSet\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl drain k8s-master --ignore-daemonsets\r\nnode\/k8s-master cordoned\r\nevicting pod \"calico-kube-controllers-77c4b7448-6prr9\"\r\nevicting pod \"coredns-6955765f44-55wbn\"\r\nevicting pod \"coredns-6955765f44-bhdvr\"\r\npod\/calico-kube-controllers-77c4b7448-6prr9 evicted\r\npod\/coredns-6955765f44-55wbn evicted\r\npod\/coredns-6955765f44-bhdvr evicted\r\nnode\/k8s-master evicted\r\n<\/code><\/pre>\n<h2>\u786e\u8ba4\u5347\u7ea7\u8ba1\u5212<\/h2>\n<p>\u786e\u8ba4\u96c6\u7fa4\u53ef\u4ee5\u8fdb\u884c\u5347\u7ea7\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo kubeadm upgrade plan\r\n[upgrade\/config] Making sure the configuration is correct:\r\n[upgrade\/config] Reading configuration from the cluster...\r\n[upgrade\/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'\r\n[preflight] Running pre-flight checks.\r\n[upgrade] Running cluster health checks\r\n[upgrade] Fetching available versions to upgrade to\r\n[upgrade\/versions] Cluster version: v1.17.3\r\n[upgrade\/versions] kubeadm version: v1.18.3\r\n[upgrade\/versions] Latest stable version: v1.18.5\r\n[upgrade\/versions] Latest stable version: v1.18.5\r\n[upgrade\/versions] Latest version in the v1.17 series: v1.17.8\r\n[upgrade\/versions] Latest version in the v1.17 series: v1.17.8\r\n\r\nComponents that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':\r\nCOMPONENT   CURRENT       AVAILABLE\r\nKubelet     3 x v1.17.3   v1.17.8\r\n\r\nUpgrade to the latest version in the v1.17 series:\r\n\r\nCOMPONENT            CURRENT   AVAILABLE\r\nAPI Server           v1.17.3   v1.17.8\r\nController Manager   v1.17.3   v1.17.8\r\nScheduler            v1.17.3   v1.17.8\r\nKube Proxy           v1.17.3   v1.17.8\r\nCoreDNS              1.6.5     1.6.7\r\nEtcd                 3.4.3     3.4.3-0\r\n\r\nYou can now apply the upgrade by executing the following command:\r\n\r\n        kubeadm upgrade apply v1.17.8\r\n\r\n_____________________________________________________________________\r\n\r\nComponents that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':\r\nCOMPONENT   CURRENT       AVAILABLE\r\nKubelet     3 x v1.17.3   v1.18.5\r\n\r\nUpgrade to the latest stable version:\r\n\r\nCOMPONENT            CURRENT   AVAILABLE\r\nAPI Server           v1.17.3   v1.18.5\r\nController Manager   v1.17.3   v1.18.5\r\nScheduler            v1.17.3   v1.18.5\r\nKube Proxy           v1.17.3   v1.18.5\r\nCoreDNS              1.6.5     1.6.7\r\nEtcd                 3.4.3     3.4.3-0\r\n\r\nYou can now apply the upgrade by executing the following command:\r\n\r\n        kubeadm upgrade apply v1.18.5\r\n\r\nNote: Before you can perform this upgrade, you have to update kubeadm to v1.18.5.\r\n\r\n_____________________________________________________________________\r\n<\/code><\/pre>\n<p>\u6700\u540e\u4f1a\u663e\u793a\u5347\u7ea7\u547d\u4ee4\u3002\u4e0d\u77e5\u4e3a\u4f55\uff0c\u6b64\u5904\u663e\u793a\u4e3a\u201cv1.18.5\u201d\u3002<\/p>\n<h2>\u5347\u7ea7<\/h2>\n<p>\u6211\u5c06\u5c1d\u8bd5\u5728\u5347\u7ea7\u8ba1\u5212\u4e2d\u663e\u793a\u7684\u201cv1.18.5\u201d\u7248\u672c\u8fdb\u884c\u5347\u7ea7\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo kubeadm upgrade apply v1.18.5\r\n[upgrade\/config] Making sure the configuration is correct:\r\n[upgrade\/config] Reading configuration from the cluster...\r\n[upgrade\/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'\r\n[preflight] Running pre-flight checks.\r\n[upgrade] Running cluster health checks\r\n[upgrade\/version] You have chosen to change the cluster version to \"v1.18.5\"\r\n[upgrade\/versions] Cluster version: v1.17.3\r\n[upgrade\/versions] kubeadm version: v1.18.3\r\n[upgrade\/version] FATAL: the --version argument is invalid due to these errors:\r\n\r\n        - Specified version to upgrade to \"v1.18.5\" is higher than the kubeadm version \"v1.18.3\". Upgrade kubeadm first using the tool you used to install kubeadm\r\n\r\nCan be bypassed if you pass the --force flag\r\nTo see the stack trace of this error execute with --v=5 or higher\r\n<\/code><\/pre>\n<p>\u6211\u5931\u8d25\u4e86\u3002\u7531\u4e8e\u4e0e\u4f7f\u7528yum\u5b89\u88c5\u7684kubeadm\u7684\u7248\u672c\uff08v1.18.3\uff09\u4e0d\u76f8\u5bb9\uff0c\u6240\u4ee5\u5931\u8d25\u4e86\u3002<br \/>\n\u5c3d\u7ba1Upgrade plan\u663e\u793av1.18.5\uff0c\u4f46\u6211\u4eec\u5c06\u9009\u62e9\u6307\u5b9av1.18.3\u8fdb\u884c\u5347\u7ea7\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo kubeadm upgrade apply v1.18.3\r\n[upgrade\/config] Making sure the configuration is correct:\r\n[upgrade\/config] Reading configuration from the cluster...\r\n[upgrade\/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'\r\n[preflight] Running pre-flight checks.\r\n[upgrade] Running cluster health checks\r\n[upgrade\/version] You have chosen to change the cluster version to \"v1.18.3\"\r\n[upgrade\/versions] Cluster version: v1.17.3\r\n[upgrade\/versions] kubeadm version: v1.18.3\r\n[upgrade\/confirm] Are you sure you want to proceed with the upgrade? [y\/N]: y\r\n[upgrade\/prepull] Will prepull images for components [kube-apiserver kube-controller-manager kube-scheduler etcd]\r\n[upgrade\/prepull] Prepulling image for component etcd.\r\n[upgrade\/prepull] Prepulling image for component kube-apiserver.\r\n[upgrade\/prepull] Prepulling image for component kube-controller-manager.\r\n[upgrade\/prepull] Prepulling image for component kube-scheduler.\r\n[apiclient] Found 1 Pods for label selector k8s-app=upgrade-prepull-kube-scheduler\r\n[apiclient] Found 0 Pods for label selector k8s-app=upgrade-prepull-etcd\r\n[apiclient] Found 1 Pods for label selector k8s-app=upgrade-prepull-kube-controller-manager\r\n[apiclient] Found 1 Pods for label selector k8s-app=upgrade-prepull-kube-apiserver\r\n[apiclient] Found 1 Pods for label selector k8s-app=upgrade-prepull-etcd\r\n[upgrade\/prepull] Prepulled image for component etcd.\r\n[upgrade\/prepull] Prepulled image for component kube-controller-manager.\r\n[upgrade\/prepull] Prepulled image for component kube-apiserver.\r\n[upgrade\/prepull] Prepulled image for component kube-scheduler.\r\n[upgrade\/prepull] Successfully prepulled the images for all the control plane components\r\n[upgrade\/apply] Upgrading your Static Pod-hosted control plane to version \"v1.18.3\"...\r\nStatic pod: kube-apiserver-k8s-master hash: 6b6a0a73255ee4281de8dca07998054a\r\nStatic pod: kube-controller-manager-k8s-master hash: 4d17d776eb5d9c61bbec5d1e95adacfb\r\nStatic pod: kube-scheduler-k8s-master hash: e3025acd90e7465e66fa19c71b916366\r\n[upgrade\/etcd] Upgrading to TLS for etcd\r\n{\"level\":\"warn\",\"ts\":\"2020-07-13T22:08:19.236+0900\",\"caller\":\"clientv3\/retry_interceptor.go:61\",\"msg\":\"retrying of unary invoker failed\",\"target\":\"passthrough:\/\/\/https:\/\/10.20.30.10:2379\",\"attempt\":0,\"error\":\"rpc error: code = DeadlineExceeded desc = context deadline exceeded\"}\r\n[upgrade\/etcd] Non fatal issue encountered during upgrade: the desired etcd version for this Kubernetes version \"v1.18.3\" is \"3.4.3-0\", but the current etcd version is \"3.4.3\". Won't downgrade etcd, instead just continue\r\n[upgrade\/staticpods] Writing new Static Pod manifests to \"\/etc\/kubernetes\/tmp\/kubeadm-upgraded-manifests623514539\"\r\nW0713 22:08:20.478236   29486 manifests.go:225] the default kube-apiserver authorization-mode is \"Node,RBAC\"; using \"Node,RBAC\"\r\n[upgrade\/staticpods] Preparing for \"kube-apiserver\" upgrade\r\n[upgrade\/staticpods] Renewing apiserver certificate\r\n[upgrade\/staticpods] Renewing apiserver-kubelet-client certificate\r\n[upgrade\/staticpods] Renewing front-proxy-client certificate\r\n[upgrade\/staticpods] Renewing apiserver-etcd-client certificate\r\n[upgrade\/staticpods] Moved new manifest to \"\/etc\/kubernetes\/manifests\/kube-apiserver.yaml\" and backed up old manifest to \"\/etc\/kubernetes\/tmp\/kubeadm-backup-manifests-2020-07-13-22-08-04\/kube-apiserver.yaml\"\r\n[upgrade\/staticpods] Waiting for the kubelet to restart the component\r\n[upgrade\/staticpods] This might take a minute or longer depending on the component\/version gap (timeout 5m0s)\r\nStatic pod: kube-apiserver-k8s-master hash: 6b6a0a73255ee4281de8dca07998054a\r\nStatic pod: kube-apiserver-k8s-master hash: 83c4ef266c3b5fae801e94624406195e\r\n[apiclient] Found 1 Pods for label selector component=kube-apiserver\r\n[upgrade\/staticpods] Component \"kube-apiserver\" upgraded successfully!\r\n[upgrade\/staticpods] Preparing for \"kube-controller-manager\" upgrade\r\n[upgrade\/staticpods] Renewing controller-manager.conf certificate\r\n[upgrade\/staticpods] Moved new manifest to \"\/etc\/kubernetes\/manifests\/kube-controller-manager.yaml\" and backed up old manifest to \"\/etc\/kubernetes\/tmp\/kubeadm-backup-manifests-2020-07-13-22-08-04\/kube-controller-manager.yaml\"\r\n[upgrade\/staticpods] Waiting for the kubelet to restart the component\r\n[upgrade\/staticpods] This might take a minute or longer depending on the component\/version gap (timeout 5m0s)\r\nStatic pod: kube-controller-manager-k8s-master hash: 4d17d776eb5d9c61bbec5d1e95adacfb\r\nStatic pod: kube-controller-manager-k8s-master hash: c019bf493518b70e6417f6d40acb391a\r\n[apiclient] Found 1 Pods for label selector component=kube-controller-manager\r\n[upgrade\/staticpods] Component \"kube-controller-manager\" upgraded successfully!\r\n[upgrade\/staticpods] Preparing for \"kube-scheduler\" upgrade\r\n[upgrade\/staticpods] Renewing scheduler.conf certificate\r\n[upgrade\/staticpods] Moved new manifest to \"\/etc\/kubernetes\/manifests\/kube-scheduler.yaml\" and backed up old manifest to \"\/etc\/kubernetes\/tmp\/kubeadm-backup-manifests-2020-07-13-22-08-04\/kube-scheduler.yaml\"\r\n[upgrade\/staticpods] Waiting for the kubelet to restart the component\r\n[upgrade\/staticpods] This might take a minute or longer depending on the component\/version gap (timeout 5m0s)\r\nStatic pod: kube-scheduler-k8s-master hash: e3025acd90e7465e66fa19c71b916366\r\nStatic pod: kube-scheduler-k8s-master hash: e3025acd90e7465e66fa19c71b916366\r\nStatic pod: kube-scheduler-k8s-master hash: e3025acd90e7465e66fa19c71b916366\r\nStatic pod: kube-scheduler-k8s-master hash: fcdf74fa577cf14b27fe39d482d17a2b\r\n[apiclient] Found 1 Pods for label selector component=kube-scheduler\r\n[upgrade\/staticpods] Component \"kube-scheduler\" upgraded successfully!\r\n[upload-config] Storing the configuration used in ConfigMap \"kubeadm-config\" in the \"kube-system\" Namespace\r\n[kubelet] Creating a ConfigMap \"kubelet-config-1.18\" in namespace kube-system with the configuration for the kubelets in the cluster\r\n[kubelet-start] Downloading configuration for the kubelet from the \"kubelet-config-1.18\" ConfigMap in the kube-system namespace\r\n[kubelet-start] Writing kubelet configuration to file \"\/var\/lib\/kubelet\/config.yaml\"\r\n[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to get nodes\r\n[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials\r\n[bootstrap-token] configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token\r\n[bootstrap-token] configured RBAC rules to allow certificate rotation for all node client certificates in the cluster\r\n[addons] Applied essential addon: CoreDNS\r\n[addons] Applied essential addon: kube-proxy\r\n\r\n[upgrade\/successful] SUCCESS! Your cluster was upgraded to \"v1.18.3\". Enjoy!\r\n\r\n[upgrade\/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.\r\n<\/code><\/pre>\n<p>\u8fd9\u6b21\u6211\u6210\u529f\u4e86\uff01<\/p>\n<h2>\u89e3\u5c01<\/h2>\n<p>\u8fd0\u884ckubectl uncordon\u547d\u4ee4\uff0c\u5c06\u4e3b\u8282\u70b9\u91cd\u65b0\u8bbe\u4e3a\u53ef\u8c03\u5ea6\u76ee\u6807\u3002<\/p>\n<pre class=\"post-pre\"><code>$ kubectl uncordon k8s-master\r\nnode\/k8s-master uncordoned\r\n<\/code><\/pre>\n<h2>kubelet\u548ckubectl\u7684\u5347\u7ea7<\/h2>\n<p>\u5c06kubelet\u548ckubectl\u5347\u7ea7\u81f3v1.18.3\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo yum install -y kubelet-1.18.3-0 kubectl-1.18.3-0 --disableexcludes=kubernetes\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror, langpacks\r\nLoading mirror speeds from cached hostfile\r\n * base: ftp.iij.ad.jp\r\n * extras: ftp.iij.ad.jp\r\n * updates: ftp.iij.ad.jp\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubectl.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubectl.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubelet.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubelet.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n====================================================================================================================================================================================================================================\r\n Package                                               \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc                                     \u30d0\u30fc\u30b8\u30e7\u30f3                                               \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                                              \u5bb9\u91cf\r\n====================================================================================================================================================================================================================================\r\n\u66f4\u65b0\u3057\u307e\u3059:\r\n kubectl                                               x86_64                                               1.18.3-0                                                 kubernetes                                               9.5 M\r\n kubelet                                               x86_64                                               1.18.3-0                                                 kubernetes                                                21 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n====================================================================================================================================================================================================================================\r\n\u66f4\u65b0  2 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 30 M\r\nDownloading packages:\r\nDelta RPMs disabled because \/usr\/bin\/applydeltarpm not installed.\r\n(1\/2): cd5d6980c3e1b15de222db08729eff40f7031b7fa56c71ae3e28e420ba9678cd-kubectl-1.18.3-0.x86_64.rpm                                                                                                          | 9.5 MB  00:00:05\r\n(2\/2): d1a0216cfab2fb28e82be531327ebde9a554bb6d33e3c8313acc9bc728ba59d1-kubelet-1.18.3-0.x86_64.rpm                                                                                                          |  21 MB  00:00:09\r\n------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n\u5408\u8a08                                                                                                                                                                                                3.3 MB\/s |  30 MB  00:00:09\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubectl-1.18.3-0.x86_64                                                                                                                                                                             1\/4\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubelet-1.18.3-0.x86_64                                                                                                                                                                             2\/4\r\n  \u6574\u7406\u4e2d                  : kubectl-1.17.3-0.x86_64                                                                                                                                                                             3\/4\r\n  \u6574\u7406\u4e2d                  : kubelet-1.17.3-0.x86_64                                                                                                                                                                             4\/4\r\n  \u691c\u8a3c\u4e2d                  : kubelet-1.18.3-0.x86_64                                                                                                                                                                             1\/4\r\n  \u691c\u8a3c\u4e2d                  : kubectl-1.18.3-0.x86_64                                                                                                                                                                             2\/4\r\n  \u691c\u8a3c\u4e2d                  : kubectl-1.17.3-0.x86_64                                                                                                                                                                             3\/4\r\n  \u691c\u8a3c\u4e2d                  : kubelet-1.17.3-0.x86_64                                                                                                                                                                             4\/4\r\n\r\n\u66f4\u65b0:\r\n  kubectl.x86_64 0:1.18.3-0                                                                                        kubelet.x86_64 0:1.18.3-0\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<h3>\u91cd\u542fkubelet<\/h3>\n<p>\u91cd\u542fKubelet\u5e76\u68c0\u67e5\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ sudo systemctl daemon-reload\r\n$ sudo systemctl restart kubelet\r\n$ kubectl get node\r\nNAME           STATUS   ROLES    AGE    VERSION\r\nk8s-master     Ready    master   138d   v1.18.3\r\nk8s-worker01   Ready    &lt;none&gt;   138d   v1.17.3\r\nk8s-worker02   Ready    &lt;none&gt;   138d   v1.17.3\r\n<\/code><\/pre>\n<p>\u53ea\u6709Master\u8282\u70b9\u662f&#8221;v1.18.3&#8243;\u3002<\/p>\n<h1>\u5de5\u4eba\u8282\u70b9\u7684\u5347\u7ea7\uff08\u7b2c\u4e00\u53f0\uff09<\/h1>\n<p>\u63a5\u4e0b\u6765\uff0c\u5c06\u8fdb\u884cWorker\u8282\u70b9\u7684\u5347\u7ea7\u3002\u7531\u4e8eWorker\u8282\u70b9\u548cMaster\u8282\u70b9\u6709\u4e0d\u540c\u7684\u4efb\u52a1\uff0c\u6240\u4ee5\u6211\u4eec\u4f7f\u7528\u4e0d\u540c\u7684\u63d0\u793a\u8fdb\u884c\u533a\u5206\u3002<\/p>\n<h2>kubeadm\u7684\u5347\u7ea7<\/h2>\n<p>\u5347\u7ea7Worker\u8282\u70b9\u4e0a\u7684kubeadm\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-worker01]$ sudo yum install -y kubeadm-1.18.3-0 --disableexcludes=kubernetes\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror, langpacks\r\nDetermining fastest mirrors\r\n * base: ftp.riken.jp\r\n * extras: ftp.riken.jp\r\n * updates: ftp.riken.jp\r\nbase                                                                                                                                                                                        | 3.6 kB  00:00:00\r\ndocker-ce-stable                                                                                                                                                                            | 3.5 kB  00:00:00\r\nextras                                                                                                                                                                                      | 2.9 kB  00:00:00\r\nkubernetes\/signature                                                                                                                                                                        |  454 B  00:00:00\r\nkubernetes\/signature                                                                                                                                                                        | 1.4 kB  00:00:00 !!!\r\nupdates                                                                                                                                                                                     | 2.9 kB  00:00:00\r\n(1\/6): base\/7\/x86_64\/group_gz                                                                                                                                                               | 153 kB  00:00:00\r\n(2\/6): docker-ce-stable\/x86_64\/primary_db                                                                                                                                                   |  45 kB  00:00:00\r\n(3\/6): extras\/7\/x86_64\/primary_db                                                                                                                                                           | 205 kB  00:00:00\r\n(4\/6): kubernetes\/primary                                                                                                                                                                   |  73 kB  00:00:01\r\n(5\/6): updates\/7\/x86_64\/primary_db                                                                                                                                                          | 3.0 MB  00:00:01\r\n(6\/6): base\/7\/x86_64\/primary_db                                                                                                                                                             | 6.1 MB  00:00:04\r\nkubernetes                                                                                                                                                                                                 533\/533\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubeadm.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubeadm.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n===================================================================================================================================================================================================================\r\n Package                                           \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc                                 \u30d0\u30fc\u30b8\u30e7\u30f3                                          \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                                          \u5bb9\u91cf\r\n===================================================================================================================================================================================================================\r\n\u66f4\u65b0\u3057\u307e\u3059:\r\n kubeadm                                           x86_64                                           1.18.3-0                                            kubernetes                                           8.8 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n===================================================================================================================================================================================================================\r\n\u66f4\u65b0  1 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 8.8 M\r\nDownloading packages:\r\nDelta RPMs disabled because \/usr\/bin\/applydeltarpm not installed.\r\na23839a743e789babb0ce912fa440f6e6ceb15bc5db42dd91aa0838c994b3452-kubeadm-1.18.3-0.x86_64.rpm                                                                                                | 8.8 MB  00:00:02\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubeadm-1.18.3-0.x86_64                                                                                                                                                            1\/2\r\n  \u6574\u7406\u4e2d                  : kubeadm-1.17.3-0.x86_64                                                                                                                                                            2\/2\r\n  \u691c\u8a3c\u4e2d                  : kubeadm-1.18.3-0.x86_64                                                                                                                                                            1\/2\r\n  \u691c\u8a3c\u4e2d                  : kubeadm-1.17.3-0.x86_64                                                                                                                                                            2\/2\r\n\r\n\u66f4\u65b0:\r\n  kubeadm.x86_64 0:1.18.3-0\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<h2>\u6392\u6c34\uff08Pod\u7684\u64a4\u79bb\uff09<\/h2>\n<p>\u5c06\u90e8\u7f72\u5728Worker\u8282\u70b9\u4e0a\u7684Pod\u8fdb\u884c\u6392\u7a7a\uff0c\u4ece\u8c03\u5ea6\u76ee\u6807\u4e2d\u79fb\u9664\u3002\u540c\u65f6\uff0c\u4e5f\u4f1a\u6392\u7a7aDaemonSet\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl drain k8s-worker01 --ignore-daemonsets\r\nnode\/k8s-worker01 cordoned\r\nWARNING: ignoring DaemonSet-managed Pods: kube-system\/calico-node-cgdgk, kube-system\/kube-proxy-m76p2, metallb-system\/speaker-89wjx\r\nevicting pod default\/nginx-dep-5589d85476-4t4zb\r\nevicting pod kube-system\/calico-kube-controllers-77c4b7448-b55bl\r\nevicting pod kube-system\/coredns-66bff467f8-pmq95\r\npod\/calico-kube-controllers-77c4b7448-b55bl evicted\r\npod\/nginx-dep-5589d85476-4t4zb evicted\r\npod\/coredns-66bff467f8-pmq95 evicted\r\nnode\/k8s-worker01 evicted\r\n<\/code><\/pre>\n<h2>kubelet\u7684\u5347\u7ea7\u7ec4\u6210<\/h2>\n<p>\u5728Master\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ sudo kubeadm upgrade node\r\n[upgrade] Reading configuration from the cluster...\r\n[upgrade] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'\r\n[upgrade] Upgrading your Static Pod-hosted control plane instance to version \"v1.18.3\"...\r\nStatic pod: kube-apiserver-k8s-master hash: 00f5c9af581644d88b6a6824cf93ee01\r\nStatic pod: kube-controller-manager-k8s-master hash: b05610bba851d38ee8c93e1d8d8451fc\r\nStatic pod: kube-scheduler-k8s-master hash: a8caea92c80c24c844216eb1d68fe417\r\n[upgrade\/etcd] Upgrading to TLS for etcd\r\n[upgrade\/etcd] Non fatal issue encountered during upgrade: the desired etcd version for this Kubernetes version \"v1.18.3\" is \"3.4.3-0\", but the current etcd version is \"3.4.3\". Won't downgrade etcd, instead just continue\r\n[upgrade\/staticpods] Writing new Static Pod manifests to \"\/etc\/kubernetes\/tmp\/kubeadm-upgraded-manifests174442946\"\r\nW0713 22:22:45.680253   21786 manifests.go:225] the default kube-apiserver authorization-mode is \"Node,RBAC\"; using \"Node,RBAC\"\r\n[upgrade\/staticpods] Preparing for \"kube-apiserver\" upgrade\r\n[upgrade\/staticpods] Current and new manifests of kube-apiserver are equal, skipping upgrade\r\n[upgrade\/staticpods] Preparing for \"kube-controller-manager\" upgrade\r\n[upgrade\/staticpods] Current and new manifests of kube-controller-manager are equal, skipping upgrade\r\n[upgrade\/staticpods] Preparing for \"kube-scheduler\" upgrade\r\n[upgrade\/staticpods] Current and new manifests of kube-scheduler are equal, skipping upgrade\r\n[upgrade] The control plane instance for this node was successfully updated!\r\n[kubelet-start] Downloading configuration for the kubelet from the \"kubelet-config-1.18\" ConfigMap in the kube-system namespace\r\n[kubelet-start] Writing kubelet configuration to file \"\/var\/lib\/kubelet\/config.yaml\"\r\n[upgrade] The configuration for this node was successfully updated!\r\n[upgrade] Now you should go ahead and upgrade the kubelet package using your package manager.\r\n<\/code><\/pre>\n<h2>kubelet\u548ckubectl\u7684\u5347\u7ea7<\/h2>\n<p>\u5728Worker\u8282\u70b9\u4e0a\u5347\u7ea7kubelet\u548ckubectl\u5de5\u5177\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-worker01]$ sudo yum install -y kubelet-1.18.3-0 kubectl-1.18.3-0 --disableexcludes=kubernetes\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror, langpacks\r\nLoading mirror speeds from cached hostfile\r\n * base: ftp.riken.jp\r\n * extras: ftp.riken.jp\r\n * updates: ftp.riken.jp\r\n\u4f9d\u5b58\u6027\u306e\u89e3\u6c7a\u3092\u3057\u3066\u3044\u307e\u3059\r\n--&gt; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\u3002\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubectl.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubectl.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubelet.x86_64 0:1.17.3-0 \u3092 \u66f4\u65b0\r\n---&gt; \u30d1\u30c3\u30b1\u30fc\u30b8 kubelet.x86_64 0:1.18.3-0 \u3092 \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\r\n--&gt; \u4f9d\u5b58\u6027\u89e3\u6c7a\u3092\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\r\n\r\n\u4f9d\u5b58\u6027\u3092\u89e3\u6c7a\u3057\u307e\u3057\u305f\r\n\r\n===================================================================================================================================================================================================================\r\n Package                                           \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc                                 \u30d0\u30fc\u30b8\u30e7\u30f3                                          \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                                          \u5bb9\u91cf\r\n===================================================================================================================================================================================================================\r\n\u66f4\u65b0\u3057\u307e\u3059:\r\n kubectl                                           x86_64                                           1.18.3-0                                            kubernetes                                           9.5 M\r\n kubelet                                           x86_64                                           1.18.3-0                                            kubernetes                                            21 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n===================================================================================================================================================================================================================\r\n\u66f4\u65b0  2 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 30 M\r\nDownloading packages:\r\nDelta RPMs disabled because \/usr\/bin\/applydeltarpm not installed.\r\n(1\/2): cd5d6980c3e1b15de222db08729eff40f7031b7fa56c71ae3e28e420ba9678cd-kubectl-1.18.3-0.x86_64.rpm                                                                                         | 9.5 MB  00:00:03\r\n(2\/2): d1a0216cfab2fb28e82be531327ebde9a554bb6d33e3c8313acc9bc728ba59d1-kubelet-1.18.3-0.x86_64.rpm                                                                                         |  21 MB  00:00:06\r\n-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n\u5408\u8a08                                                                                                                                                                               4.4 MB\/s |  30 MB  00:00:06\r\nRunning transaction check\r\nRunning transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubectl-1.18.3-0.x86_64                                                                                                                                                            1\/4\r\n  \u66f4\u65b0\u3057\u307e\u3059              : kubelet-1.18.3-0.x86_64                                                                                                                                                            2\/4\r\n  \u6574\u7406\u4e2d                  : kubectl-1.17.3-0.x86_64                                                                                                                                                            3\/4\r\n  \u6574\u7406\u4e2d                  : kubelet-1.17.3-0.x86_64                                                                                                                                                            4\/4\r\n  \u691c\u8a3c\u4e2d                  : kubelet-1.18.3-0.x86_64                                                                                                                                                            1\/4\r\n  \u691c\u8a3c\u4e2d                  : kubectl-1.18.3-0.x86_64                                                                                                                                                            2\/4\r\n  \u691c\u8a3c\u4e2d                  : kubectl-1.17.3-0.x86_64                                                                                                                                                            3\/4\r\n  \u691c\u8a3c\u4e2d                  : kubelet-1.17.3-0.x86_64                                                                                                                                                            4\/4\r\n\r\n\u66f4\u65b0:\r\n  kubectl.x86_64 0:1.18.3-0                                                                                kubelet.x86_64 0:1.18.3-0\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<h3>kubelet\u91cd\u65b0\u542f\u52a8<\/h3>\n<p>\u91cd\u542fkubelet\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-worker01]$ sudo systemctl daemon-reload\r\n[k8s-worker01]$ sudo systemctl restart kubelet\r\n<\/code><\/pre>\n<p>\u89e3\u9664 Worker \u8282\u70b9\u7684\u672a\u8c03\u5ea6\u72b6\u6001\uff0c\u4f7f\u5176\u91cd\u65b0\u53ef\u8c03\u5ea6\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl uncordon k8s-worker01\r\nnode\/k8s-worker01 uncordoned\r\n<\/code><\/pre>\n<p>\u786e\u8ba4\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl get node\r\nNAME           STATUS   ROLES    AGE    VERSION\r\nk8s-master     Ready    master   138d   v1.18.3\r\nk8s-worker01   Ready    &lt;none&gt;   138d   v1.18.3\r\nk8s-worker02   Ready    &lt;none&gt;   138d   v1.17.3\r\n<\/code><\/pre>\n<h1>\u52b3\u52a8\u8282\u70b9\u7684\u5347\u7ea7\uff08\u7b2c\u4e8c\u53f0\uff09<\/h1>\n<p>\u6309\u7167\u4e0e\u7b2c\u4e00\u53f0\u76f8\u540c\u7684\u6b65\u9aa4\u8fdb\u884c\u5347\u7ea7\u3002\u7531\u4e8e\u6b65\u9aa4\u76f8\u540c\uff0c\u6211\u5c06\u7701\u7565\u8be6\u7ec6\u8bf4\u660e\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl get node\r\nNAME           STATUS   ROLES    AGE    VERSION\r\nk8s-master     Ready    master   138d   v1.18.3\r\nk8s-worker01   Ready    &lt;none&gt;   138d   v1.18.3\r\nk8s-worker02   Ready    &lt;none&gt;   138d   v1.18.3\r\n<\/code><\/pre>\n<p>Kubernetes\u96c6\u7fa4\u7684\u5347\u7ea7\u5df2\u7ecf\u5b8c\u6210\u3002<\/p>\n<h1>\uff08\u9009\u62e91\uff09\u786e\u8ba4\u4e1a\u52a1\u7684\u6301\u7eed\u8fdb\u884c<\/h1>\n<p>\u6211\u5011\u5728\u6b64\u6b21\u64cd\u4f5c\u4e2d\u9032\u884c\u4e86\u4e09\u500b\u7bc0\u9ede\u7684\u6efe\u52d5\u66f4\u65b0\uff0c\u800c\u4e0d\u4e2d\u65b7\u696d\u52d9\u904b\u71df\u3002<br \/>\n\u6211\u5011\u901a\u904e\u5916\u90e8\u4f3a\u670d\u5668\u7d93\u7531\u8ca0\u8f09\u5e73\u8861\u5668\u4ee5\u6bcf10\u79d2\u9593\u9694\u6301\u7e8c\u5411\u5bb9\u5668\u767c\u9001\u8acb\u6c42\uff0c\u4ee5\u78ba\u8a8d\u5be6\u969b\u4e0a\u696d\u52d9\u662f\u5426\u505c\u6b62\u3002<\/p>\n<pre class=\"post-pre\"><code>[client]$ while true; do echo -n \"$(date +%T) \" ; curl -s http:\/\/10.20.30.150:8080 ; sleep 10 ;done\r\n22:01:42 Hello!\r\n22:01:52 Hello!\r\n22:02:02 Hello!\r\n22:02:12 Hello!\r\n22:02:23 Hello!\r\n22:02:33 Hello!\r\n\u30fb\u30fb\u30fb\r\n<\/code><\/pre>\n<p>\u5c3d\u7ba1\u4e0d\u53ef\u80fd\u5c06\u6240\u6709\u65e5\u5fd7\u90fd\u516c\u5f00\uff0c\u4f46\u7ecf\u786e\u8ba4\u6240\u6709\u8bf7\u6c42\u90fd\u5f97\u5230\u4e86\u56de\u5e94\u3002\u53ef\u80fd\u572810\u79d2\u5185\u6709\u65f6\u8fde\u63a5\u4e2d\u65ad\uff0c\u4f46\u6211\u8ba4\u4e3a\u4e1a\u52a1\u6ca1\u6709\u505c\u6b62\u5c31\u5b8c\u6210\u4e86\u5347\u7ea7\u3002<\/p>\n<h1>\uff08\u53c2\u80032\uff09\u95ee\u9898<\/h1>\n<p>\u5728\u6267\u884c\u5bf9k8s-worker02\u8fdb\u884c\u6392\u7a7a\u64cd\u4f5c\u65f6\uff0c\u51fa\u73b0\u4e86\u5931\u8d25\u3002\u539f\u56e0\u662f\u7531\u4e8ek8s-worker02\u4e0a\u90e8\u7f72\u7684\u6307\u6807\u670d\u52a1\u5668\u5177\u6709\u672c\u5730\u5b58\u50a8\uff0c\u5bfc\u81f4\u65e0\u6cd5\u8fdb\u884c\u6392\u7a7a\u64cd\u4f5c\u3002<br \/>\n\u8fd9\u6b21\u6211\u4eec\u9009\u62e9\u5148\u5220\u9664\u6307\u6807\u670d\u52a1\u5668\u6765\u89e3\u51b3\u95ee\u9898\u3002\u4ee5\u4e0b\u662f\u8be6\u7ec6\u60c5\u51b5\u3002<\/p>\n<h2>\u4e8b\u4ef6<\/h2>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl drain k8s-worker02 --ignore-daemonsets\r\nnode\/k8s-worker02 cordoned\r\nerror: unable to drain node \"k8s-worker02\", aborting command...\r\n\r\nThere are pending nodes to be drained:\r\n k8s-worker02\r\nerror: cannot delete Pods with local storage (use --delete-local-data to override): kube-system\/metrics-server-fbc46dc5f-nlhvs\r\n<\/code><\/pre>\n<p>\u5de5\u4f5c\u8282\u70b9\u5df2\u88ab\u6392\u9664\u5728\u8c03\u5ea6\u76ee\u6807\u4e4b\u5916\uff0c\u4f46\u7531\u4e8e\u6307\u6807\u670d\u52a1\u5668\uff08metrics-server-fbc46dc5f-nlhvs\uff09\u5177\u6709\u672c\u5730\u5b58\u50a8\uff0c\u5219\u5bfc\u81f4drain\u5931\u8d25\u3002<\/p>\n<h2>\u5904\u7406<\/h2>\n<h3>\u67e5\u770bMetric\u670d\u52a1\u5668\u7684\u8be6\u7ec6\u4fe1\u606f<\/h3>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl -n kube-system describe pod metrics-server-fbc46dc5f-nlhvs\r\nName:         metrics-server-fbc46dc5f-nlhvs\r\nNamespace:    kube-system\r\nPriority:     0\r\nNode:         k8s-worker02\/10.20.30.30\r\n\u30fb\u30fb\u30fb\r\nContainers:\r\n  metrics-server:\r\n\u30fb\u30fb\u30fb\r\n    Mounts:\r\n      \/tmp from tmp-dir (rw)\r\n      \/var\/run\/secrets\/kubernetes.io\/serviceaccount from metrics-server-token-5s57t (ro)\r\n\u30fb\u30fb\u30fb\r\nVolumes:\r\n  tmp-dir:\r\n    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)\r\n    Medium:\r\n    SizeLimit:  &lt;unset&gt;\r\n\u30fb\u30fb\u30fb\r\n<\/code><\/pre>\n<p>\u7ed9EmptyDir\u8d4b\u503c\u4e86\u3002<br \/>\n\u9274\u4e8e\u5373\u4f7f\u6dfb\u52a0\u4e86&#8211;force\u9009\u9879\uff0c\u7ed3\u679c\u4ecd\u7136\u76f8\u540c\uff0c\u56e0\u6b64\u5047\u8bbe\u5ea6\u91cf\u670d\u52a1\u5668\u672c\u8eab\u5bf9\u4e1a\u52a1\u6ca1\u6709\u5f71\u54cd\uff0c\u5e76\u51b3\u5b9a\u5148\u5220\u9664\u5b83\u3002<\/p>\n<p>\u5f3a\u5236\u6392\u7a7a k8s-worker02 \u8282\u70b9\uff0c\u5ffd\u7565\u5b88\u62a4\u8fdb\u7a0b\u3002<\/p>\n<h3>\u5220\u9664\u6307\u6807\u670d\u52a1\u5668<\/h3>\n<p>\u5728\u5220\u9664\u4e4b\u524d\uff0c\u8bf7\u5148\u4fdd\u5b58\u80fd\u591f\u91cd\u65b0\u6784\u5efa\u7684\u6e05\u5355\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl -n kube-system get pod metrics-server-fbc46dc5f-nlhvs -o yaml &gt; metrics.yaml\r\n[k8s-master]$ kubectl -n kube-system delete pod metrics-server-fbc46dc5f-nlhvs\r\npod \"metrics-server-fbc46dc5f-nlhvs\" deleted\r\n<\/code><\/pre>\n<h3>\u6392\u6c34<\/h3>\n<p>\u518d\u6b21\u6392\u6c34\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl drain k8s-worker02 --ignore-daemonsets\r\nnode\/k8s-worker02 already cordoned\r\nWARNING: ignoring DaemonSet-managed Pods: kube-system\/calico-node-tkcz5, kube-system\/kube-proxy-6x2wd, metallb-system\/speaker-vdh69\r\nevicting pod default\/nginx-dep-5589d85476-qkj8p\r\nevicting pod default\/nginx-dep-5589d85476-p4zgk\r\nevicting pod kube-system\/calico-kube-controllers-77c4b7448-xqqhv\r\nevicting pod kube-system\/coredns-66bff467f8-f4s5z\r\nevicting pod metallb-system\/controller-5c9894b5cd-4hnzc\r\npod\/controller-5c9894b5cd-4hnzc evicted\r\nerror when evicting pod \"nginx-dep-5589d85476-qkj8p\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.\r\nevicting pod default\/nginx-dep-5589d85476-qkj8p\r\nerror when evicting pod \"nginx-dep-5589d85476-qkj8p\" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.\r\npod\/calico-kube-controllers-77c4b7448-xqqhv evicted\r\npod\/nginx-dep-5589d85476-p4zgk evicted\r\npod\/coredns-66bff467f8-f4s5z evicted\r\nevicting pod default\/nginx-dep-5589d85476-qkj8p\r\npod\/nginx-dep-5589d85476-qkj8p evicted\r\nnode\/k8s-worker02 evicted\r\n<\/code><\/pre>\n<p>\u7531\u4e8ePodDisruptionBudget\u7684\u5f71\u54cd\uff0c\u663e\u793a\u51fa\u4e86\u9519\u8bef\uff0c\u4f46\u5728\u8fd9\u91cc\u6ca1\u6709\u95ee\u9898\u3002<br \/>\n\u53c2\u8003\uff1a[Kubernetes]\u786e\u8ba4\u8282\u70b9\u7ef4\u62a4\u95ee\u9898<\/p>\n<p>\u7531\u4e8e\u6210\u529f\u8fdb\u884c\u4e86\u6392\u6c34\uff0c\u56e0\u6b64\u4e4b\u540e\u5c06\u6309\u7167\u786e\u8ba4\u7684\u6b65\u9aa4\u8fdb\u884c\u5347\u7ea7\u3002<\/p>\n<h2>\u91cd\u65b0\u521b\u5efaMetric\u670d\u52a1\u5668<\/h2>\n<p>\u5347\u7ea7\u5b8c\u6210\u540e\uff0c\u8bf7\u5e94\u7528\u4e4b\u524d\u5907\u4efd\u7684\u6e05\u5355\u6587\u4ef6\uff0c\u5e76\u91cd\u65b0\u521b\u5efa\u6307\u6807\u670d\u52a1\u5668\u3002<\/p>\n<pre class=\"post-pre\"><code>[k8s-master]$ kubectl apply -f metrics.yaml\r\npod\/metrics-server-fbc46dc5f-nlhvs created\r\n[k8s-master]$ kubectl top node\r\nNAME           CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%\r\nk8s-master     226m         11%    1659Mi          60%\r\nk8s-worker01   174m         8%     791Mi           28%\r\nk8s-worker02   150m         7%     754Mi           27%\r\n<\/code><\/pre>\n<h1>\u603b\u7ed3<\/h1>\n<p>\u7531\u4e8eKubernetes\u4ec5\u652f\u6301\u76f8\u540c\u7248\u672c\u5927\u7ea69\u4e2a\u6708\uff0c\u6240\u4ee5\u6700\u597d\u6bcf\u534a\u5e74\u8fdb\u884c\u4e00\u6b21\u5347\u7ea7\u6765\u786e\u4fdd\u65f6\u95f4\u5145\u88d5\u3002\u672c\u6b21\u662f\u7531\u4e00\u4e2a\u75313\u53f0\u670d\u52a1\u5668\u7ec4\u6210\u7684\u96c6\u7fa4\uff0c\u6240\u4ee5\u6211\u4eec\u4e00\u53f0\u4e00\u53f0\u624b\u52a8\u8fdb\u884c\u4e86\u5347\u7ea7\uff0c\u4f46\u5982\u679c\u662f\u66f4\u5927\u89c4\u6a21\u7684\u96c6\u7fa4\uff0c\u624b\u52a8\u64cd\u4f5c\u5c31\u4f1a\u53d8\u5f97\u56f0\u96be\u3002\u5982\u679c\u6ca1\u6709\u81ea\u52a8\u5316\u5de5\u5177\u5982Ansible\u7684\u652f\u6301\uff0c\u8981\u4fdd\u6301\u5347\u7ea7\u5c06\u4f1a\u53d8\u5f97\u56f0\u96be\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6211\u6b63\u5728\u8fdb\u884cKubernetes\u7684\u9a8c\u8bc1\uff0c\u4f46\u73b0\u5728\u6682\u65f6\u505c\u4e0b\u6765\uff0c\u60f3\u8981\u5347\u7ea7\u96c6\u7fa4\u7684\u7248\u672c\u3002 \u8003\u8651\u5230\u7248\u672c\u5347\u7ea7\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00 [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-36003","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u67e5\u770bkubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6211\u6b63\u5728\u8fdb\u884cKubernetes\u7684\u9a8c\u8bc1\uff0c\u4f46\u73b0\u5728\u6682\u65f6\u505c\u4e0b\u6765\uff0c\u60f3\u8981\u5347\u7ea7\u96c6\u7fa4\u7684\u7248\u672c\u3002 \u8003\u8651\u5230\u7248\u672c\u5347\u7ea7\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u67e5\u770bkubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-20T16:26:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T22:24:40+00:00\" \/>\n<meta name=\"author\" content=\"\u6e05, \u626c\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u626c\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/\",\"name\":\"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-12-20T16:26:46+00:00\",\"dateModified\":\"2024-04-29T22:24:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461\",\"name\":\"\u6e05, \u626c\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u626c\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u67e5\u770bkubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4","og_description":"\u9996\u5148 \u6211\u6b63\u5728\u8fdb\u884cKubernetes\u7684\u9a8c\u8bc1\uff0c\u4f46\u73b0\u5728\u6682\u65f6\u505c\u4e0b\u6765\uff0c\u60f3\u8981\u5347\u7ea7\u96c6\u7fa4\u7684\u7248\u672c\u3002 \u8003\u8651\u5230\u7248\u672c\u5347\u7ea7\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e00 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u67e5\u770bkubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-12-20T16:26:46+00:00","article_modified_time":"2024-04-29T22:24:40+00:00","author":"\u6e05, \u626c","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u626c","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"15 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/","name":"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-12-20T16:26:46+00:00","dateModified":"2024-04-29T22:24:40+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u67e5\u770bKubernetes\u96c6\u7fa4\u5347\u7ea7\u6b65\u9aa4"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461","name":"\u6e05, \u626c","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g","caption":"\u6e05, \u626c"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%9f%a5%e7%9c%8bkubernetes%e9%9b%86%e7%be%a4%e5%8d%87%e7%ba%a7%e6%ad%a5%e9%aa%a4%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=36003"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36003\/revisions"}],"predecessor-version":[{"id":90240,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/36003\/revisions\/90240"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=36003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=36003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=36003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}