{"id":27144,"date":"2023-10-04T14:46:26","date_gmt":"2023-11-05T03:06:09","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/"},"modified":"2025-08-12T01:02:17","modified_gmt":"2025-08-11T17:02:17","slug":"%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/","title":{"rendered":"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883"},"content":{"rendered":"<h1>\u8fd9\u7bc7\u6587\u7ae0\u7684\u5185\u5bb91. \u8d77\u59cb<br \/>\n2. \u57fa\u672c\u4fe1\u606f<br \/>\n3. \u6784\u5efa ControlPlane<br \/>\n4. \u6784\u5efa WorkerNode<br \/>\n5. \u53c2\u8003\u94fe\u63a5<br \/>\n6. \u6784\u5efa\u65f6\u9047\u5230\u7684\u95ee\u9898<\/p>\n<h1>\u9996\u5148\u69cb\u7bc9\u81ea\u5df1\u7528\u4e8e\u5b66\u4e60\u7684Kubernetes\u73af\u5883\u7684\u8bb0\u5f55\u3002<br \/>\n\u5c3d\u7ba1\u5b9e\u9645\u4e0a\u4f7f\u7528\u5404\u79cd\u4e91\u4f9b\u5e94\u5546\u63d0\u4f9b\u7684Kubernetes\u7cfb\u5217\u6258\u7ba1\u670d\u52a1\u66f4\u52a0\u9ad8\u6548\uff0c\u4f46\u4e3a\u4e86\u83b7\u5f97\u4e0eKubernetes\u76f8\u5173\u7684\u77e5\u8bc6\uff0c\u7279\u610f\u4ece\u96f6\u5f00\u59cb\u5728EC2\u4e0a\u8fdb\u884c\u642d\u5efa\u3002<\/p>\n<h1>2. \u524d\u63d0\u4fe1\u606f t\u00ed\u5728\u73af\u5883\u642d\u5efa\u65f6\uff0c\u6784\u5efa\u7684\u8981\u7d20\u548c\u5185\u5bb9\uff08\u7c7b\u578b\/\u7248\u672c\uff09\u5982\u4e0b\uff1a<\/p>\n<div>\n<div class=\"post-table\">\u69cb\u6210\u8981\u7d20\u5185\u5bb9 (\u7a2e\u5225\uff0f\u30d0\u30fc\u30b8\u30e7\u30f3)\u74b0\u5883AWS\u306eEC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30bf\u30a4\u30d7t3.small\uff082 vCPU\uff0f2 GiB\u30e1\u30e2\u30ea\uff09OSUbuntu Server 22.04 LTSAMI\u540dubuntu-jammy-22.04-amd64-server-20230516AMI-IDami-0d52744d6551d851eEBS\u30dc\u30ea\u30e5\u30fc\u30e010GiB\u30b3\u30f3\u30c6\u30ca\u30a8\u30f3\u30b8\u30f3containerd v1.7.3\u30b3\u30f3\u30c6\u30ca\u4f4e\u30ec\u30d9\u30eb\u30e9\u30f3\u30bf\u30a4\u30e0runC 1.1.8\u30b3\u30f3\u30c6\u30ca\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3kubernetes v1.28.2\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff08\u30b3\u30f3\u30c6\u30ca\u9593\u901a\u4fe1\uff09Flannel v0.22.3<\/p>\n<h1>3. \u6784\u5efa ControlPlane<\/p>\n<h2>\u901a\u8fc7AWS\u7ba1\u7406\u63a7\u5236\u53f0\u521b\u5efaEC2\u5b9e\u4f8b\u30022. \u524d\u63d0\u60c5\u5831 \u306b\u8a18\u8f09\u3057\u305f\u69cb\u6210\u3067EC2\u3092\u69cb\u7bc9\u3002<br \/>\nEC2\u306f\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u53ef\u80fd\u306a\u30d1\u30d6\u30ea\u30c3\u30af\u30b5\u30d6\u30cd\u30c3\u30c8\u4e0a\u306b\u69cb\u7bc9\u3002<br \/>\nEC2\u69cb\u7bc9\u306e\u8a73\u7d30\u306a\u624b\u9806\u306b\u3064\u3044\u3066\u306f\u3001\u672c\u8a18\u4e8b\u3067\u306f\u5272\u611b\u3002<\/p>\n<h2>3-2. \u767b\u5f55\u5230\u5df2\u6784\u5efa\u7684 EC2 \u5b9e\u4f8b\u4e0a\uff0c\u642d\u5efa Kubernetes \u73af\u5883\u3002<\/p>\n<ul class=\"post-ul\">OS\u306b\u30ed\u30b0\u30a4\u30f3\u5f8c\u3001root\u30e6\u30fc\u30b6\u306b\u3066\u4f5c\u696d\u3092\u5b9f\u65bd\u3002<\/ul>\n<div>\u5982\u679c\u8981\u5efa\u7acb\u4e00\u4e2a\u6b63\u5f0f\u7684\u73af\u5883\uff0c\u9700\u8981\u8003\u8651\u4e0e\u5b89\u5168\u9700\u6c42\u76f8\u9002\u5e94\u7684\u6743\u9650\u8bbe\u8ba1\u7b49\uff0c\u4f46\u662f\u672c\u6b21\u5efa\u7acb\u7684\u73af\u5883\u662f\u4e3a\u81ea\u5b66\u800c\u8bbe\u7684\u5f00\u53d1\u73af\u5883\uff0c\u5c06\u6240\u6709\u5de5\u4f5c\u90fd\u5728root\u7528\u6237\u4e0b\u8fdb\u884c\u64cd\u4f5c\u3002<\/p>\n<h3>\u66f4\u6539\u64cd\u4f5c\u7cfb\u7edf\u4e3b\u673a\u540d<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">hostnamectl set-hostname &lt;\u8a2d\u5b9a\u3059\u308b\u30db\u30b9\u30c8\u540d&gt;<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@ip-10-0-0-105:~#<\/span> hostnamectl set-hostname k8s-control-plane\r\n<span class=\"gp\">root@ip-10-0-0-105:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u5411\u4e3b\u673a\u6dfb\u52a0\u81ea\u5df1\u7684\u4e3b\u673a<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">vim \/etc\/hosts\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@ip-10-0-0-105:~#<\/span> vim \/etc\/hosts\r\n<span class=\"gp\">root@ip-10-0-0-105:~#<\/span> <span class=\"nb\">cat<\/span> \/etc\/hosts | <span class=\"nb\">grep <\/span>k8s\r\n<span class=\"go\">10.0.0.105 k8s-control-plane\r\n<\/span><span class=\"gp\">root@ip-10-0-0-105:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u91cd\u65b0\u542f\u52a8\u64cd\u4f5c\u7cfb\u7edf<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">shutdown -r now \r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@ip-10-0-0-105:~#<\/span>\u00a0shutdown <span class=\"nt\">-r<\/span> now \r\n<span class=\"go\">Connection to x.x.x.x closed by remote host.\r\nConnection to x.x.x.x closed.\r\n<\/span><span class=\"gp\">localMac:~ root#<\/span>\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5 containerd<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">CONTAINERD_VERSION=1.7.3\r\nmkdir -p \/usr\/local\/src\r\n<\/span><span class=\"gp\">wget -P \/usr\/local\/src https:\/\/github.com\/containerd\/containerd\/releases\/download\/v$<\/span><span class=\"o\">{<\/span>CONTAINERD_VERSION<span class=\"o\">}<\/span>\/containerd-<span class=\"k\">${<\/span><span class=\"nv\">CONTAINERD_VERSION<\/span><span class=\"k\">}<\/span><span class=\"nt\">-linux-amd64<\/span>.tar.gz\r\n<span class=\"gp\">tar -C \/usr\/local -xf \/usr\/local\/src\/containerd-$<\/span><span class=\"o\">{<\/span>CONTAINERD_VERSION<span class=\"o\">}<\/span><span class=\"nt\">-linux-amd64<\/span>.tar.gz\r\n<span class=\"go\">wget -P \/etc\/systemd\/system https:\/\/raw.githubusercontent.com\/containerd\/containerd\/main\/containerd.service\r\nsystemctl daemon-reload\r\nsystemctl enable --now containerd\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nv\">CONTAINERD_VERSION<\/span><span class=\"o\">=<\/span>1.7.3\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">mkdir<\/span> <span class=\"nt\">-p<\/span> \/usr\/local\/src\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> wget <span class=\"nt\">-P<\/span> \/usr\/local\/src https:\/\/github.com\/containerd\/containerd\/releases\/download\/v<span class=\"k\">${<\/span><span class=\"nv\">CONTAINERD_VERSION<\/span><span class=\"k\">}<\/span>\/containerd-<span class=\"k\">${<\/span><span class=\"nv\">CONTAINERD_VERSION<\/span><span class=\"k\">}<\/span><span class=\"nt\">-linux-amd64<\/span>.tar.gz\r\n<span class=\"go\">--2023-09-30 14:07:10--\u00a0 https:\/\/github.com\/containerd\/containerd\/releases\/download\/v1.7.3\/containerd-1.7.3-linux-amd64.tar.gz\r\nResolving github.com (github.com)... 20.27.177.113\r\nConnecting to github.com (github.com)|20.27.177.113|:443... connected.\r\nHTTP request sent, awaiting response... 302 Found\r\nLocation: https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/46089560\/c5074d7b-7021-4549-b3af-ef5728245812?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140711Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=1d57d413832500f7855d0e16d6724d297a90fe97440cd49669f15d7b2d8b2f85&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=46089560&amp;response-content-disposition=attachment%3B%20filename%3Dcontainerd-1.7.3-linux-amd64.tar.gz&amp;response-content-type=application%2Foctet-stream [following]\r\n--2023-09-30 14:07:11--\u00a0 https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/46089560\/c5074d7b-7021-4549-b3af-ef5728245812?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140711Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=1d57d413832500f7855d0e16d6724d297a90fe97440cd49669f15d7b2d8b2f85&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=46089560&amp;response-content-disposition=attachment%3B%20filename%3Dcontainerd-1.7.3-linux-amd64.tar.gz&amp;response-content-type=application%2Foctet-stream\r\nResolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...\r\nConnecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 46839131 (45M) [application\/octet-stream]\r\nSaving to: \u2018\/usr\/local\/src\/containerd-1.7.3-linux-amd64.tar.gz\u2019\r\n\r\n<\/span><span class=\"gp\">containerd-1.7.3-linux-amd64. 100%[================================================&gt;<\/span><span class=\"o\">]<\/span>\u00a0 44.67M\u00a0 26.4MB\/s\u00a0 \u00a0 <span class=\"k\">in <\/span>1.7s \u00a0 \u00a0\r\n<span class=\"go\">\r\n2023-09-30 14:07:13 (26.4 MB\/s) - \u2018\/usr\/local\/src\/containerd-1.7.3-linux-amd64.tar.gz\u2019 saved [46839131\/46839131]\r\n\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">tar<\/span> <span class=\"nt\">-C<\/span> \/usr\/local <span class=\"nt\">-xf<\/span> \/usr\/local\/src\/containerd-<span class=\"k\">${<\/span><span class=\"nv\">CONTAINERD_VERSION<\/span><span class=\"k\">}<\/span><span class=\"nt\">-linux-amd64<\/span>.tar.gz\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> wget <span class=\"nt\">-P<\/span> \/etc\/systemd\/system https:\/\/raw.githubusercontent.com\/containerd\/containerd\/main\/containerd.service\r\n<span class=\"go\">--2023-09-30 14:07:54--\u00a0 https:\/\/raw.githubusercontent.com\/containerd\/containerd\/main\/containerd.service\r\nResolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.108.133, ...\r\nConnecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 1393 (1.4K) [text\/plain]\r\nSaving to: \u2018\/etc\/systemd\/system\/containerd.service\u2019\r\n\r\n<\/span><span class=\"gp\">containerd.service\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100%[================================================&gt;<\/span><span class=\"o\">]<\/span> \u00a0 1.36K\u00a0 <span class=\"nt\">--<\/span>.-KB\/s\u00a0 \u00a0 <span class=\"k\">in <\/span>0s \u00a0 \u00a0 \u00a0\r\n<span class=\"go\">\r\n2023-09-30 14:07:54 (12.4 MB\/s) - \u2018\/etc\/systemd\/system\/containerd.service\u2019 saved [1393\/1393]\r\n\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> systemctl daemon-reload\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> systemctl <span class=\"nb\">enable<\/span> <span class=\"nt\">--now<\/span> containerd\r\n<span class=\"go\">Created symlink \/etc\/systemd\/system\/multi-user.target.wants\/containerd.service \u2192 \/etc\/systemd\/system\/containerd.service.\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5runC\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">RUNC_VERSION=1.1.8\r\n<\/span><span class=\"gp\">wget -O \/usr\/local\/sbin\/runc https:\/\/github.com\/opencontainers\/runc\/releases\/download\/v$<\/span><span class=\"o\">{<\/span>RUNC_VERSION<span class=\"o\">}<\/span>\/runc.amd64\r\n<span class=\"go\">chmod +x \/usr\/local\/sbin\/runc\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nv\">RUNC_VERSION<\/span><span class=\"o\">=<\/span>1.1.8\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> wget <span class=\"nt\">-O<\/span> \/usr\/local\/sbin\/runc https:\/\/github.com\/opencontainers\/runc\/releases\/download\/v<span class=\"k\">${<\/span><span class=\"nv\">RUNC_VERSION<\/span><span class=\"k\">}<\/span>\/runc.amd64\r\n<span class=\"go\">--2023-09-30 14:08:20--\u00a0 https:\/\/github.com\/opencontainers\/runc\/releases\/download\/v1.1.8\/runc.amd64\r\nResolving github.com (github.com)... 20.27.177.113\r\nConnecting to github.com (github.com)|20.27.177.113|:443... connected.\r\nHTTP request sent, awaiting response... 302 Found\r\nLocation: https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/36960321\/789db355-a93d-45b3-af29-d0f5f2196ab9?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140820Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=ed74c9a36f3f47ce7c9c961a71b415275ad023578f17ca29728315f104b68030&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=36960321&amp;response-content-disposition=attachment%3B%20filename%3Drunc.amd64&amp;response-content-type=application%2Foctet-stream [following]\r\n--2023-09-30 14:08:20--\u00a0 https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/36960321\/789db355-a93d-45b3-af29-d0f5f2196ab9?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140820Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=ed74c9a36f3f47ce7c9c961a71b415275ad023578f17ca29728315f104b68030&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=36960321&amp;response-content-disposition=attachment%3B%20filename%3Drunc.amd64&amp;response-content-type=application%2Foctet-stream\r\nResolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.108.133, ...\r\nConnecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 10684992 (10M) [application\/octet-stream]\r\nSaving to: \u2018\/usr\/local\/sbin\/runc\u2019\r\n\r\n<\/span><span class=\"gp\">\/usr\/local\/sbin\/runc\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100%[================================================&gt;<\/span><span class=\"o\">]<\/span>\u00a0 10.19M\u00a0 29.4MB\/s\u00a0 \u00a0 <span class=\"k\">in <\/span>0.3s \u00a0 \u00a0\r\n<span class=\"go\">\r\n2023-09-30 14:08:21 (29.4 MB\/s) - \u2018\/usr\/local\/sbin\/runc\u2019 saved [10684992\/10684992]\r\n\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">chmod<\/span> +x \/usr\/local\/sbin\/runc\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u5b89\u88c5 CNI\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">CNI_VERSION=1.3.0\r\n<\/span><span class=\"gp\">wget -P \/usr\/local\/src https:\/\/github.com\/containernetworking\/plugins\/releases\/download\/v$<\/span><span class=\"o\">{<\/span>CNI_VERSION<span class=\"o\">}<\/span>\/cni-plugins-linux-amd64-v<span class=\"k\">${<\/span><span class=\"nv\">CNI_VERSION<\/span><span class=\"k\">}<\/span>.tgz\r\n<span class=\"go\">mkdir -p \/opt\/cni\/bin\r\n<\/span><span class=\"gp\">tar -C \/opt\/cni\/bin -xf \/usr\/local\/src\/cni-plugins-linux-amd64-v$<\/span><span class=\"o\">{<\/span>CNI_VERSION<span class=\"o\">}<\/span>.tgz\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nv\">CNI_VERSION<\/span><span class=\"o\">=<\/span>1.3.0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> wget <span class=\"nt\">-P<\/span> \/usr\/local\/src https:\/\/github.com\/containernetworking\/plugins\/releases\/download\/v<span class=\"k\">${<\/span><span class=\"nv\">CNI_VERSION<\/span><span class=\"k\">}<\/span>\/cni-plugins-linux-amd64-v<span class=\"k\">${<\/span><span class=\"nv\">CNI_VERSION<\/span><span class=\"k\">}<\/span>.tgz\r\n<span class=\"go\">--2023-09-30 14:08:34--\u00a0 https:\/\/github.com\/containernetworking\/plugins\/releases\/download\/v1.3.0\/cni-plugins-linux-amd64-v1.3.0.tgz\r\nResolving github.com (github.com)... 20.27.177.113\r\nConnecting to github.com (github.com)|20.27.177.113|:443... connected.\r\nHTTP request sent, awaiting response... 302 Found\r\nLocation: https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/84575398\/d1ad8456-0aa1-4bb9-84e3-4e03286b4e9f?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140834Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=4e1b842bb4a28f885d845f2e207e7420df897b5770eb52e591a2a36692abd475&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=84575398&amp;response-content-disposition=attachment%3B%20filename%3Dcni-plugins-linux-amd64-v1.3.0.tgz&amp;response-content-type=application%2Foctet-stream [following]\r\n--2023-09-30 14:08:34--\u00a0 https:\/\/objects.githubusercontent.com\/github-production-release-asset-2e65be\/84575398\/d1ad8456-0aa1-4bb9-84e3-4e03286b4e9f?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230930%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20230930T140834Z&amp;X-Amz-Expires=300&amp;X-Amz-Signature=4e1b842bb4a28f885d845f2e207e7420df897b5770eb52e591a2a36692abd475&amp;X-Amz-SignedHeaders=host&amp;actor_id=0&amp;key_id=0&amp;repo_id=84575398&amp;response-content-disposition=attachment%3B%20filename%3Dcni-plugins-linux-amd64-v1.3.0.tgz&amp;response-content-type=application%2Foctet-stream\r\nResolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...\r\nConnecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 45338194 (43M) [application\/octet-stream]\r\nSaving to: \u2018\/usr\/local\/src\/cni-plugins-linux-amd64-v1.3.0.tgz\u2019\r\n\r\n<\/span><span class=\"gp\">cni-plugins-linux-amd64-v1.3. 100%[================================================&gt;<\/span><span class=\"o\">]<\/span>\u00a0 43.24M \u00a0 281MB\/s\u00a0 \u00a0 <span class=\"k\">in <\/span>0.2s \u00a0 \u00a0\r\n<span class=\"go\">\r\n2023-09-30 14:08:35 (281 MB\/s) - \u2018\/usr\/local\/src\/cni-plugins-linux-amd64-v1.3.0.tgz\u2019 saved [45338194\/45338194]\r\n\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">mkdir<\/span> <span class=\"nt\">-p<\/span> \/opt\/cni\/bin\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">tar<\/span> <span class=\"nt\">-C<\/span> \/opt\/cni\/bin <span class=\"nt\">-xf<\/span> \/usr\/local\/src\/cni-plugins-linux-amd64-v<span class=\"k\">${<\/span><span class=\"nv\">CNI_VERSION<\/span><span class=\"k\">}<\/span>.tgz\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u542f\u7528\u542f\u7528systemd\u540e\u7aef\u7684cgroup\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">mkdir \/etc\/containerd\r\n<\/span><span class=\"gp\">containerd config default | sudo tee \/etc\/containerd\/config.toml &gt;<\/span> \/dev\/null\r\n<span class=\"go\">cp -p \/etc\/containerd\/config.toml \/etc\/containerd\/config.toml_`date +%Y%m%d`\r\nsed -i 's\/SystemdCgroup = false\/SystemdCgroup = true\/' \/etc\/containerd\/config.toml\r\ndiff \/etc\/containerd\/config.toml \/etc\/containerd\/config.toml_`date +%Y%m%d`\r\nsystemctl restart containerdmkdir \/etc\/containerd\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">mkdir<\/span> \/etc\/containerd\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> containerd config default | <span class=\"nb\">sudo tee<\/span> \/etc\/containerd\/config.toml <span class=\"o\">&gt;<\/span> \/dev\/null\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">cp<\/span> <span class=\"nt\">-p<\/span> \/etc\/containerd\/config.toml \/etc\/containerd\/config.toml_<span class=\"sb\">`<\/span><span class=\"nb\">date<\/span> +%Y%m%d<span class=\"sb\">`<\/span>\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">sed<\/span> <span class=\"nt\">-i<\/span> <span class=\"s1\">'s\/SystemdCgroup = false\/SystemdCgroup = true\/'<\/span> \/etc\/containerd\/config.toml\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> diff \/etc\/containerd\/config.toml \/etc\/containerd\/config.toml_<span class=\"sb\">`<\/span><span class=\"nb\">date<\/span> +%Y%m%d<span class=\"sb\">`<\/span>\r\n<span class=\"go\">137c137\r\n&lt; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SystemdCgroup = true\r\n---\r\n<\/span><span class=\"gp\">&gt;<\/span> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SystemdCgroup <span class=\"o\">=<\/span> <span class=\"nb\">false<\/span>\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> systemctl restart containerd\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u8bbe\u7f6e\u5185\u6838\u53c2\u6570<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">cat &lt;&lt;EOF | sudo tee \/etc\/modules-load.d\/k8s.conf\r\noverlay\r\nbr_netfilter\r\nEOF\r\n\r\nmodprobe overlay\r\nmodprobe br_netfilter\r\n\r\ncat &lt;&lt;EOF | sudo tee \/etc\/sysctl.d\/k8s.conf\r\nnet.bridge.bridge-nf-call-iptables = 1\r\nnet.bridge.bridge-nf-call-ip6tables = 1\r\nnet.ipv4.ip_forward = 1\r\nEOF\r\n\r\nsysctl --system\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">cat<\/span> <span class=\"o\">&lt;&lt;<\/span><span class=\"no\">EOF<\/span><span class=\"sh\"> | sudo tee \/etc\/modules-load.d\/k8s.conf\r\n<\/span><span class=\"go\">overlay\r\nbr_netfilter\r\nEOF\r\noverlay\r\nbr_netfilter\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> modprobe overlay\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> modprobe br_netfilter\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">cat<\/span> <span class=\"o\">&lt;&lt;<\/span><span class=\"no\">EOF<\/span><span class=\"sh\"> | sudo tee \/etc\/sysctl.d\/k8s.conf\r\n<\/span><span class=\"go\">net.bridge.bridge-nf-call-iptables = 1\r\nnet.bridge.bridge-nf-call-ip6tables = 1\r\nnet.ipv4.ip_forward = 1\r\nEOF\r\nnet.bridge.bridge-nf-call-iptables = 1\r\nnet.bridge.bridge-nf-call-ip6tables = 1\r\nnet.ipv4.ip_forward\u3000= 1\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> sysctl <span class=\"nt\">--system<\/span>\r\n<span class=\"go\">* Applying \/etc\/sysctl.d\/10-console-messages.conf ...\r\nkernel.printk = 4 4 1 7\r\n* Applying \/etc\/sysctl.d\/10-ipv6-privacy.conf ...\r\nnet.ipv6.conf.all.use_tempaddr = 2\r\nnet.ipv6.conf.default.use_tempaddr = 2\r\n* Applying \/etc\/sysctl.d\/10-kernel-hardening.conf ...\r\nkernel.kptr_restrict = 1\r\n* Applying \/etc\/sysctl.d\/10-magic-sysrq.conf ...\r\nkernel.sysrq = 176\r\n* Applying \/etc\/sysctl.d\/10-network-security.conf ...\r\nnet.ipv4.conf.default.rp_filter = 2\r\nnet.ipv4.conf.all.rp_filter = 2\r\n* Applying \/etc\/sysctl.d\/10-ptrace.conf ...\r\nkernel.yama.ptrace_scope = 1\r\n* Applying \/etc\/sysctl.d\/10-zeropage.conf ...\r\nvm.mmap_min_addr = 65536\r\n* Applying \/usr\/lib\/sysctl.d\/50-default.conf ...\r\nkernel.core_uses_pid = 1\r\nnet.ipv4.conf.default.rp_filter = 2\r\nnet.ipv4.conf.default.accept_source_route = 0\r\nsysctl: setting key \"net.ipv4.conf.all.accept_source_route\": Invalid argument\r\nnet.ipv4.conf.default.promote_secondaries = 1\r\nsysctl: setting key \"net.ipv4.conf.all.promote_secondaries\": Invalid argument\r\nnet.ipv4.ping_group_range = 0 2147483647\r\nnet.core.default_qdisc = fq_codel\r\nfs.protected_hardlinks = 1\r\nfs.protected_symlinks = 1\r\nfs.protected_regular = 1\r\nfs.protected_fifos = 1\r\n* Applying \/usr\/lib\/sysctl.d\/50-pid-max.conf ...\r\nkernel.pid_max = 4194304\r\n* Applying \/etc\/sysctl.d\/99-cloudimg-ipv6.conf ...\r\nnet.ipv6.conf.all.use_tempaddr = 0\r\nnet.ipv6.conf.default.use_tempaddr = 0\r\n* Applying \/usr\/lib\/sysctl.d\/99-protect-links.conf ...\r\nfs.protected_fifos = 1\r\nfs.protected_hardlinks = 1\r\nfs.protected_regular = 2\r\nfs.protected_symlinks = 1\r\n* Applying \/etc\/sysctl.d\/99-sysctl.conf ...\r\n* Applying \/etc\/sysctl.d\/k8s.conf ...\r\nnet.bridge.bridge-nf-call-iptables = 1\r\nnet.bridge.bridge-nf-call-ip6tables = 1\r\nnet.ipv4.ip_forward = 1\r\n* Applying \/etc\/sysctl.conf ...\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<div>\u5f53\u8bbe\u7f6e\u5185\u6838\u53c2\u6570\u65f6\uff0c\u5982\u679c\u5305\u542b\u591a\u4f59\u7684\u7a7a\u683c\u53ef\u80fd\u5bfc\u81f4\u53c2\u6570\u65e0\u6cd5\u6b63\u786e\u53cd\u6620\uff0c\u8bf7\u6ce8\u610f\u3002<br \/>\n\u5982\u679c\u5185\u6838\u53c2\u6570\u8bbe\u7f6e\u4e0d\u6b63\u786e\uff0c\u5219\u53ef\u80fd\u5728\u540e\u7eed\u6267\u884ckubejoin\u65f6\u51fa\u73b0\u9519\u8bef\u3002<br \/>\n\u4f8b\u5982\uff1anet.ipv4.ip_forward\u25b3\u25b3\u25b3\u25b3\u25b3\u25b3=\u25b31\u25b3 \u30fb\u30fb\u30fb\uff08\u25b3\u4ee3\u8868\u7a7a\u683c\uff09<\/p>\n<h3>\u7981\u7528swap<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">swapon -s\r\nswapoff -a\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> swapon <span class=\"nt\">-s<\/span>\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> swapoff <span class=\"nt\">-a<\/span>\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>kubelet\/kubeadm\/kubectl\u7684\u5b89\u88c5<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">apt-get update\r\napt-get install -y apt-transport-https ca-certificates curl\r\ncurl -fsSL https:\/\/dl.k8s.io\/apt\/doc\/apt-key.gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/kubernetes-archive-keyring.gpg\r\necho \"deb [signed-by=\/etc\/apt\/keyrings\/kubernetes-archive-keyring.gpg] https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\" | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\r\napt-get update\r\napt-get install -y kubelet kubeadm kubectl\r\napt-mark hold kubelet kubeadm kubectl\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> apt-get update\r\n<span class=\"go\">Hit:1 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy InRelease\r\nGet:2 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates InRelease [119 kB]\r\nGet:3 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports InRelease [109 kB]\r\nGet:4 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/universe amd64 Packages [14.1 MB]\r\nGet:5 http:\/\/security.ubuntu.com\/ubuntu jammy-security InRelease [110 kB]\r\nGet:6 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/universe Translation-en [5652 kB]\r\nGet:7 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/universe amd64 c-n-f Metadata [286 kB]\r\nGet:8 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/multiverse amd64 Packages [217 kB]\r\nGet:9 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/multiverse Translation-en [112 kB]\r\nGet:10 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/multiverse amd64 c-n-f Metadata [8372 B]\r\nGet:11 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main amd64 Packages [1014 kB]\r\nGet:12 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main Translation-en [227 kB]\r\nGet:13 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main amd64 c-n-f Metadata [15.6 kB]\r\nGet:14 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/restricted amd64 Packages [905 kB]\r\nGet:15 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/restricted Translation-en [146 kB]\r\nGet:16 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/restricted amd64 c-n-f Metadata [532 B]\r\nGet:17 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/universe amd64 Packages [987 kB]\r\nGet:18 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/universe Translation-en [215 kB]\r\nGet:19 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/universe amd64 c-n-f Metadata [21.9 kB]\r\nGet:20 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/multiverse amd64 Packages [41.6 kB]\r\nGet:21 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/multiverse Translation-en [9768 B]\r\nGet:22 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/multiverse amd64 c-n-f Metadata [472 B]\r\nGet:23 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/main amd64 Packages [41.7 kB]\r\nGet:24 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/main Translation-en [10.5 kB]\r\nGet:25 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/main amd64 c-n-f Metadata [388 B]\r\nGet:26 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/restricted amd64 c-n-f Metadata [116 B]\r\nGet:27 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/universe amd64 Packages [24.3 kB]\r\nGet:28 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/universe Translation-en [16.4 kB]\r\nGet:29 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/universe amd64 c-n-f Metadata [640 B]\r\nGet:30 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports\/multiverse amd64 c-n-f Metadata [116 B]\r\nGet:31 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/main amd64 Packages [804 kB]\u00a0 \u00a0 \u00a0 \u00a0\r\nGet:32 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/main Translation-en [169 kB]\r\nGet:33 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/main amd64 c-n-f Metadata [11.3 kB]\r\nGet:34 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/restricted amd64 Packages [889 kB]\r\nGet:35 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/restricted Translation-en [143 kB]\r\nGet:36 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/restricted amd64 c-n-f Metadata [532 B]\r\nGet:37 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/universe amd64 Packages [785 kB]\r\nGet:38 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/universe Translation-en [144 kB]\r\nGet:39 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/universe amd64 c-n-f Metadata [16.7 kB]\r\nGet:40 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/multiverse amd64 Packages [36.5 kB]\r\nGet:41 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/multiverse Translation-en [7060 B]\r\nGet:42 http:\/\/security.ubuntu.com\/ubuntu jammy-security\/multiverse amd64 c-n-f Metadata [260 B]\r\nFetched 27.4 MB in 5s (5915 kB\/s) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\nReading package lists... Done\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> apt-get <span class=\"nb\">install<\/span> <span class=\"nt\">-y<\/span> apt-transport-https ca-certificates curl\r\n<span class=\"go\">Reading package lists... Done\r\nBuilding dependency tree... Done\r\nReading state information... Done\r\nThe following additional packages will be installed:\r\n\u00a0 libcurl4\r\nThe following NEW packages will be installed:\r\n\u00a0 apt-transport-https\r\nThe following packages will be upgraded:\r\n\u00a0 ca-certificates curl libcurl4\r\n3 upgraded, 1 newly installed, 0 to remove and 126 not upgraded.\r\nNeed to get 641 kB of archives.\r\nAfter this operation, 193 kB of additional disk space will be used.\r\nGet:1 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main amd64 ca-certificates all 20230311ubuntu0.22.04.1 [155 kB]\r\nGet:2 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/universe amd64 apt-transport-https all 2.4.10 [1510 B]\r\nGet:3 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main amd64 curl amd64 7.81.0-1ubuntu1.13 [194 kB]\r\nGet:4 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates\/main amd64 libcurl4 amd64 7.81.0-1ubuntu1.13 [290 kB]\r\nFetched 641 kB in 0s (16.0 MB\/s) \u00a0\r\nPreconfiguring packages ...\r\n(Reading database ... 64295 files and directories currently installed.)\r\nPreparing to unpack ...\/ca-certificates_20230311ubuntu0.22.04.1_all.deb ...\r\nUnpacking ca-certificates (20230311ubuntu0.22.04.1) over (20211016ubuntu0.22.04.1) ...\r\nSelecting previously unselected package apt-transport-https.\r\nPreparing to unpack ...\/apt-transport-https_2.4.10_all.deb ...\r\nUnpacking apt-transport-https (2.4.10) ...\r\nPreparing to unpack ...\/curl_7.81.0-1ubuntu1.13_amd64.deb ...\r\nUnpacking curl (7.81.0-1ubuntu1.13) over (7.81.0-1ubuntu1.10) ...\r\nPreparing to unpack ...\/libcurl4_7.81.0-1ubuntu1.13_amd64.deb ...\r\nUnpacking libcurl4:amd64 (7.81.0-1ubuntu1.13) over (7.81.0-1ubuntu1.10) ...\r\nSetting up apt-transport-https (2.4.10) ...\r\nSetting up ca-certificates (20230311ubuntu0.22.04.1) ...\r\nUpdating certificates in \/etc\/ssl\/certs...\r\nrehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL\r\n<\/span><span class=\"gp\">19 added, 6 removed;<\/span> <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\n<span class=\"go\">Setting up libcurl4:amd64 (7.81.0-1ubuntu1.13) ...\r\nSetting up curl (7.81.0-1ubuntu1.13) ...\r\nProcessing triggers for man-db (2.10.2-1) ...\r\nProcessing triggers for libc-bin (2.35-0ubuntu3.1) ...\r\nProcessing triggers for ca-certificates (20230311ubuntu0.22.04.1) ...\r\nUpdating certificates in \/etc\/ssl\/certs...\r\n<\/span><span class=\"gp\">0 added, 0 removed;<\/span> <span class=\"k\">done<\/span><span class=\"nb\">.<\/span>\r\n<span class=\"go\">Running hooks in \/etc\/ca-certificates\/update.d...\r\ndone.\r\nScanning processes... \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\nScanning linux images...\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n\r\nRunning kernel seems to be up-to-date.\r\n\r\nNo services need to be restarted.\r\n\r\nNo containers need to be restarted.\r\n\r\nNo user sessions are running outdated binaries.\r\n\r\nNo VM guests are running outdated hypervisor (qemu) binaries on this host.\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> curl <span class=\"nt\">-fsSL<\/span> https:\/\/dl.k8s.io\/apt\/doc\/apt-key.gpg | <span class=\"nb\">sudo <\/span>gpg <span class=\"nt\">--dearmor<\/span> <span class=\"nt\">-o<\/span> \/etc\/apt\/keyrings\/kubernetes-archive-keyring.gpg\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">echo<\/span> <span class=\"s2\">\"deb [signed-by=\/etc\/apt\/keyrings\/kubernetes-archive-keyring.gpg] https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\"<\/span> | <span class=\"nb\">sudo tee<\/span> \/etc\/apt\/sources.list.d\/kubernetes.list\r\n<span class=\"go\">deb [signed-by=\/etc\/apt\/keyrings\/kubernetes-archive-keyring.gpg] https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> apt-get update\r\n<span class=\"go\">Hit:1 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy InRelease\r\nHit:2 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-updates InRelease \u00a0 \u00a0 \u00a0 \u00a0\r\nHit:3 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy-backports InRelease \u00a0 \u00a0 \u00a0\r\nHit:5 http:\/\/security.ubuntu.com\/ubuntu jammy-security InRelease\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\nGet:4 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial InRelease [8993 B]\r\nGet:6 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 Packages [69.9 kB]\r\nFetched 78.9 kB in 1s (83.8 kB\/s)\u00a0\r\nReading package lists... Done\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> apt-get <span class=\"nb\">install<\/span> <span class=\"nt\">-y<\/span> kubelet kubeadm kubectl\r\n<span class=\"go\">Reading package lists... Done\r\nBuilding dependency tree... Done\r\nReading state information... Done\r\nThe following additional packages will be installed:\r\n\u00a0 conntrack cri-tools ebtables kubernetes-cni socat\r\nThe following NEW packages will be installed:\r\n\u00a0 conntrack cri-tools ebtables kubeadm kubectl kubelet kubernetes-cni socat\r\n0 upgraded, 8 newly installed, 0 to remove and 126 not upgraded.\r\nNeed to get 87.1 MB of archives.\r\nAfter this operation, 336 MB of additional disk space will be used.\r\nGet:1 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/main amd64 conntrack amd64 1:1.4.6-2build2 [33.5 kB]\r\nGet:2 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/main amd64 ebtables amd64 2.0.11-4build2 [84.9 kB]\r\nGet:3 http:\/\/ap-northeast-1.ec2.archive.ubuntu.com\/ubuntu jammy\/main amd64 socat amd64 1.7.4.1-3ubuntu4 [349 kB]\r\nGet:4 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 cri-tools amd64 1.26.0-00 [18.9 MB]\r\nGet:5 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 kubernetes-cni amd64 1.2.0-00 [27.6 MB]\r\nGet:6 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 kubelet amd64 1.28.2-00 [19.5 MB]\r\nGet:7 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 kubectl amd64 1.28.2-00 [10.3 MB]\r\nGet:8 https:\/\/packages.cloud.google.com\/apt kubernetes-xenial\/main amd64 kubeadm amd64 1.28.2-00 [10.3 MB]\r\nFetched 87.1 MB in 5s (18.0 MB\/s)\u00a0\r\nSelecting previously unselected package conntrack.\r\n(Reading database ... 64312 files and directories currently installed.)\r\nPreparing to unpack ...\/0-conntrack_1%3a1.4.6-2build2_amd64.deb ...\r\nUnpacking conntrack (1:1.4.6-2build2) ...\r\nSelecting previously unselected package cri-tools.\r\nPreparing to unpack ...\/1-cri-tools_1.26.0-00_amd64.deb ...\r\nUnpacking cri-tools (1.26.0-00) ...\r\nSelecting previously unselected package ebtables.\r\nPreparing to unpack ...\/2-ebtables_2.0.11-4build2_amd64.deb ...\r\nUnpacking ebtables (2.0.11-4build2) ...\r\nSelecting previously unselected package kubernetes-cni.\r\nPreparing to unpack ...\/3-kubernetes-cni_1.2.0-00_amd64.deb ...\r\nUnpacking kubernetes-cni (1.2.0-00) ...\r\nSelecting previously unselected package socat.\r\nPreparing to unpack ...\/4-socat_1.7.4.1-3ubuntu4_amd64.deb ...\r\nUnpacking socat (1.7.4.1-3ubuntu4) ...\r\nSelecting previously unselected package kubelet.\r\nPreparing to unpack ...\/5-kubelet_1.28.2-00_amd64.deb ...\r\nUnpacking kubelet (1.28.2-00) ...\r\nSelecting previously unselected package kubectl.\r\nPreparing to unpack ...\/6-kubectl_1.28.2-00_amd64.deb ...\r\nUnpacking kubectl (1.28.2-00) ...\r\nSelecting previously unselected package kubeadm.\r\nPreparing to unpack ...\/7-kubeadm_1.28.2-00_amd64.deb ...\r\nUnpacking kubeadm (1.28.2-00) ...\r\nSetting up conntrack (1:1.4.6-2build2) ...\r\nSetting up kubectl (1.28.2-00) ...\r\nSetting up ebtables (2.0.11-4build2) ...\r\nSetting up socat (1.7.4.1-3ubuntu4) ...\r\nSetting up cri-tools (1.26.0-00) ...\r\nSetting up kubernetes-cni (1.2.0-00) ...\r\nSetting up kubelet (1.28.2-00) ...\r\nCreated symlink \/etc\/systemd\/system\/multi-user.target.wants\/kubelet.service \u2192 \/lib\/systemd\/system\/kubelet.service.\r\nSetting up kubeadm (1.28.2-00) ...\r\nProcessing triggers for man-db (2.10.2-1) ...\r\nScanning processes... \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\nScanning linux images...\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\r\n\r\nRunning kernel seems to be up-to-date.\r\n\r\nNo services need to be restarted.\r\n\r\nNo containers need to be restarted.\r\n\r\nNo user sessions are running outdated binaries.\r\n\r\nNo VM guests are running outdated hypervisor (qemu) binaries on this host.\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> apt-mark hold kubelet kubeadm kubectl\r\n<span class=\"go\">kubelet set on hold.\r\nkubeadm set on hold.\r\nkubectl set on hold.\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u4f7f\u7528Kubernetes\u8fdb\u884c\u90e8\u7f72<\/p>\n<div>\u8fd9\u4e2a\u9879\u76ee\u4ec5\u5728\u5efa\u7acb\u63a7\u5236\u5e73\u9762\u65f6\u8fdb\u884c\u3002\uff08\u4e0d\u5728\u6784\u5efa\u5de5\u4f5c\u8282\u70b9\u65f6\u8fdb\u884c\uff09<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kubeadm init --pod-network-cidr=10.244.0.0\/16\r\n\r\n<\/span><span class=\"gp\">mkdir -p $<\/span>HOME\/.kube\r\n<span class=\"gp\">cp -i \/etc\/kubernetes\/admin.conf $<\/span>HOME\/.kube\/config\r\n<span class=\"gp\">chown $<\/span><span class=\"o\">(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-u<\/span><span class=\"o\">)<\/span>:<span class=\"si\">$(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-g<\/span><span class=\"si\">)<\/span> <span class=\"nv\">$HOME<\/span>\/.kube\/config\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubeadm init <span class=\"nt\">--pod-network-cidr<\/span><span class=\"o\">=<\/span>10.244.0.0\/16\r\n<span class=\"go\">[init] Using Kubernetes version: v1.28.2\r\n[preflight] Running pre-flight checks\r\n[preflight] Pulling images required for setting up a Kubernetes cluster\r\n[preflight] This might take a minute or two, depending on the speed of your internet connection\r\n[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'\r\nW0930 14:27:09.190649\u00a0 \u00a0 7884 checks.go:835] detected that the sandbox image \"registry.k8s.io\/pause:3.8\" of the container runtime is inconsistent with that used by kubeadm. It is recommended that using \"registry.k8s.io\/pause:3.9\" as the CRI sandbox image.\r\n[certs] Using certificateDir folder \"\/etc\/kubernetes\/pki\"\r\n[certs] Generating \"ca\" certificate and key\r\n[certs] Generating \"apiserver\" certificate and key\r\n[certs] apiserver serving cert is signed for DNS names [k8s-control-plane kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.105]\r\n[certs] Generating \"apiserver-kubelet-client\" certificate and key\r\n[certs] Generating \"front-proxy-ca\" certificate and key\r\n[certs] Generating \"front-proxy-client\" certificate and key\r\n[certs] Generating \"etcd\/ca\" certificate and key\r\n[certs] Generating \"etcd\/server\" certificate and key\r\n[certs] etcd\/server serving cert is signed for DNS names [k8s-control-plane localhost] and IPs [10.0.0.105 127.0.0.1 ::1]\r\n[certs] Generating \"etcd\/peer\" certificate and key\r\n[certs] etcd\/peer serving cert is signed for DNS names [k8s-control-plane localhost] and IPs [10.0.0.105 127.0.0.1 ::1]\r\n[certs] Generating \"etcd\/healthcheck-client\" certificate and key\r\n[certs] Generating \"apiserver-etcd-client\" certificate and key\r\n[certs] Generating \"sa\" key and public key\r\n[kubeconfig] Using kubeconfig folder \"\/etc\/kubernetes\"\r\n[kubeconfig] Writing \"admin.conf\" kubeconfig file\r\n[kubeconfig] Writing \"kubelet.conf\" kubeconfig file\r\n[kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\r\n[kubeconfig] Writing \"scheduler.conf\" kubeconfig file\r\n[etcd] Creating static Pod manifest for local etcd in \"\/etc\/kubernetes\/manifests\"\r\n[control-plane] Using manifest folder \"\/etc\/kubernetes\/manifests\"\r\n[control-plane] Creating static Pod manifest for \"kube-apiserver\"\r\n[control-plane] Creating static Pod manifest for \"kube-controller-manager\"\r\n[control-plane] Creating static Pod manifest for \"kube-scheduler\"\r\n[kubelet-start] Writing kubelet environment file with flags to file \"\/var\/lib\/kubelet\/kubeadm-flags.env\"\r\n[kubelet-start] Writing kubelet configuration to file \"\/var\/lib\/kubelet\/config.yaml\"\r\n[kubelet-start] Starting the kubelet\r\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \"\/etc\/kubernetes\/manifests\". This can take up to 4m0s\r\n[apiclient] All control plane components are healthy after 9.504476 seconds\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\" in namespace kube-system with the configuration for the kubelets in the cluster\r\n[upload-certs] Skipping phase. Please see --upload-certs\r\n[mark-control-plane] Marking the node k8s-control-plane as control-plane by adding the labels: [node-role.kubernetes.io\/control-plane node.kubernetes.io\/exclude-from-external-load-balancers]\r\n[mark-control-plane] Marking the node k8s-control-plane as control-plane by adding the taints [node-role.kubernetes.io\/control-plane:NoSchedule]\r\n[bootstrap-token] Using token: xxxxxx.xxxxxxxxxxxxxxxx\r\n[bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles\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[bootstrap-token] Creating the \"cluster-info\" ConfigMap in the \"kube-public\" namespace\r\n[kubelet-finalize] Updating \"\/etc\/kubernetes\/kubelet.conf\" to point to a rotatable kubelet client certificate and key\r\n[addons] Applied essential addon: CoreDNS\r\n[addons] Applied essential addon: kube-proxy\r\n\r\nYour Kubernetes control-plane has initialized successfully!\r\n\r\nTo start using your cluster, you need to run the following as a regular user:\r\n\r\n<\/span><span class=\"gp\">\u00a0 mkdir -p $<\/span>HOME\/.kube\r\n<span class=\"gp\">\u00a0 sudo cp -i \/etc\/kubernetes\/admin.conf $<\/span>HOME\/.kube\/config\r\n<span class=\"gp\">\u00a0 sudo chown $<\/span><span class=\"o\">(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-u<\/span><span class=\"o\">)<\/span>:<span class=\"si\">$(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-g<\/span><span class=\"si\">)<\/span> <span class=\"nv\">$HOME<\/span>\/.kube\/config\r\n<span class=\"go\">\r\nAlternatively, if you are the root user, you can run:\r\n\r\n\u00a0 export KUBECONFIG=\/etc\/kubernetes\/admin.conf\r\n\r\nYou should now deploy a pod network to the cluster.\r\nRun \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\r\n\u00a0 https:\/\/kubernetes.io\/docs\/concepts\/cluster-administration\/addons\/\r\n\r\nThen you can join any number of worker nodes by running the following on each as root:\r\n\r\nkubeadm join 10.0.0.105:6443 --token xxxxxx.xxxxxxxxxxxxxxxx \\\r\n--discovery-token-ca-cert-hash \u00a0\r\nsha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">mkdir<\/span> <span class=\"nt\">-p<\/span> <span class=\"nv\">$HOME<\/span>\/.kube\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">cp<\/span> <span class=\"nt\">-i<\/span> \/etc\/kubernetes\/admin.conf <span class=\"nv\">$HOME<\/span>\/.kube\/config\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">chown<\/span> <span class=\"si\">$(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-u<\/span><span class=\"si\">)<\/span>:<span class=\"si\">$(<\/span><span class=\"nb\">id<\/span> <span class=\"nt\">-g<\/span><span class=\"si\">)<\/span> <span class=\"nv\">$HOME<\/span>\/.kube\/config\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<div>kubeadm init\u6267\u884c\u65f6\u6700\u540e\u8f93\u51fa\u7684\u4ee5\u4e0b\u547d\u4ee4\u5c06\u5728\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9\u65f6\u4f7f\u7528\uff0c\u8bf7\u8bb0\u4e0b\u6765\uff1a<br \/>\nkubeadm join 10.0.0.105:6443 &#8211;token xxxxxx.xxxxxxxxxxxxxxxx<br \/>\n&#8211;discovery-token-ca-cert-hash<br \/>\nsha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<\/p>\n<h3>\u4f7f\u7528\u6cd5\u548c\u8bbe\u7f6eCNI\u65f6\u4f7f\u7528\u4e86\u6cd5\u5170\u7ed2\u6750\u8d28<\/p>\n<div>\u672c\u9879\u76ee\u4ec5\u5728\u6784\u5efa\u63a7\u5236\u5668\u5e73\u9762\u65f6\u6267\u884c\u3002\uff08\u4e0d\u5728\u5de5\u4f5c\u8282\u70b9\u6784\u5efa\u65f6\u6267\u884c\uff09<\/p>\n<pre class=\"post-pre\"><code><span class=\"go\">kubectl apply -f https:\/\/raw.githubusercontent.com\/coreos\/flannel\/master\/Documentation\/kube-flannel.yml\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl apply <span class=\"nt\">-f<\/span> https:\/\/raw.githubusercontent.com\/coreos\/flannel\/master\/Documentation\/kube-flannel.yml\r\n<span class=\"go\">namespace\/kube-flannel created\r\nclusterrole.rbac.authorization.k8s.io\/flannel created\r\nclusterrolebinding.rbac.authorization.k8s.io\/flannel created\r\nserviceaccount\/flannel created\r\nconfigmap\/kube-flannel-cfg created\r\ndaemonset.apps\/kube-flannel-ds created\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u786e\u8ba4\u6784\u5efa\u540e\u7684\u60c5\u51b5<\/p>\n<ul class=\"post-ul\">Node\u306e\u72b6\u614b\u306e\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code><span class=\"go\">kubectl get nodes\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl get nodes\r\n<span class=\"go\">NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 STATUS \u00a0 ROLES \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 AGE \u00a0 \u00a0 VERSION\r\nk8s-control-plane \u00a0 Ready\u00a0 \u00a0 control-plane \u00a0 4m37s \u00a0 v1.28.2\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Pod\u306e\u72b6\u614b\u306e\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code><span class=\"go\">kubectl get pods -A\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl get pods <span class=\"nt\">-A<\/span>\r\n<span class=\"go\">NAMESPACE\u00a0 \u00a0 \u00a0 NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 READY \u00a0 STATUS\u00a0 \u00a0 RESTARTS \u00a0 AGE\r\nkube-flannel \u00a0 kube-flannel-ds-gxjw6 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2m13s\r\nkube-system\u00a0 \u00a0 coredns-5dd5756b68-8xtct\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m36s\r\nkube-system\u00a0 \u00a0 coredns-5dd5756b68-kmchv\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m36s\r\nkube-system\u00a0 \u00a0 etcd-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m48s\r\nkube-system\u00a0 \u00a0 kube-apiserver-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m48s\r\nkube-system\u00a0 \u00a0 kube-controller-manager-k8s-control-plane \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m48s\r\nkube-system\u00a0 \u00a0 kube-proxy-n44hz\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m36s\r\nkube-system\u00a0 \u00a0 kube-scheduler-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 4m48s\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl describe nodes\r\n<span class=\"go\">Name: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 k8s-control-plane\r\nRoles:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 control-plane\r\nLabels: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 beta.kubernetes.io\/arch=amd64\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 beta.kubernetes.io\/os=linux\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubernetes.io\/arch=amd64\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubernetes.io\/hostname=k8s-control-plane\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubernetes.io\/os=linux\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node-role.kubernetes.io\/control-plane=\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node.kubernetes.io\/exclude-from-external-load-balancers=\r\nAnnotations:\u00a0 \u00a0 \u00a0 \u00a0 flannel.alpha.coreos.com\/backend-data: {\"VNI\":1,\"VtepMAC\":\"46:d6:5f:9a:c1:5e\"}\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 flannel.alpha.coreos.com\/backend-type: vxlan\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 flannel.alpha.coreos.com\/kube-subnet-manager: true\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 flannel.alpha.coreos.com\/public-ip: 10.0.0.105\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubeadm.alpha.kubernetes.io\/cri-socket: unix:\/\/\/var\/run\/containerd\/containerd.sock\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node.alpha.kubernetes.io\/ttl: 0\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 volumes.kubernetes.io\/controller-managed-attach-detach: true\r\nCreationTimestamp:\u00a0 Sat, 30 Sep 2023 14:27:30 +0000\r\nTaints: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node-role.kubernetes.io\/control-plane:NoSchedule\r\nUnschedulable:\u00a0 \u00a0 \u00a0 false\r\nLease:\r\n\u00a0 HolderIdentity:\u00a0 k8s-control-plane\r\n<\/span><span class=\"gp\">\u00a0 AcquireTime: \u00a0 \u00a0 &lt;unset&gt;<\/span>\r\n<span class=\"go\">\u00a0 RenewTime: \u00a0 \u00a0 \u00a0 Sat, 30 Sep 2023 14:33:02 +0000\r\nConditions:\r\n\u00a0 Type \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Status\u00a0 LastHeartbeatTime \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LastTransitionTime\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Reason \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Message\r\n\u00a0 ---- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ------\u00a0 ----------------- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ------------------\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ------ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -------\r\n\u00a0 NetworkUnavailable \u00a0 False \u00a0 Sat, 30 Sep 2023 14:30:22 +0000 \u00a0 Sat, 30 Sep 2023 14:30:22 +0000 \u00a0 FlannelIsUp\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Flannel is running on this node\r\n\u00a0 MemoryPressure \u00a0 \u00a0 \u00a0 False \u00a0 Sat, 30 Sep 2023 14:30:37 +0000 \u00a0 Sat, 30 Sep 2023 14:27:30 +0000 \u00a0 KubeletHasSufficientMemory \u00a0 kubelet has sufficient memory available\r\n\u00a0 DiskPressure \u00a0 \u00a0 \u00a0 \u00a0 False \u00a0 Sat, 30 Sep 2023 14:30:37 +0000 \u00a0 Sat, 30 Sep 2023 14:27:30 +0000 \u00a0 KubeletHasNoDiskPressure \u00a0 \u00a0 kubelet has no disk pressure\r\n\u00a0 PIDPressure\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 False \u00a0 Sat, 30 Sep 2023 14:30:37 +0000 \u00a0 Sat, 30 Sep 2023 14:27:30 +0000 \u00a0 KubeletHasSufficientPID\u00a0 \u00a0 \u00a0 kubelet has sufficient PID available\r\n\u00a0 Ready\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 True\u00a0 \u00a0 Sat, 30 Sep 2023 14:30:37 +0000 \u00a0 Sat, 30 Sep 2023 14:30:27 +0000 \u00a0 KubeletReady \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet is posting ready status. AppArmor enabled\r\nAddresses:\r\n\u00a0 InternalIP:\u00a0 10.0.0.105\r\n\u00a0 Hostname:\u00a0 \u00a0 k8s-control-plane\r\nCapacity:\r\n\u00a0 cpu:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2\r\n\u00a0 ephemeral-storage:\u00a0 9974088Ki\r\n\u00a0 hugepages-1Gi:\u00a0 \u00a0 \u00a0 0\r\n\u00a0 hugepages-2Mi:\u00a0 \u00a0 \u00a0 0\r\n\u00a0 memory: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1983796Ki\r\n\u00a0 pods: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 110\r\nAllocatable:\r\n\u00a0 cpu:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2\r\n\u00a0 ephemeral-storage:\u00a0 9192119486\r\n\u00a0 hugepages-1Gi:\u00a0 \u00a0 \u00a0 0\r\n\u00a0 hugepages-2Mi:\u00a0 \u00a0 \u00a0 0\r\n\u00a0 memory: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1881396Ki\r\n\u00a0 pods: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 110\r\nSystem Info:\r\n\u00a0 Machine ID: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ec2b3fcc000f6c4f20a5dd789cd2c4cf\r\n\u00a0 System UUID:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ec2b3fcc-000f-6c4f-20a5-dd789cd2c4cf\r\n\u00a0 Boot ID:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 541f5670-aeee-424e-b758-d564d98e6c7a\r\n\u00a0 Kernel Version: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5.19.0-1025-aws\r\n\u00a0 OS Image: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Ubuntu 22.04.2 LTS\r\n\u00a0 Operating System: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 linux\r\n\u00a0 Architecture: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 amd64\r\n\u00a0 Container Runtime Version:\u00a0 containerd:\/\/1.7.3\r\n\u00a0 Kubelet Version:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 v1.28.2\r\n\u00a0 Kube-Proxy Version: \u00a0 \u00a0 \u00a0 \u00a0 v1.28.2\r\nPodCIDR:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 10.244.0.0\/24\r\nPodCIDRs: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 10.244.0.0\/24\r\nNon-terminated Pods:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (8 in total)\r\n\u00a0 Namespace \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Name \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CPU Requests\u00a0 CPU Limits\u00a0 Memory Requests\u00a0 Memory Limits\u00a0 Age\r\n\u00a0 --------- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ---- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ------------\u00a0 ----------\u00a0 ---------------\u00a0 -------------\u00a0 ---\r\n\u00a0 kube-flannel\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-flannel-ds-gxjw6\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100m (5%) \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 50Mi (2%)\u00a0 \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 3m\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 coredns-5dd5756b68-8xtct \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100m (5%) \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 70Mi (3%)\u00a0 \u00a0 \u00a0 \u00a0 170Mi (9%) \u00a0 \u00a0 5m23s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 coredns-5dd5756b68-kmchv \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100m (5%) \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 70Mi (3%)\u00a0 \u00a0 \u00a0 \u00a0 170Mi (9%) \u00a0 \u00a0 5m23s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 etcd-k8s-control-plane \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100m (5%) \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 100Mi (5%) \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 5m35s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-apiserver-k8s-control-plane \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 250m (12%)\u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 5m35s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-controller-manager-k8s-control-plane\u00a0 \u00a0 200m (10%)\u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 5m35s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-proxy-n44hz \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 5m23s\r\n\u00a0 kube-system \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-scheduler-k8s-control-plane \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 100m (5%) \u00a0 \u00a0 0 (0%)\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 \u00a0 5m35s\r\nAllocated resources:\r\n\u00a0 (Total limits may be over 100 percent, i.e., overcommitted.)\r\n\u00a0 Resource \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Requests \u00a0 \u00a0 Limits\r\n\u00a0 -------- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -------- \u00a0 \u00a0 ------\r\n\u00a0 cpu\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 950m (47%) \u00a0 0 (0%)\r\n\u00a0 memory \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 290Mi (15%)\u00a0 340Mi (18%)\r\n\u00a0 ephemeral-storage\u00a0 0 (0%) \u00a0 \u00a0 \u00a0 0 (0%)\r\n\u00a0 hugepages-1Gi\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 0 (0%)\r\n\u00a0 hugepages-2Mi\u00a0 \u00a0 \u00a0 0 (0%) \u00a0 \u00a0 \u00a0 0 (0%)\r\nEvents:\r\n\u00a0 Type \u00a0 \u00a0 Reason \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Age\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 From \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Message\r\n\u00a0 ---- \u00a0 \u00a0 ------ \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ---- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ---- \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 -------\r\n\u00a0 Normal \u00a0 Starting \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5m21s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kube-proxy\u00a0 \u00a0 \u00a0 \u00a0\r\n\u00a0 Normal \u00a0 Starting \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5m47s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Starting kubelet.\r\n\u00a0 Warning\u00a0 InvalidDiskCapacity\u00a0 \u00a0 \u00a0 5m47s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 invalid capacity 0 on image filesystem\r\n\u00a0 Normal \u00a0 NodeAllocatableEnforced\u00a0 5m46s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Updated Node Allocatable limit across pods\r\n\u00a0 Normal \u00a0 NodeHasNoDiskPressure\u00a0 \u00a0 5m46s (x7 over 5m47s)\u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasNoDiskPressure\r\n\u00a0 Normal \u00a0 NodeHasSufficientPID \u00a0 \u00a0 5m46s (x7 over 5m47s)\u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasSufficientPID\r\n\u00a0 Normal \u00a0 NodeHasSufficientMemory\u00a0 5m46s (x8 over 5m47s)\u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasSufficientMemory\r\n\u00a0 Normal \u00a0 Starting \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Starting kubelet.\r\n\u00a0 Warning\u00a0 InvalidDiskCapacity\u00a0 \u00a0 \u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 invalid capacity 0 on image filesystem\r\n\u00a0 Normal \u00a0 NodeHasSufficientMemory\u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasSufficientMemory\r\n\u00a0 Normal \u00a0 NodeHasNoDiskPressure\u00a0 \u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasNoDiskPressure\r\n\u00a0 Normal \u00a0 NodeHasSufficientPID \u00a0 \u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeHasSufficientPID\r\n\u00a0 Normal \u00a0 NodeAllocatableEnforced\u00a0 5m36s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Updated Node Allocatable limit across pods\r\n\u00a0 Normal \u00a0 RegisteredNode \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 5m23s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node-controller\u00a0 Node k8s-control-plane event: Registered Node k8s-control-plane in Controller\r\n\u00a0 Normal \u00a0 NodeReady\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 2m43s\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 kubelet\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Node k8s-control-plane status is now: NodeReady\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0root@k8s-control-plane:~# kubectl get nodes\r\n<span class=\"go\">NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 STATUS \u00a0 ROLES \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 AGE \u00a0 \u00a0 VERSION\r\nk8s-control-plane \u00a0 Ready\u00a0 \u00a0 control-plane \u00a0 4m37s \u00a0 v1.28.2\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u89e3\u9664EC2\u7684\u5b89\u5168\u7ec4<br \/>\n\u4e3a\u4e86\u5728\u63a7\u5236\u5e73\u9762\u548c\u5de5\u4f5c\u8282\u70b9\u4e4b\u95f4\u8fdb\u884c\u901a\u4fe1\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u9700\u8981\u89e3\u9664 EC2 \u5b89\u5168\u7ec4\uff08\u5165\u7ad9\u901a\u4fe1\uff09\u7684\u5c01\u9501\u3002<br \/>\n\u5173\u4e8e\u51fa\u7ad9\u901a\u4fe1\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u662f\u5b8c\u5168\u5f00\u653e\u7684\uff0c\u56e0\u6b64\u4ee5\u4e0b\u4e0d\u518d\u63d0\u53ca\uff0c\u4f46\u5982\u679c\u51fa\u73b0\u5c01\u9501\uff0c\u5219\u9700\u8981\u6839\u636e\u9700\u8981\u8fdb\u884c\u89e3\u5c01\u3002<\/p>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Control Plane\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7\u8a2d\u5b9a<\/ul>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657c1b8cd0c9c81e0f5b1e54\/64-0.png\" alt=\"image.png\" \/><\/p>\n<ul class=\"post-ul\">Worker Node\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7\u8a2d\u5b9a<\/ul>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657c1b8cd0c9c81e0f5b1e54\/66-0.png\" alt=\"image.png\" \/><\/p>\n<h1>4. \u5efa\u7acb\u5de5\u4f5c\u8282\u70b9 (WorkerNode)\u5728\u6784\u5efa\u63a7\u5236\u5e73\u9762\u65f6\uff0c\u6267\u884c\u4ee5\u4e0b\u76f8\u540c\u7684\u6b65\u9aa4\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">3-1. AWS\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089EC2\u306e\u69cb\u7bc9<\/ul>\n<\/li>\n<\/ul>\n<p>3-2. \u69cb\u7bc9\u3057\u305fEC2\u306b\u30ed\u30b0\u30a4\u30f3\u3057Kubernetes\u74b0\u5883\u69cb\u7bc9<\/p>\n<p>OS\u30db\u30b9\u30c8\u540d\u306e\u5909\u66f4<br \/>\nhosts\u3078\u306e\u81ea\u30db\u30b9\u30c8\u306e\u8ffd\u52a0<br \/>\nOS\u518d\u8d77\u52d5\u306e\u5b9f\u65bd<br \/>\ncontainerd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<br \/>\nrunC\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<br \/>\nCNI\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<br \/>\nsystemd\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306acgroup\u3092\u6709\u52b9\u306b\u3059\u308b<br \/>\n\u30ab\u30fc\u30cd\u30eb\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u8a2d\u5b9a<br \/>\nswap\u306e\u7121\u52b9\u5316<br \/>\nkubelet\uff0fkubeadm\uff0fkubectl\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<h3>\u5411Kubernetes\u96c6\u7fa4\u6dfb\u52a0\u5de5\u4f5c\u8282\u70b9\u3002<\/p>\n<div>\u8bf7\u5728\u6dfb\u52a0\u5230Kubernetes\u96c6\u7fa4\u7684Worker\u8282\u70b9\u4e0a\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"gp\">kubeadm join &lt;Control Plane\u306eIP\u30a2\u30c9\u30ec\u30b9&gt;<\/span>:6443 <span class=\"nt\">--token<\/span> xxxxxx.xxxxxxxxxxxxxxxx <span class=\"nt\">--discovery-token-ca-cert-hash<\/span> sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-worker-node1:~#<\/span> kubeadm <span class=\"nb\">join <\/span>10.0.0.105:6443 <span class=\"nt\">--token<\/span> xxxxxx.xxxxxxxxxxxxxxxx <span class=\"nt\">--discovery-token-ca-cert-hash<\/span> sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n<span class=\"go\">[preflight] Running pre-flight checks\r\n[preflight] Reading configuration from the cluster...\r\n[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'\r\n[kubelet-start] Writing kubelet configuration to file \"\/var\/lib\/kubelet\/config.yaml\"\r\n[kubelet-start] Writing kubelet environment file with flags to file \"\/var\/lib\/kubelet\/kubeadm-flags.env\"\r\n[kubelet-start] Starting the kubelet\r\n[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...\r\n\r\nThis node has joined the cluster:\r\n* Certificate signing request was sent to apiserver and a response was received.\r\n* The Kubelet was informed of the new secure connection details.\r\n\r\nRun 'kubectl get nodes' on the control-plane to see this node join the cluster.\r\n\r\n<\/span><span class=\"gp\">root@k8s-worker-node1:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h3>\u786e\u8ba4\u5de5\u4f5c\u8282\u70b9\u6dfb\u52a0\u540e\uff08\u5728\u63a7\u5236\u5e73\u9762\u7aef\u6267\u884c\uff09<\/p>\n<div>\u5728Kubernetes\u96c6\u7fa4\u7684Control Plane\u7aef\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff0c<br \/>\n\u540c\u65f6\u5728Control Plane\u7684\u4e3b\u673a\u4e0a\u8ffd\u52a0Worker Node\u7684\u4e3b\u673a\u540d\u3002<\/p>\n<ul class=\"post-ul\">hosts\u8ffd\u52a0\u5f8c\u306e\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code><span class=\"go\">cat \/etc\/hosts |grep k8s\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> <span class=\"nb\">cat<\/span> \/etc\/hosts |grep k8s\r\n<span class=\"go\">10.0.0.105 k8s-control-plane\r\n10.0.0.101 k8s-worker-node1\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Node\u306e\u5e38\u614b\u306e\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code><span class=\"go\">kubectl get nodes\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl get nodes\r\n<span class=\"go\">NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 STATUS \u00a0 ROLES \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 AGE \u00a0 \u00a0 VERSION\r\nk8s-control-plane \u00a0 Ready\u00a0 \u00a0 control-plane \u00a0 68m \u00a0 \u00a0 v1.28.2\r\n<\/span><span class=\"gp\">k8s-worker-node1\u00a0 \u00a0 Ready\u00a0 \u00a0 &lt;none&gt;<\/span>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 8m22s \u00a0 v1.28.2\r\n<span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Pod\u306e\u72b6\u614b\u306e\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code><span class=\"go\">kubectl get pods -A\r\n<\/span><\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"gp\">root@k8s-control-plane:~#<\/span> kubectl get pods <span class=\"nt\">-A<\/span>\r\n<span class=\"go\">NAMESPACE\u00a0 \u00a0 \u00a0 NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 READY \u00a0 STATUS\u00a0 \u00a0 RESTARTS \u00a0 AGE\r\nkube-flannel \u00a0 kube-flannel-ds-d5kfv \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 9m30s\r\nkube-flannel \u00a0 kube-flannel-ds-gxjw6 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 66m\r\nkube-system\u00a0 \u00a0 coredns-5dd5756b68-8xtct\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 68m\r\nkube-system\u00a0 \u00a0 coredns-5dd5756b68-kmchv\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 68m\r\nkube-system\u00a0 \u00a0 etcd-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 69m\r\nkube-system\u00a0 \u00a0 kube-apiserver-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 69m\r\nkube-system\u00a0 \u00a0 kube-controller-manager-k8s-control-plane \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 69m\r\nkube-system\u00a0 \u00a0 kube-proxy-n44hz\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 68m\r\nkube-system\u00a0 \u00a0 kube-proxy-zwqt9\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 9m30s\r\nkube-system\u00a0 \u00a0 kube-scheduler-k8s-control-plane\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 1\/1 \u00a0 \u00a0 Running \u00a0 0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 69m\r\n<\/span><span class=\"gp\">root@k8s-control-plane:~#<\/span>\u00a0\r\n<\/code><\/pre>\n<h1>5. \u53c2\u8003\u94fe\u63a5 (Can be translated as &#8220;Reference link&#8221;)&nbsp;<\/p>\n<h1>6. \u5728\u642d\u5efa\u65f6\u9047\u5230\u7684\u56f0\u96be<\/p>\n<h2>\u5728\u6784\u5efa\u4e86Kubernetes\u96c6\u7fa4\u540e\uff0c\u63a7\u5236\u5e73\u9762\u7684\u5404\u79cdPod\u4f1a\u4e0d\u65ad\u51fa\u73b0CrashLoopBackOff\u72b6\u6001\u3002<\/p>\n<h3>\u73b0\u8c61<br \/>\n\u5728Kubernetes\u6784\u5efa\u5b8c\u6210\u540e\uff0c\u4e00\u5f00\u59cb\u770b\u8d77\u6765Pod\u6ca1\u6709\u4efb\u4f55\u95ee\u9898\u5730\u542f\u52a8\uff0c\u4f46\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\uff0c\u63a7\u5236\u5e73\u9762\u7684\u5404\u79cdPod\uff08\u5982kube-apiserver\uff0fkube-controller-manager\uff0fkube-proxy\u7b49\uff09\u90fd\u53d8\u6210\u4e86CrashLoopBackOff\u72b6\u6001\uff0c\u5bfc\u81f4kubectl\u547d\u4ee4\u65e0\u6cd5\u6267\u884c\u3002<\/p>\n<h3>\u53ef\u80fd\u6709\u5f88\u591a\u3002\u4e0d\u660e&#8230;\uff08\u901a\u8fc7\u65e5\u5fd7\u7b49\u8fdb\u884c\u8c03\u67e5\uff0c\u4f46\u4ecd\u7136\u4e0d\u6e05\u695a\u3002\uff09<br \/>\n\u53ef\u80fd\u662f\u7531\u4e8econtainerd\uff0frunC\uff0fKubernetes\uff0fFlannel\u7684\u7248\u672c\u517c\u5bb9\u6027\u5f15\u8d77\u7684\u3002<\/p>\n<h3>\u5bf9\u7b56\u901a\u8fc7\u66f4\u6539containerd\u7684\u7248\u672c\u5e76\u8fdb\u884c\u91cd\u5efa\u6765\u89e3\u51b3\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u7684\u5185\u5bb91. \u8d77\u59cb 2. \u57fa\u672c\u4fe1\u606f 3. \u6784\u5efa ControlPlane 4. \u6784\u5efa WorkerNod [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[227],"class_list":["post-27144","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-227"],"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>\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0\" \/>\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\/\u5728ec2\u7684ubuntu\uff0822-04\uff09\u4e0a\u5efa\u7acbkubernetes\uff08v1-28\uff09\u73af\u5883\u3002-3\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\" \/>\n<meta property=\"og:description\" content=\"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ec2\u7684ubuntu\uff0822-04\uff09\u4e0a\u5efa\u7acbkubernetes\uff08v1-28\uff09\u73af\u5883\u3002-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-05T03:06:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-11T17:02:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657c1b8cd0c9c81e0f5b1e54\/64-0.png\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \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\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/\",\"name\":\"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-05T03:06:09+00:00\",\"dateModified\":\"2025-08-11T17:02:17+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"description\":\"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\"}]},{\"@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\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883 - Blog - Silicon Cloud","description":"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0","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\/\u5728ec2\u7684ubuntu\uff0822-04\uff09\u4e0a\u5efa\u7acbkubernetes\uff08v1-28\uff09\u73af\u5883\u3002-3\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883","og_description":"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728ec2\u7684ubuntu\uff0822-04\uff09\u4e0a\u5efa\u7acbkubernetes\uff08v1-28\uff09\u73af\u5883\u3002-3\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-05T03:06:09+00:00","article_modified_time":"2025-08-11T17:02:17+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657c1b8cd0c9c81e0f5b1e54\/64-0.png"}],"author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/","name":"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-05T03:06:09+00:00","dateModified":"2025-08-11T17:02:17+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"description":"\u5173\u4e8e\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883\u7684\u6280\u672f\u6587\u7ae0","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728EC2\u7684Ubuntu\uff0822.04\uff09\u4e0a\u5efa\u7acbKubernetes\uff08v1.28\uff09\u73af\u5883"}]},{"@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\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8ec2%e7%9a%84ubuntu%ef%bc%8822-04%ef%bc%89%e4%b8%8a%e5%bb%ba%e7%ab%8bkubernetes%ef%bc%88v1-28%ef%bc%89%e7%8e%af%e5%a2%83%e3%80%82-3\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/27144","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=27144"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/27144\/revisions"}],"predecessor-version":[{"id":111073,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/27144\/revisions\/111073"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=27144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=27144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=27144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}