{"id":11101,"date":"2023-05-19T15:53:09","date_gmt":"2023-05-19T07:53:09","guid":{"rendered":"http:\/\/123.57.164.21\/?p=11101"},"modified":"2023-05-19T21:52:48","modified_gmt":"2023-05-19T13:52:48","slug":"%e6%89%8b%e6%8a%8a%e6%89%8bkubernetes%e6%9c%ac%e5%9c%b0%e5%8c%96%e9%83%a8%e7%bd%b2%ef%bc%88%e5%90%ab%e7%96%91%e9%9a%be%e6%9d%82%e7%97%87%e6%8e%92%e6%9f%a5%e8%a7%a3%e6%9e%90%ef%bc%89","status":"publish","type":"post","link":"https:\/\/92it.top\/?p=11101","title":{"rendered":"\u624b\u628a\u624bkubernetes\u672c\u5730\u5316\u90e8\u7f72\uff08\u542b\u7591\u96be\u6742\u75c7\u6392\u67e5\u89e3\u6790\uff09"},"content":{"rendered":"\n<p>Kubernetes\u662f\u4e00\u4e2a\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u3001\u6269\u5c55\u548c\u7ba1\u7406\u3002\u672c\u6307\u5357\u5c06\u4ecb\u7ecdKubernetes\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u5305\u62ec\u57fa\u672c\u6982\u5ff5\u3001\u5b89\u88c5\u90e8\u7f72\u548c\u57fa\u7840\u7528\u6cd5\u3002<\/p>\n\n\n\n<p>Kubernetes\u662fGoogle\u5f00\u53d1\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u662f\u4e00\u4e2a\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\uff0c\u53ef\u4ee5\u81ea\u52a8\u5316\u90e8\u7f72\u3001\u6269\u5c55\u548c\u7ba1\u7406\u5bb9\u5668\u5316\u7684\u5e94\u7528\u7a0b\u5e8f\u3002Kubernetes\u53ef\u4ee5\u8de8\u591a\u4e2a\u4e3b\u673a\u7ba1\u7406\u5bb9\u5668\uff0c\u5e76\u63d0\u4f9b\u81ea\u52a8\u5316\u8d1f\u8f7d\u5747\u8861\u3001\u5f39\u6027\u4f38\u7f29\u3001\u81ea\u6211\u4fee\u590d\u548c\u6eda\u52a8\u66f4\u65b0\u7b49\u529f\u80fd\u3002<\/p>\n\n\n\n<p>Kubernetes\u7684\u57fa\u672c\u67b6\u6784\u7531Master\u548cNode\u7ec4\u6210\u3002Master\u662f\u96c6\u7fa4\u63a7\u5236\u4e2d\u5fc3\uff0c\u8d1f\u8d23\u7ba1\u7406\u96c6\u7fa4\u72b6\u6001\u3001\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u548c\u76d1\u63a7\u5e94\u7528\u7a0b\u5e8f\u72b6\u6001\u3002Node\u662f\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\uff0c\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u5e76\u5c06\u5b83\u4eec\u4e0eMaster\u901a\u4fe1\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-1024x830.png\" alt=\"\" class=\"wp-image-11139\" width=\"398\" height=\"322\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-1024x830.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-300x243.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-768x622.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-830x673.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-230x186.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-350x284.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90-480x389.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-90.png 1234w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/figure><\/div>\n\n\n\n<p><br><\/p>\n\n\n\n<p><strong>\u4e00\u3001\u4ec0\u4e48\u662fKubernetes\uff1f<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Kubernetes\u662fGoogle\u5f00\u53d1\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u662f\u4e00\u4e2a\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\uff0c\u53ef\u4ee5\u81ea\u52a8\u5316\u90e8\u7f72\u3001\u6269\u5c55\u548c\u7ba1\u7406\u5bb9\u5668\u5316\u7684\u5e94\u7528\u7a0b\u5e8f\u3002Kubernetes\u53ef\u4ee5\u8de8\u591a\u4e2a\u4e3b\u673a\u7ba1\u7406\u5bb9\u5668\uff0c\u5e76\u63d0\u4f9b\u81ea\u52a8\u5316\u8d1f\u8f7d\u5747\u8861\u3001\u5f39\u6027\u4f38\u7f29\u3001\u81ea\u6211\u4fee\u590d\u548c\u6eda\u52a8\u66f4\u65b0\u7b49\u529f\u80fd\u3002<\/p>\n\n\n\n<p>Kubernetes\u7684\u57fa\u672c\u67b6\u6784\u7531Master\u548cNode\u7ec4\u6210\u3002Master\u662f\u96c6\u7fa4\u63a7\u5236\u4e2d\u5fc3\uff0c\u8d1f\u8d23\u7ba1\u7406\u96c6\u7fa4\u72b6\u6001\u3001\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u548c\u76d1\u63a7\u5e94\u7528\u7a0b\u5e8f\u72b6\u6001\u3002Node\u662f\u96c6\u7fa4\u7684\u5de5\u4f5c\u8282\u70b9\uff0c\u8fd0\u884c\u5e94\u7528\u7a0b\u5e8f\u5bb9\u5668\u5e76\u5c06\u5b83\u4eec\u4e0eMaster\u901a\u4fe1\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-1024x627.png\" alt=\"\" class=\"wp-image-11102\" width=\"485\" height=\"297\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-1024x627.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-300x184.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-768x470.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-830x508.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-230x141.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-350x214.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68-480x294.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-68.png 1084w\" sizes=\"(max-width: 485px) 100vw, 485px\" \/><\/figure><\/div>\n\n\n\n<p><br>\u4e8c\u3001Kubernetes\u7684\u57fa\u672c\u6982\u5ff5<\/p>\n\n\n\n<p>\u5728\u4f7f\u7528Kubernetes\u4e4b\u524d\uff0c\u9700\u8981\u4e86\u89e3\u4e00\u4e9b\u57fa\u672c\u6982\u5ff5\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9bKubernetes\u7684\u6838\u5fc3\u6982\u5ff5\uff1a<\/p>\n\n\n\n<p><strong>Pod<\/strong><\/p>\n\n\n\n<p>Pod\u662fKubernetes\u7684\u6700\u5c0f\u90e8\u7f72\u5355\u5143\uff0c\u901a\u5e38\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u5bb9\u5668\u3002Pod\u4e2d\u7684\u5bb9\u5668\u5171\u4eab\u7f51\u7edc\u548c\u5b58\u50a8\uff0c\u5e76\u5728\u540c\u4e00\u4e2a\u4e3b\u673a\u4e0a\u8fd0\u884c\u3002<\/p>\n\n\n\n<p><strong>Deployment<\/strong><\/p>\n\n\n\n<p>Deployment\u662f\u4e00\u79cdKubernetes\u8d44\u6e90\u5bf9\u8c61\uff0c\u5b83\u7528\u4e8e\u7ba1\u7406\u5e94\u7528\u7a0b\u5e8f\u7684\u90e8\u7f72\u548c\u66f4\u65b0,\u901a\u8fc7\u58f0\u660e\u5f0f\u914d\u7f6e\u6587\u4ef6\u63cf\u8ff0\u5e94\u7528\u7a0b\u5e8f\u7684\u671f\u671b\u72b6\u6001\uff0c\u5e76\u786e\u4fdd\u7cfb\u7edf\u4e2d\u8fd0\u884c\u7684\u5b9e\u4f8b\u4e0e\u6240\u58f0\u660e\u7684\u72b6\u6001\u76f8\u5339\u914d\u3002\u5b83\u53ef\u4ee5\u81ea\u52a8\u521b\u5efa\u3001\u66f4\u65b0\u3001\u6269\u5c55\u548c\u5220\u9664Pod\uff0c\u800c\u65e0\u9700\u624b\u52a8\u5e72\u9884\u3002Deployment\u8fd8\u63d0\u4f9b\u4e86\u6eda\u52a8\u5347\u7ea7\u548c\u56de\u6eda\u7684\u673a\u5236\uff0c\u53ef\u4ee5\u5728\u4e0d\u5f71\u54cd\u7528\u6237\u8bbf\u95ee\u7684\u60c5\u51b5\u4e0b\u66f4\u65b0\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<p>Deployment\u4f7f\u7528ReplicaSet\u6765\u7ba1\u7406Pod\u7684\u590d\u5236\u3002\u901a\u8fc7\u6307\u5b9aReplicaSet\u7684\u526f\u672c\u6570\uff0cDeployment\u53ef\u4ee5\u786e\u4fdd\u7cfb\u7edf\u4e2d\u59cb\u7ec8\u6709\u6307\u5b9a\u6570\u91cf\u7684Pod\u5728\u8fd0\u884c\u3002\u5982\u679c\u6709\u4efb\u4f55Pod\u5931\u8d25\u6216\u7ec8\u6b62\uff0cDeployment\u5c06\u81ea\u52a8\u521b\u5efa\u65b0\u7684Pod\u6765\u4ee3\u66ff\u5b83\u4eec\uff0c\u4ee5\u786e\u4fdd\u7cfb\u7edf\u7684\u7a33\u5b9a\u6027\u3002<\/p>\n\n\n\n<p><strong>Service<\/strong><\/p>\n\n\n\n<p>Kubernetes\u4e2d\u7684Service\u662f\u4e00\u79cd\u62bd\u8c61\uff0c\u5b83\u5b9a\u4e49\u4e86\u4e00\u4e2a\u903b\u8f91\u670d\u52a1\uff0c\u5b83\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63d0\u4f9b\u4e86\u4e00\u4e2a\u56fa\u5b9a\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7\uff0c\u5e76\u5728Kubernetes\u96c6\u7fa4\u5185\u90e8\u6216\u5916\u90e8\u7684\u7f51\u7edc\u4e2d\u63d0\u4f9b\u4e86\u4e00\u81f4\u7684\u65b9\u5f0f\u6765\u8bbf\u95ee\u8fd9\u4e2a\u670d\u52a1\u3002 Service\u53ef\u4ee5\u5c06\u591a\u4e2aPod\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7\u4f5c\u4e3a\u4e00\u4e2a\u670d\u52a1\u63d0\u4f9b\u7ed9\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\uff0c\u8fd9\u6837\u5373\u4f7fPod\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7\u53d1\u751f\u53d8\u5316\uff0cService\u7684IP\u5730\u5740\u548c\u7aef\u53e3\u53f7\u4e5f\u4f1a\u4fdd\u6301\u4e0d\u53d8\uff0c\u4fdd\u8bc1\u4e86\u670d\u52a1\u7684\u7a33\u5b9a\u6027\u548c\u53ef\u9760\u6027\u3002<\/p>\n\n\n\n<p>\u5728Kubernetes\u4e2d\uff0cService\u4e0ePods\u4e00\u8d77\u4f7f\u7528\uff0c\u53ef\u4ee5\u901a\u8fc7\u6807\u7b7e\u6765\u9009\u62e9\u54ea\u4e9bPods\u5c5e\u4e8e\u540c\u4e00\u4e2aService\u3002Service\u53ef\u4ee5\u6709\u4e0d\u540c\u7684\u7c7b\u578b\uff0c\u5305\u62ecClusterIP\u3001NodePort\u548cLoadBalancer\u3002\u5176\u4e2d\uff0cClusterIP\u662f\u9ed8\u8ba4\u7c7b\u578b\uff0c\u5b83\u5c06Service\u66b4\u9732\u5728\u96c6\u7fa4\u5185\u90e8\u7684\u865a\u62dfIP\u5730\u5740\u4e0a\uff0c\u53ea\u80fd\u4ece\u96c6\u7fa4\u5185\u90e8\u8bbf\u95ee\u3002NodePort\u7c7b\u578b\u5c06Service\u66b4\u9732\u5728\u6bcf\u4e2a\u8282\u70b9\u7684IP\u5730\u5740\u548c\u4e00\u4e2a\u9759\u6001\u7aef\u53e3\u4e0a\uff0c\u53ef\u4ee5\u4ece\u96c6\u7fa4\u5916\u90e8\u8bbf\u95ee\u3002LoadBalancer\u7c7b\u578b\u4f7f\u7528\u4e91\u63d0\u4f9b\u5546\u7684\u8d1f\u8f7d\u5747\u8861\u5668\u670d\u52a1\uff0c\u5c06Service\u66b4\u9732\u5728\u4e00\u4e2a\u5916\u90e8IP\u5730\u5740\u4e0a\uff0c\u53ef\u4ee5\u4ece\u516c\u7f51\u8bbf\u95ee\u3002<\/p>\n\n\n\n<p><strong>Namespace<\/strong><br><\/p>\n\n\n\n<p>Kubernetes\u4e2d\u7684Namespace\u662f\u4e00\u79cd\u7528\u4e8e\u5c06\u8d44\u6e90\u5212\u5206\u4e3a\u4e0d\u540c\u903b\u8f91\u7ec4\u7684\u673a\u5236\u3002\u4e00\u4e2aKubernetes\u96c6\u7fa4\u53ef\u4ee5\u5305\u542b\u591a\u4e2aNamespace\uff0c\u6bcf\u4e2aNamespace\u4e2d\u5305\u542b\u4e86\u4e00\u7ec4\u76f8\u5173\u7684Kubernetes\u5bf9\u8c61\uff0c\u4f8b\u5982Pod\u3001Service\u3001Replication Controller\u7b49\u7b49\u3002<\/p>\n\n\n\n<p>Namespace\u53ef\u4ee5\u5e2e\u52a9\u7528\u6237\u5728\u540c\u4e00\u4e2a\u96c6\u7fa4\u5185\u90e8\u5c06\u4e0d\u540c\u7684\u8d44\u6e90\u8fdb\u884c\u903b\u8f91\u9694\u79bb\uff0c\u4ece\u800c\u907f\u514d\u8d44\u6e90\u547d\u540d\u51b2\u7a81\u548c\u6df7\u6dc6\u3002\u5728\u540c\u4e00\u4e2aNamespace\u4e2d\uff0c\u6bcf\u4e2a\u8d44\u6e90\u7684\u540d\u79f0\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002\u800c\u5728\u4e0d\u540c\u7684Namespace\u4e2d\uff0c\u540c\u4e00\u4e2a\u8d44\u6e90\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684\u540d\u79f0\u3002<\/p>\n\n\n\n<p>Kubernetes\u5185\u7f6e\u4e86\u4e00\u4e9b\u9ed8\u8ba4\u7684Namespace\uff0c\u5305\u62ecdefault\u3001kube-system\u548ckube-public\u7b49\u7b49\u3002\u5176\u4e2d\uff0cdefault\u662f\u9ed8\u8ba4\u7684Namespace\uff0ckube-system\u7528\u4e8e\u5b58\u50a8Kubernetes\u7cfb\u7edf\u7ec4\u4ef6\u7684\u8d44\u6e90\uff0ckube-public\u5219\u662f\u7528\u4e8e\u5b58\u50a8\u4e00\u4e9b\u516c\u5171\u8d44\u6e90\u7684\u3002<\/p>\n\n\n\n<p>\u7528\u6237\u8fd8\u53ef\u4ee5\u9700\u8981\u521b\u5efa\u81ea\u5df1\u7684Namespace\uff0c\u53ef\u4ee5\u901a\u8fc7kubectl\u547d\u4ee4\u521b\u5efa\uff0c\u4f8b\u5982\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl create namespace my-namespace<\/pre>\n\n\n\n<p><br>\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5217\u51fa\u5f53\u524d\u96c6\u7fa4\u4e2d\u7684\u6240\u6709Namespace\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl get namespaces<\/pre>\n\n\n\n<p>\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5728\u6307\u5b9a\u7684Namespace\u4e2d\u8fd0\u884c\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl run my-pod --image=my-image --namespace=my-namespace<\/pre>\n\n\n\n<p>kubectl\u662fkuberntes\u63d0\u4f9b\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u540e\u6587\u4f1a\u8fdb\u884c\u8bf4\u660e\uff0c\u8fd9\u91cc\u53ea\u9700\u8981\u4e86\u89e3\u5373\u53ef\u3002<\/p>\n\n\n\n<p><strong>ConfigMap<\/strong><\/p>\n\n\n\n<p>Kubernetes\u4e2d\u7684ConfigMap\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u6570\u636e\u7684\u5bf9\u8c61\uff0c\u5b83\u53ef\u4ee5\u5c06\u914d\u7f6e\u6570\u636e\u4e0e\u5e94\u7528\u7a0b\u5e8f\u4ee3\u7801\u5206\u79bb\uff0c\u4ece\u800c\u63d0\u9ad8\u4e86\u5e94\u7528\u7a0b\u5e8f\u7684\u53ef\u79fb\u690d\u6027\u548c\u53ef\u7ef4\u62a4\u6027\u3002ConfigMap\u53ef\u4ee5\u5b58\u50a8\u4efb\u4f55\u5f62\u5f0f\u7684\u914d\u7f6e\u6570\u636e\uff0c\u4f8b\u5982\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u3001\u914d\u7f6e\u6587\u4ef6\u7b49\u7b49\u3002<\/p>\n\n\n\n<p>ConfigMap\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u914d\u7f6e\u6570\u636e\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7kubectl\u547d\u4ee4\u6216Kubernetes API\u521b\u5efa\u3001\u66f4\u65b0\u548c\u5220\u9664ConfigMap\u3002\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u4e00\u4e2aConfigMap\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl create configmap my-config --from-literal=my-key=my-value<\/pre>\n\n\n\n<p>\u4e0a\u8ff0\u547d\u4ee4\u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u4e3amy-config\u7684ConfigMap\uff0c\u5e76\u5411\u5176\u6dfb\u52a0\u4e86\u4e00\u4e2a\u952e\u503c\u5bf9my-key=my-value\u3002<\/p>\n\n\n\n<p>\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u901a\u8fc7\u6302\u8f7dConfigMap\u6765\u4f7f\u7528\u5176\u4e2d\u7684\u914d\u7f6e\u6570\u636e\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5c06ConfigMap\u4e2d\u7684\u67d0\u4e2a\u952e\u503c\u5bf9\u6620\u5c04\u5230\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u4e2d\uff0c\u6216\u8005\u5c06ConfigMap\u4e2d\u7684\u67d0\u4e2a\u6587\u4ef6\u6302\u8f7d\u5230\u4e00\u4e2a\u5bb9\u5668\u7684\u6587\u4ef6\u7cfb\u7edf\u4e2d\u3002<\/p>\n\n\n\n<p>ConfigMap\u53ef\u4ee5\u4f7f\u7528\u591a\u79cd\u65b9\u5f0f\u4e0e\u5e94\u7528\u7a0b\u5e8f\u8fdb\u884c\u5173\u8054\uff0c\u4f8b\u5982\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u3001\u5377\u7b49\u65b9\u5f0f\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5c06ConfigMap\u4e2d\u7684\u67d0\u4e2a\u952e\u503c\u5bf9\u6620\u5c04\u5230\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u4e2d\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-pod\nspec:\n  containers:\n  - name: my-container\n    image: my-image\n    env:\n    - name: MY_CONFIG_KEY\n      valueFrom:\n        configMapKeyRef:\n          name: my-config\n          key: my-key\n<\/pre>\n\n\n\n<p>\u4e0a\u8ff0\u914d\u7f6e\u6587\u4ef6\u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u4e3amy-pod\u7684Pod\uff0c\u5e76\u5c06ConfigMap\u4e2d\u7684my-key\u952e\u503c\u5bf9\u6620\u5c04\u5230\u4e00\u4e2a\u540d\u4e3aMY_CONFIG_KEY\u7684\u73af\u5883\u53d8\u91cf\u4e2d\u3002<\/p>\n\n\n\n<p><strong>Secret<\/strong><\/p>\n\n\n\n<p>Kubernetes\u4e2d\u7684Secret\u662f\u4e00\u79cd\u7528\u4e8e\u5b58\u50a8\u654f\u611f\u4fe1\u606f\u7684\u5bf9\u8c61\uff0c\u4f8b\u5982\u5bc6\u7801\u3001\u8bc1\u4e66\u548c\u5bc6\u94a5\u7b49\u3002\u4e0eConfigMap\u7c7b\u4f3c\uff0cSecret\u4e5f\u4ee5\u952e\u503c\u5bf9\u7684\u5f62\u5f0f\u5b58\u50a8\u6570\u636e\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc7kubectl\u547d\u4ee4\u6216Kubernetes API\u521b\u5efa\u3001\u66f4\u65b0\u548c\u5220\u9664\u3002<\/p>\n\n\n\n<p>Secret\u4e2d\u5b58\u50a8\u7684\u654f\u611f\u4fe1\u606f\u4f1a\u4ee5base64\u7f16\u7801\u7684\u5f62\u5f0f\u4fdd\u5b58\uff0c\u56e0\u6b64\u9700\u8981\u5728\u4f7f\u7528\u65f6\u8fdb\u884c\u89e3\u7801\u3002\u4e0eConfigMap\u7c7b\u4f3c\uff0cSecret\u4e5f\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u4e0e\u5e94\u7528\u7a0b\u5e8f\u8fdb\u884c\u5173\u8054\uff0c\u4f8b\u5982\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u3001\u547d\u4ee4\u884c\u53c2\u6570\u3001\u5377\u7b49\u65b9\u5f0f\u3002<\/p>\n\n\n\n<p>\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u4e00\u4e2aSecret\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl create secret generic my-secret --from-literal=my-username=admin --from-literal=my-password=secret<\/pre>\n\n\n\n<p><br><\/p>\n\n\n\n<p>\u4e0a\u8ff0\u547d\u4ee4\u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u4e3amy-secret\u7684Secret\uff0c\u5e76\u5411\u5176\u6dfb\u52a0\u4e86\u4e24\u4e2a\u952e\u503c\u5bf9my-username=admin\u548cmy-password=secret\u3002<\/p>\n\n\n\n<p>\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u901a\u8fc7\u6302\u8f7dSecret\u6765\u4f7f\u7528\u5176\u4e2d\u7684\u654f\u611f\u4fe1\u606f\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5c06Secret\u4e2d\u7684\u67d0\u4e2a\u952e\u503c\u5bf9\u6620\u5c04\u5230\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u4e2d\uff0c\u6216\u8005\u5c06Secret\u4e2d\u7684\u67d0\u4e2a\u6587\u4ef6\u6302\u8f7d\u5230\u4e00\u4e2a\u5bb9\u5668\u7684\u6587\u4ef6\u7cfb\u7edf\u4e2d\u3002<\/p>\n\n\n\n<p>Secret\u7684\u4f7f\u7528\u4e0eConfigMap\u7c7b\u4f3c\uff0c\u4f8b\u5982\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5c06Secret\u4e2d\u7684\u67d0\u4e2a\u952e\u503c\u5bf9\u6620\u5c04\u5230\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u4e2d\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: v1\nkind: Pod\nmetadata:\n  name: my-pod\nspec:\n  containers:\n  - name: my-container\n    image: my-image\n    env:\n    - name: MY_USERNAME\n      valueFrom:\n        secretKeyRef:\n          name: my-secret\n          key: my-username\n    - name: MY_PASSWORD\n      valueFrom:\n        secretKeyRef:\n          name: my-secret\n          key: my-password\n<\/pre>\n\n\n\n<p><br>\u4e0a\u8ff0\u914d\u7f6e\u6587\u4ef6\u521b\u5efa\u4e86\u4e00\u4e2a\u540d\u4e3amy-pod\u7684Pod\uff0c\u5e76\u5c06Secret\u4e2d\u7684<code>my-username<\/code>\u548c<code>my-password<\/code>\u952e\u503c\u5bf9\u5206\u522b\u6620\u5c04\u5230\u540d\u4e3a<code>MY_USERNAME<\/code>\u548c<code>MY_PASSWORD<\/code>\u7684\u73af\u5883\u53d8\u91cf\u4e2d\u3002<\/p>\n\n\n\n<p><strong>\u4e09\u3001Kuberntes\u5355\u673a\u672c\u5730\u90e8\u7f72<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>Kubernetes\u53ef\u4ee5\u5728\u5404\u79cd\u73af\u5883\u4e2d\u90e8\u7f72\uff0c\u5305\u62ec\u672c\u5730\u73af\u5883\u3001\u4e91\u73af\u5883\u548c\u7269\u7406\u673a\u73af\u5883\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u7528\u7684\u90e8\u7f72\u9009\u9879\uff1a<br><\/p>\n\n\n\n<p>Kubernetes\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u5f0f\uff1aminikube\u3001kubeadm\u548c\u4e8c\u8fdb\u5236\u5305\u3002<\/p>\n\n\n\n<ul><li>minikube\uff1a\u662f\u4e00\u79cd\u5728\u672c\u5730\u73af\u5883\u4e2d\u90e8\u7f72Kubernetes\u7684\u5de5\u5177\uff0c\u5b83\u53ef\u4ee5\u5728\u5355\u4e2a\u865a\u62df\u673a\u4e2d\u8fd0\u884c\u4e00\u4e2aKubernetes\u96c6\u7fa4\uff0c\u4e00\u822c\u7528\u4e8e\u5f00\u53d1\u3001\u6d4b\u8bd5\u73af\u5883\u642d\u5efa\u3002<\/li><li>kubeadm\uff1a\u662f\u4e00\u79cd\u5728\u7269\u7406\u673a\u6216\u865a\u62df\u673a\u4e2d\u5feb\u901f\u90e8\u7f72Kubernetes\u96c6\u7fa4\u7684\u5de5\u5177\uff0c\u5df2\u88ab\u8bc1\u660e\u53ef\u4ee5\u5e94\u7528\u4e8e\u751f\u6210\u73af\u5883\u7684\u96c6\u7fa4\u642d\u5efa\u3002<br>\u4e8c\u8fdb\u5236\u5305\uff1a\u624b\u5de5\u5b89\u88c5\uff0c\u6d41\u7a0b\u590d\u6742\uff0c\u5bb9\u6613\u51fa\u9519\uff0c\u4e0d\u5efa\u8bae\u3002<\/li><li>Kubernetes\u4e91\u670d\u52a1\uff1a\u5305\u62ecGoogle Kubernetes Engine\u3001Amazon Elastic Kubernetes Service\u548cMicrosoft Azure Kubernetes Service\u7b49\u3002<br><\/li><\/ul>\n\n\n\n<p>\u8fd9\u91cc\u4ee5minikube\u4e3a\u4f8b\uff0c\u5c55\u793a\u5982\u4f55\u5728\u5355\u673a\u4e0a\u90e8\u7f72kubernetes,\u642d\u5efa\u4e00\u4e2a\u672c\u5730\u6f14\u793a\u73af\u5883\u3002<\/p>\n\n\n\n<p><strong>3.1\u3001\u5b89\u88c5minikube\u547d\u4ee4\u884c\u5de5\u5177<\/strong><\/p>\n\n\n\n<p>\u53ef\u4ee5\u53c2\u8003\u5b98\u65b9\u6587\u6863\u8fdb\u884c\u5b89\u88c5\uff0c\u5177\u4f53\u5b89\u88c5\u65b9\u5f0f\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u64cd\u4f5c\u7cfb\u7edf\u9009\u62e9\uff0c\u8fd9\u91cc\u4ee5Centos\u4e3a\u4f8b,\u4f7f\u7528<code>minikube version<\/code>\u53ef\u4ee5\u67e5\u770b\u5230\u7248\u672c\u4fe1\u606f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[root@node1 kubernetes]# curl -LO https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64\n[root@node1 kubernetes]# install minikube-linux-amd64 \/usr\/local\/bin\/minikube\n[root@node1 kubernetes]# minikube version\nminikube version: v1.29.0\ncommit: ddac20b4b34a9c8c857fc602203b6ba2679794d3\n<\/pre>\n\n\n\n<p><strong>3.2\u3001\u5b89\u88c5docker<\/strong><\/p>\n\n\n\n<p>minikube\u53ef\u4ee5\u4f7f\u7528\u4e0d\u540c\u7684\u9a71\u52a8\uff0c\u4f8b\u5982Linux\u7cfb\u7edf\u4e0b\u652f\u6301Docker\u3001KVM2\u3001VirtualBox\u3001QEMU\u3001None\u3001Podman\u3001SSH\u3002\u6211\u4eec\u8fd9\u91cc\u4ee5\u6700\u5e38\u7528\u7684Docker\u4e3a\u4f8b\uff0c\u6240\u4ee5\u9700\u8981\u5148\u5b89\u88c5Docker\u3002<\/p>\n\n\n\n<p>Docker\u7684\u7248\u672c\u4e0d\u5b9c\u592a\u65e7\uff0c\u5efa\u8bae\u5b89\u88c5\u6700\u65b0\u7a33\u5b9a\u7248\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u4e4b\u524d\u5df2\u7ecf\u5b89\u88c5\u8fc7Docker\uff0c\u5efa\u8bae\u5220\u9664\u65e7\u7684Docker\u7248\u672c\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> sudo yum remove docker \\\n                  docker-client \\\n                  docker-client-latest \\\n                  docker-common \\\n                  docker-latest \\\n                  docker-latest-logrotate \\\n                  docker-logrotate \\\n                  docker-engine\n<\/pre>\n\n\n\n<p>\u8bbe\u7f6erepository:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo yum install -y yum-utils\nsudo yum-config-manager \\\n    --add-repo \\\n    https:\/\/download.docker.com\/linux\/centos\/docker-ce.repo\n<\/pre>\n\n\n\n<p>\u5b89\u88c5\u6700\u65b0\u7248Docker\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin<\/pre>\n\n\n\n<p>\u542f\u52a8\u5e76\u67e5\u8be2docker\u72b6\u6001,\u770b\u5230\u72b6\u6001\u662f<code>running<\/code>\u4ee3\u8868\u5df2\u7ecf\u8fd0\u884c\u8d77\u6765\u4e86\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl start docker\nsudo systemctl status docker\n<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-1024x257.png\" alt=\"\" class=\"wp-image-11103\" width=\"494\" height=\"123\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-1024x257.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-300x75.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-768x193.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-830x208.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-230x58.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-350x88.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69-480x120.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-69.png 1324w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/figure><\/div>\n\n\n\n<p>\u4f7f\u7528docker version\u53ef\u4ee5\u67e5\u770bdocker\u7684\u7248\u672c\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ docker version\nClient: Docker Engine - Community\n Version:           23.0.1\n ......\n<\/pre>\n\n\n\n<p><strong>3.3\u3001\u542f\u52a8minikube<\/strong><\/p>\n\n\n\n<p>minikube\u53ef\u4ee5\u652f\u6301\u591a\u79cd\u4e0d\u540c\u7c7b\u578b\u7684\u9a71\u52a8\uff0c\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528docker\u3002\u5728\u547d\u4ee4\u884c\u4e2d\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8minikube\uff0c\u5176\u4e2d&#8211;driver=docker\u6307\u5b9a\u4e86\u4f7f\u7528docker\u9a71\u52a8\uff0c\u5982\u679c\u5e0c\u671b\u9ed8\u8ba4\u4f7f\u7528docker\u9a71\u52a8\uff0c\u4e5f\u53ef\u4ee5\u6267\u884c\u547d\u4ee4minikube config set driver docker,&#8211;image-mirror-country\u548c&#8211;image-repository\u662f\u975e\u5fc5\u987b\u7684\uff0c\u53ea\u662f\u8003\u8651\u5230\u56fd\u5916\u7684\u6e90\u4e0b\u8f7d\u901f\u5ea6\u6bd4\u8f83\u6162\uff0c\u66ff\u6362\u6210\u56fd\u5185\u7684\u52a0\u5feb\u901f\u5ea6\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[k8s@node3 ~]$ minikube start --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com\/google_containers --driver=docker\n* minikube v1.29.0 on Centos 7.9.2009\n* Using the docker driver based on user configuration\n* Using Docker driver with root privileges\n* Starting control plane node minikube in cluster minikube\n* Pulling base image ...\n* Downloading Kubernetes v1.26.1 preload ...\n    > preloaded-images-k8s-v18-v1...:  397.05 MiB \/ 397.05 MiB  100.00% 3.98 Mi\n    > index.docker.io\/kicbase\/sta...:  407.18 MiB \/ 407.19 MiB  100.00% 2.41 Mi\n! minikube was unable to download gcr.io\/k8s-minikube\/kicbase:v0.0.37, but succe                                                                     ssfully downloaded docker.io\/kicbase\/stable:v0.0.37 as a fallback image\n* Creating docker container (CPUs=2, Memory=2200MB) ...\n* Preparing Kubernetes v1.26.1 on Docker 20.10.23 ...\n  - Generating certificates and keys ...\n  - Booting up control plane ...\n! initialization failed, will try again: wait: \/bin\/bash -c \"sudo env PATH=\"\/var                                                                     \/lib\/minikube\/binaries\/v1.26.1:$PATH\" kubeadm init --config \/var\/tmp\/minikube\/ku                                                                     beadm.yaml  --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,Dir                                                                     Available--var-lib-minikube,DirAvailable--var-lib-minikube-etcd,FileAvailable--e                                                                     tc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manife                                                                     sts-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-                                                                     manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap,N                                                                     umCPU,Mem,SystemVerification,FileContent--proc-sys-net-bridge-bridge-nf-call-ipt                                                                     ables\": Process exited with status 1\nstdout:\n[init] Using Kubernetes version: v1.26.1\n[preflight] Running pre-flight checks\n[preflight] The system verification failed. Printing the output from the verific                                                                     ation:\nKERNEL_VERSION: 3.10.0-1160.76.1.el7.x86_64\nOS: Linux\nCGROUPS_CPU: enabled\nCGROUPS_CPUACCT: enabled\nCGROUPS_CPUSET: enabled\nCGROUPS_DEVICES: enabled\nCGROUPS_FREEZER: enabled\nCGROUPS_MEMORY: enabled\nCGROUPS_PIDS: enabled\nCGROUPS_HUGETLB: enabled\nCGROUPS_BLKIO: enabled\n[preflight] Pulling images required for setting up a Kubernetes cluster\n[preflight] This might take a minute or two, depending on the speed of your inte                                                                     rnet connection\n[preflight] You can also perform this action in beforehand using 'kubeadm config                                                                      images pull'\n[certs] Using certificateDir folder \"\/var\/lib\/minikube\/certs\"\n[certs] Using existing ca certificate authority\n[certs] Using existing apiserver certificate and key on disk\n[certs] Generating \"apiserver-kubelet-client\" certificate and key\n[certs] Generating \"front-proxy-ca\" certificate and key\n[certs] Generating \"front-proxy-client\" certificate and key\n[certs] Generating \"etcd\/ca\" certificate and key\n[certs] Generating \"etcd\/server\" certificate and key\n[certs] etcd\/server serving cert is signed for DNS names [localhost minikube] an                                                                     d IPs [192.168.49.2 127.0.0.1 ::1]\n[certs] Generating \"etcd\/peer\" certificate and key\n[certs] etcd\/peer serving cert is signed for DNS names [localhost minikube] and                                                                      IPs [192.168.49.2 127.0.0.1 ::1]\n[certs] Generating \"etcd\/healthcheck-client\" certificate and key\n[certs] Generating \"apiserver-etcd-client\" certificate and key\n[certs] Generating \"sa\" key and public key\n[kubeconfig] Using kubeconfig folder \"\/etc\/kubernetes\"\n[kubeconfig] Writing \"admin.conf\" kubeconfig file\n[kubeconfig] Writing \"kubelet.conf\" kubeconfig file\n[kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\n[kubeconfig] Writing \"scheduler.conf\" kubeconfig file\n[kubelet-start] Writing kubelet environment file with flags to file \"\/var\/lib\/ku                                                                     belet\/kubeadm-flags.env\"\n[kubelet-start] Writing kubelet configuration to file \"\/var\/lib\/kubelet\/config.y                                                                     aml\"\n[kubelet-start] Starting the kubelet\n[control-plane] Using manifest folder \"\/etc\/kubernetes\/manifests\"\n[control-plane] Creating static Pod manifest for \"kube-apiserver\"\n[control-plane] Creating static Pod manifest for \"kube-controller-manager\"\n[control-plane] Creating static Pod manifest for \"kube-scheduler\"\n[etcd] Creating static Pod manifest for local etcd in \"\/etc\/kubernetes\/manifests                                                                     \"\n[wait-control-plane] Waiting for the kubelet to boot up the control plane as sta                                                                     tic Pods from directory \"\/etc\/kubernetes\/manifests\". This can take up to 4m0s\n[kubelet-check] Initial timeout of 40s passed.\n\nUnfortunately, an error has occurred:\n        timed out waiting for the condition\n\nThis error is likely caused by:\n        - The kubelet is not running\n        - The kubelet is unhealthy due to a misconfiguration of the node in some                                                                      way (required cgroups disabled)\n\nIf you are on a systemd-powered system, you can try to troubleshoot the error wi                                                                     th the following commands:\n        - 'systemctl status kubelet'\n        - 'journalctl -xeu kubelet'\n\nAdditionally, a control plane component may have crashed or exited when started                                                                      by the container runtime.\nTo troubleshoot, list all containers using your preferred container runtimes CLI                                                                     .\nHere is one example how you may list all running Kubernetes containers by using                                                                      crictl:\n        - 'crictl --runtime-endpoint unix:\/\/\/var\/run\/cri-dockerd.sock ps -a | gr                                                                     ep kube | grep -v pause'\n        Once you have found the failing container, you can inspect its logs with                                                                     :\n        - 'crictl --runtime-endpoint unix:\/\/\/var\/run\/cri-dockerd.sock logs CONTA                                                                     INERID'\n\nstderr:\nW0327 11:55:26.955321    1322 initconfiguration.go:119] Usage of CRI endpoints w                                                                     ithout URL scheme is deprecated and can cause kubelet errors in the future. Auto                                                                     matically prepending scheme \"unix\" to the \"criSocket\" with value \"\/var\/run\/cri-d                                                                     ockerd.sock\". Please update your configuration!\n        [WARNING FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: \/pro                                                                     c\/sys\/net\/bridge\/bridge-nf-call-iptables does not exist\n        [WARNING Swap]: swap is enabled; production deployments should disable s                                                                     wap unless testing the NodeSwap feature gate of the kubelet\n        [WARNING SystemVerification]: failed to parse kernel config: unable to l                                                                     oad kernel module: \"configs\", output: \"modprobe: FATAL: Module configs not found                                                                      in directory \/lib\/modules\/3.10.0-1160.76.1.el7.x86_64\\n\", err: exit status 1\n        [WARNING Service-Kubelet]: kubelet service is not enabled, please run 's                                                                     ystemctl enable kubelet.service'\nerror execution phase wait-control-plane: couldn't initialize a Kubernetes clust                                                                     er\nTo see the stack trace of this error execute with --v=5 or higher\n\n  - Generating certificates and keys ...\n  - Booting up control plane ...- ^C\n<\/pre>\n\n\n\n<p>\u542f\u52a8\u5931\u8d25\u4e86\uff0c\u6839\u636e\u65e5\u5fd7\u67e5\u8be2\u76f8\u5173\u9519\u8bef\uff0c\u5728\u7f51\u7edc\u4e0a\u51e0\u7ecf\u67e5\u8be2\u624d\u77e5\u9053\uff0c\u8fd9\u662f\u56e0\u4e3aKuberntes\u7684\u7248\u672c\u517c\u5bb9\u7684\u95ee\u9898\uff0cdockershim \u5df2\u5728 Kubernetes 1.24 \u7248\u672c\u4e2d\u88ab\u79fb\u9664\uff0c\u7ee7\u7eed\u4f7f\u7528Docker Engine\u7684\u8bdd\u4f1a\u6709\u76f8\u5173\u62a5\u9519\u3002<\/p>\n\n\n\n<p>\u53ea\u8981\u4f7f\u7528<code>--kubernetes-version=v1.23.8<\/code>\u6307\u5b9a\u4e4b\u524d\u7684\u7248\u672c\u5373\u53ef\uff0c\u6216\u8005\u4f7f\u7528containerd\u7b49\u5176\u4ed6\u5bb9\u5668\u8fd0\u884c\u65f6\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[k8s@node3 ~]$ minikube start --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com\/google_containers --driver=docker --kubernetes-version=v1.23.8\n<\/pre>\n\n\n\n<p>\u542f\u52a8\u7ed3\u679c\u5982\u4e0b\u56fe\uff0c\u770b\u5230<code>Done<\/code>\u7684\u63d0\u793a\u8bc1\u660e\u5df2\u7ecf\u5b89\u88c5\u5b8c\u6210\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-1024x304.png\" alt=\"\" class=\"wp-image-11104\" width=\"545\" height=\"162\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-1024x304.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-300x89.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-768x228.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-830x246.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-230x68.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-350x104.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70-480x142.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-70.png 1308w\" sizes=\"(max-width: 545px) 100vw, 545px\" \/><\/figure><\/div>\n\n\n\n<p><strong>3.4\u3001\u4f7f\u7528Dashboard<\/strong><\/p>\n\n\n\n<p>kubernetes\u4e3a\u4e86\u65b9\u4fbf\u96c6\u7fa4\u7684\u7ef4\u62a4\u64cd\u4f5c\uff0c\u63d0\u4f9b\u4e86dashboard\u529f\u80fd\u3002dashboard\u5305\u62ec\u4e86Cluster\u3001Workloads\u3001Service\u3001Config and Storage\u3001setting\u7b49\u591a\u4e2a\u6a21\u5757\u529f\u80fd\uff0c\u6db5\u76d6\u4e86kubernetes\u7684\u65b9\u65b9\u9762\u9762\uff0c\u662f\u4e2a\u975e\u5e38\u4e0d\u9519\u7684\u7ba1\u7406GUI\u3002<\/p>\n\n\n\n<p>\u8981\u4f7f\u7528dashboard\uff0c\u53ea\u9700\u8981\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4,\u5c06\u4f1a\u542f\u52a8dashboard\uff0c\u6253\u5370\u51fa\u53ef\u8bbf\u95ee\u7684\u94fe\u63a5\u5730\u5740\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ minikube dashboard\n* Verifying dashboard health ...\n* Launching proxy ...\n* Verifying proxy health ...\n* Opening http:\/\/127.0.0.1:42378\/api\/v1\/namespaces\/kubernetes-dashboard\/services\/http:kubernetes-dashboard:\/proxy\/ in your default browser...\n  http:\/\/127.0.0.1:42378\/api\/v1\/namespaces\/kubernetes-dashboard\/services\/http:kubernetes-dashboard:\/proxy\/\n<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-1024x206.png\" alt=\"\" class=\"wp-image-11105\" width=\"548\" height=\"109\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-1024x206.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-300x60.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-768x154.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-830x167.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-230x46.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-350x70.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71-480x96.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-71.png 1304w\" sizes=\"(max-width: 548px) 100vw, 548px\" \/><\/figure><\/div>\n\n\n\n<p>\u542f\u52a8\u8fc7\u7a0b\u4e2d\u5982\u679c\u63d0\u793a\u6dfb\u52a0metrics-server\u63d2\u4ef6\u6269\u5c55\uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5373\u53ef\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ minikube addons enable metrics-server\n* metrics-server is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https:\/\/github.com\/kubernetes\/minikube\/blob\/master\/OWNERS\n  - Using image registry.k8s.io\/metrics-server\/metrics-server:v0.6.2\n* The 'metrics-server' addon is enabled\n<\/pre>\n\n\n\n<p>\u7531\u4e8edashboard\u8f93\u51fa\u7684\u5730\u5740\u662f\u672c\u5730\u7684IP\u5730\u5740\uff0c\u5982\u679c\u4f60\u662f\u5728\u865a\u62df\u673a\u4e2d\u90e8\u7f72\uff0c\u60f3\u5728\u5bbf\u4e3b\u673a\u4e0a\u8fdb\u884c\u8bbf\u95ee\uff0c\u90a3\u4e48\u53ef\u4ee5\u4f7f\u7528<code>kubectl proxy<\/code>\u5f00\u542f\u4ee3\u7406\u8bbf\u95ee\u3002<\/p>\n\n\n\n<p>\u9996\u5148\u5b89\u88c5kubectl,\u53c2\u7167\u5982\u4e0b\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ curl -LO https:\/\/dl.k8s.io\/release\/v1.23.8\/bin\/linux\/amd64\/kubectl\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100   138  100   138    0     0    128      0  0:00:01  0:00:01 --:--:--   128\n100 44.4M  100 44.4M    0     0  3720k      0  0:00:12  0:00:12 --:--:-- 5174k\n[docker@node3 ~]$\n[docker@node3 ~]$ ls\nkubectl  minikube-linux-amd64  tmp.log\n[docker@node3 ~]$ sudo install -o root -g root -m 0755 kubectl \/usr\/local\/bin\/kubectl\n[docker@node3 ~]$ kubectl version --client\nClient Version: version.Info{Major:\"1\", Minor:\"23\", GitVersion:\"v1.23.8\", GitCommit:\"a12b886b1da059e0190c54d09c5eab5219dd7acf\", GitTreeState:\"clean\", BuildDate:\"2022-06-16T05:57:43Z\", GoVersion:\"go1.17.11\", Compiler:\"gc\", Platform:\"linux\/amd64\"}\n<\/pre>\n\n\n\n<p>\u63a5\u7740\u4f7f\u7528<code>kubectl proxy<\/code>\u5f00\u542f\u4ee3\u7406\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ kubectl proxy --port=8888 --address='192.168.56.13' --accept-hosts='^.*' &amp;\n[1] 10509\n[docker@node3 ~]$ Starting to serve on 192.168.56.13:8888\n\n<\/pre>\n\n\n\n<p>\u5728\u5bbf\u4e3b\u673a\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-1024x445.png\" alt=\"\" class=\"wp-image-11107\" width=\"521\" height=\"227\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-1024x445.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-300x130.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-768x334.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-830x361.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-230x100.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-350x152.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73-480x209.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-73.png 1312w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/figure><\/div>\n\n\n\n<p>\u67e5\u770bworkloads<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-1024x337.png\" alt=\"\" class=\"wp-image-11108\" width=\"540\" height=\"177\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-1024x337.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-300x99.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-768x252.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-830x273.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-230x76.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-350x115.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74-480x158.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-74.png 1296w\" sizes=\"(max-width: 540px) 100vw, 540px\" \/><\/figure><\/div>\n\n\n\n<p>\u67e5\u770bnode<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"195\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-1024x195.png\" alt=\"\" class=\"wp-image-11109\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-1024x195.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-300x57.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-768x146.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-830x158.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-230x44.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-350x67.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75-480x91.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-75.png 1304w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u8fd8\u6709\u5176\u4ed6\u4f17\u591a\u4e30\u5bcc\u529f\u80fd\uff0c\u4e0d\u518d\u7f57\u5217\uff0c\u81ea\u5df1\u642d\u5efa\u4f53\u9a8c\u662f\u6700\u76f4\u63a5\u7684\u3002<\/p>\n\n\n\n<p><strong>3.5\u3001\u5f02\u5e38\u95ee\u9898\u89e3\u51b3<\/strong><\/p>\n\n\n\n<p>\u5728\u5b89\u88c5\u7684\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u4f1a\u78b0\u5230\u5404\u79cd\u9519\u8bef\u95ee\u9898\uff0c\u8fd9\u91cc\u5bf9\u6211\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u9047\u5230\u7684\u95ee\u9898\u8fdb\u884c\u603b\u7ed3\uff0c\u5e0c\u671b\u53ef\u4ee5\u63d0\u4f9b\u53c2\u8003\u3002<\/p>\n\n\n\n<p><strong>3.5.1\u3001\u63d0\u793aDocker\u5931\u8d25<\/strong><\/p>\n\n\n\n<p>\u5982\u679c\u63d0\u793adocker\u7684\u4e00\u4e9b\u5931\u8d25\uff0c\u53ef\u4ee5\u4f7f\u7528<code>journalctl<\/code>\u547d\u4ee4\u67e5\u770b\u5177\u4f53\u7684\u65e5\u5fd7\u8f93\u51fa\u8f85\u52a9\u8fdb\u884c\u5b9a\u4f4d(\u57fa\u4e8ecentos\u7cfb\u7edf)\uff0c\u5982\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo journalctl -xe<\/pre>\n\n\n\n<p><strong>3.5.2\u3001docker DNS\u914d\u7f6e<\/strong><\/p>\n\n\n\n<p>\u5b9a\u4f4d\u8fc7\u7a0b\u4e2d\u53d1\u73b0DNS\u914d\u7f6e\u95ee\u9898\uff0c\u53ef\u4ee5\u5728docker\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u8bbe\u7f6e\uff0c\u914d\u7f6e\u6587\u4ef6\u4e3a<code>\/etc\/docker\/daemon.json<\/code>\uff0c\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6eDNS\u7b49\u5185\u5bb9\uff0c\u5982\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"dns\": [\"192.168.56.2\"]\n}\n<\/pre>\n\n\n\n<p><strong>3.5.3\u3001metrics-server\u542f\u52a8\u5931\u8d25<\/strong><\/p>\n\n\n\n<p>\u5728dashboard\u4e2d\u53ef\u4ee5\u770b\u5230\u542f\u52a8\u540e\u63d0\u793ametrics-server\u542f\u52a8\u5f02\u5e38\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-1024x310.png\" alt=\"\" class=\"wp-image-11111\" width=\"489\" height=\"148\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-1024x310.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-300x91.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-768x232.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-830x251.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-230x70.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-350x106.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76-480x145.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-76.png 1322w\" sizes=\"(max-width: 489px) 100vw, 489px\" \/><\/figure><\/div>\n\n\n\n<p>\u70b9\u51fb\u7ea2\u8272\u5706\u70b9\uff0c\u67e5\u770b\u5931\u8d25\u7684\u5177\u4f53\u9519\u8bef\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Failed to pull image \"registry.k8s.io\/metrics-server\/metrics-server:v0.6.2@sha256:f977ad859fb500c1302d9c3428c6271db031bb7431e7076213b676b345a88dc2\": rpc error: code = Unknown desc = Error response from daemon: Get \"https:\/\/asia-east1-docker.pkg.dev\/v2\/k8s-artifacts-prod\/images\/metrics-server\/metrics-server\/manifests\/sha256:f977ad859fb500c1302d9c3428c6271db031bb7431e7076213b676b345a88dc2\": dial tcp 142.251.8.82:443: connect: connection refused\n<\/pre>\n\n\n\n<p>\u4ece\u63d0\u793a\u4e0a\u770b\u662f\u62c9\u53d6\u955c\u50cf\u5931\u8d25\uff0c\u8fd9\u4e3b\u8981\u662f\u56fd\u5916\u6e90\u7684\u95ee\u9898\uff0c\u53ef\u4ee5\u66f4\u6362\u6e90\u63d0\u524d\u4e0b\u8f7d\u955c\u50cf\u5230\u672c\u5730\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull registry.cn-hangzhou.aliyuncs.com\/google_containers\/metrics-server:v0.6.2<\/pre>\n\n\n\n<p>\u7136\u540e\u5c06deployment\u4f7f\u7528\u7684\u955c\u50cf\u4fee\u6539\u4e3a<code>registry.cn-hangzhou.aliyuncs.com\/google_containers\/metrics-server:v0.6.2<\/code>,\u5982\u4e0b\uff0c\u9009\u62e9metrics-server\u8fd9\u4e2adeployment\uff0c\u9009\u62e9edit<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-1024x261.png\" alt=\"\" class=\"wp-image-11112\" width=\"525\" height=\"134\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-1024x261.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-300x77.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-768x196.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-830x212.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-230x59.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-350x89.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77-480x123.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-77.png 1316w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/><\/figure><\/div>\n\n\n\n<p>\u627e\u5230<code>spec:containers:image<\/code>\u8fdb\u884c\u4fee\u6539<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-1024x566.png\" alt=\"\" class=\"wp-image-11113\" width=\"538\" height=\"297\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-1024x566.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-300x166.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-768x425.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-830x459.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-230x127.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-350x193.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78-480x265.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-78.png 1306w\" sizes=\"(max-width: 538px) 100vw, 538px\" \/><\/figure><\/div>\n\n\n\n<p>\u6ce8\u610f\uff0ck8s\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fd8\u6709\u4e00\u4e2a\u91cd\u8981\u7684\u5c5e\u6027<code>imagePullPolicy<\/code>\u5c5e\u6027\uff0c\u8fd9\u4e2a\u5c5e\u6027\u662f\u63cf\u8ff0\u955c\u50cf\u7684\u62c9\u53d6\u7b56\u7565<\/p>\n\n\n\n<ul><li>Always \u4ee3\u8868\u603b\u662f\u62c9\u53d6\u955c\u50cf<\/li><li>IfNotPresent \u672c\u5730\u6709\u5219\u4f7f\u7528\u672c\u5730\u955c\u50cf,\u4e0d\u62c9\u53d6\uff0c\u5982\u679c\u6ca1\u6709\u7684\u8bdd\u518d\u62c9\u53d6\u955c\u50cf\uff08\u5efa\u8bae\uff09<\/li><li>Never \u53ea\u4f7f\u7528\u672c\u5730\u955c\u50cf\uff0c\u4ece\u4e0d\u62c9\u53d6\uff0c\u5373\u4f7f\u672c\u5730\u6ca1\u6709<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-1024x618.png\" alt=\"\" class=\"wp-image-11114\" width=\"520\" height=\"313\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-1024x618.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-300x181.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-768x463.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-830x501.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-230x139.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-350x211.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79-480x289.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2023\/05\/\u56fe\u7247-79.png 1290w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure><\/div>\n\n\n\n<p>\u5728\u754c\u9762\u4e0a\u91cd\u542fdeployment\u6216\u8005\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl rollout restart -n kube-system deployment metrics-server<\/pre>\n\n\n\n<p>\u91cd\u542f\u540e\u53ef\u4ee5\u53d1\u73b0metrics-server\u6b63\u5e38\u542f\u52a8\u3002<\/p>\n\n\n\n<p><strong>3.6\u3001\u5220\u9664minikube<\/strong><\/p>\n\n\n\n<p>\u5982\u679c\u5e0c\u671b\u6e05\u9664\u73af\u5883\u91cd\u65b0\u5b89\u88c5\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u5df2\u7ecf\u90e8\u7f72\u7684Minikube\u96c6\u7fa4\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">minikube delete --all<\/pre>\n\n\n\n<p><strong>\u56db\u3001kubernetes\u7684\u57fa\u7840\u7528\u6cd5<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u4f7f\u7528Kubernetes\uff0c\u9664\u4e86\u901a\u8fc7dashboard\uff0c\u53ef\u4ee5\u901a\u8fc7Kubernetes API\u548ckubectl\u547d\u4ee4\u884c\u5de5\u5177\u8fdb\u884c\u64cd\u4f5c\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u57fa\u672c\u7528\u6cd5\uff1a<\/p>\n\n\n\n<p><strong>4.1\u3001\u521b\u5efa\u548c\u67e5\u8be2Deployment<\/strong><\/p>\n\n\n\n<p>\u4ee5\u4e0b\u547d\u4ee4\u521b\u5efa\u4e00\u4e2adeployment\uff0c\u540d\u4e3amy-deployment,\u4f7f\u7528\u955c\u50cfbusybox\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl create deployment my-deployment --image=busybox<\/pre>\n\n\n\n<p>\u521b\u5efa\u5b8c\u6210\u540e\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u53ef\u4ee5\u67e5\u770bdeployment<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl get deployments<\/pre>\n\n\n\n<p><strong>4.2\u3001\u521b\u5efa\u548c\u67e5\u8be2Pod<\/strong><\/p>\n\n\n\n<p>kubectl\u652f\u6301json\u6216\u8005yaml\u683c\u5f0f\u6765\u521b\u5efapod\uff0c\u4f8b\u5982\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$ cat &lt;&lt;EOF | kubectl create -f -\napiVersion: v1\nkind: Pod\nmetadata:\n  name: my-busybox\nspec:\n  containers:\n  - name: busybox\n    image: busybox\nEOF\n<\/pre>\n\n\n\n<p>\u521b\u5efa\u5b8c\u6210\u4ee5\u540e\u4f7f\u7528<code>kubectl get pods --all-namespaces<\/code>\u53ef\u4ee5\u5217\u51fa\u6240\u6709 namespace \u4e2d\u7684\u6240\u6709 pod\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[docker@node3 ~]$ kubectl get pod -A\nNAMESPACE              NAME                                         READY   STATUS             RESTARTS      AGE\nkube-system            coredns-65c54cc984-hb794                     1\/1     Running            1 (14h ago)   14h\nkube-system            etcd-minikube                                1\/1     Running            1 (14h ago)   14h\nkube-system            kube-apiserver-minikube                      1\/1     Running            1 (14h ago)   14h\n<\/pre>\n\n\n\n<p><strong>4.3\u3001\u516c\u5f00\u670d\u52a1<\/strong><\/p>\n\n\n\n<p>\u5728Kubernetes\u4e2d\uff0c\u670d\u52a1\u662f\u4e00\u79cd\u5c06Pod\u516c\u5f00\u4e3a\u7f51\u7edc\u670d\u52a1\u7684\u673a\u5236\u3002\u53ef\u4ee5\u4f7f\u7528kubectl\u521b\u5efa\u4e00\u4e2a\u670d\u52a1\uff0c\u4f7f\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u901a\u8fc7Kubernetes\u96c6\u7fa4\u4e2d\u7684\u5176\u4ed6Pod\u6216\u5916\u90e8\u5ba2\u6237\u7aef\u8bbf\u95ee\u3002\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl expose deployment hello-minikube --type=NodePort --port=8080<\/pre>\n\n\n\n<p>\u8fd9\u5c06\u521b\u5efa\u4e00\u4e2a\u670d\u52a1Service\uff0c\u5e76\u5c06\u5176\u516c\u5f00\u4e3aNodePort\u7c7b\u578b\uff0c\u4f7f\u5f97\u53ef\u4ee5\u901a\u8fc7Kubernetes\u96c6\u7fa4\u4e2d\u4efb\u4f55\u4e00\u4e2a\u8282\u70b9\u7684IP\u5730\u5740\u548cNodePort\u8bbf\u95ee\u5230\u670d\u52a1\u3002<\/p>\n\n\n\n<p><strong>4.4\u3001\u8bbf\u95ee\u5e94\u7528\u7a0b\u5e8f\uff1a<\/strong><\/p>\n\n\n\n<p>\u53ef\u4ee5\u4f7f\u7528kubectl\u547d\u4ee4\u884c\u5de5\u5177\u83b7\u53d6Minikube\u8282\u70b9\u7684IP\u5730\u5740\u548cNodePort\uff0c\u7136\u540e\u5728Web\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u8be5IP\u5730\u5740\u548cNodePort\uff0c\u4ee5\u8bbf\u95ee\u5e94\u7528\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">minikube service hello-minikube --url<\/pre>\n\n\n\n<p>\u8fd9\u5c06\u8fd4\u56de\u670d\u52a1\u7684URL\uff0c\u53ef\u4ee5\u5c06\u5176\u590d\u5236\u5230Web\u6d4f\u89c8\u5668\u4e2d\u8fdb\u884c\u8bbf\u95ee\u3002<\/p>\n\n\n\n<p><strong>4.5\u3001\u624b\u52a8\u7f29\u653ePod<\/strong><\/p>\n\n\n\n<p>\u53ef\u4ee5\u4f7f\u7528kubectl\u547d\u4ee4\u884c\u5de5\u5177\u624b\u52a8\u7f29\u653ePod\u7684\u6570\u91cf\uff0c\u4ee5\u6ee1\u8db3\u5f53\u524d\u7684\u8d1f\u8f7d\u9700\u6c42\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u5c06Pod\u7684\u6570\u91cf\u6269\u5c55\u52303\u4e2a\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl scale deployment my-app --replicas=3<\/pre>\n\n\n\n<p><strong>4.6\u3001\u5220\u9664\u8d44\u6e90<\/strong><\/p>\n\n\n\n<p>kubectl\u652f\u6301\u591a\u79cd\u5f62\u5f0f\u7684\u5220\u9664\u8d44\u6e90\u7684\u65b9\u6cd5:<\/p>\n\n\n\n<ul><li>\u4f7f\u7528\u5b9a\u4e49\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p>\u5220\u9664\u5339\u914d pod.json \u6587\u4ef6\u4e2d\u5b9a\u4e49\u7684\u7c7b\u578b\u548c\u540d\u79f0\u7684 pod<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl delete -f .\/pod.json<\/pre>\n\n\n\n<ul><li>\u4f7f\u7528\u540d\u79f0<\/li><\/ul>\n\n\n\n<p>\u5220\u9664\u6307\u5b9a\u540d\u79f0\u7684pod<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl delete pod mypod<\/pre>\n\n\n\n<ul><li>\u4f7f\u7528\u6807\u7b7e<\/li><\/ul>\n\n\n\n<p>\u5220\u9664\u5177\u6709 name=mypod-label\u6807\u7b7e\u7684pod<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl delete pods -l name=mypod-label<\/pre>\n\n\n\n<ul><li>\u4f7f\u7528namespace<\/li><\/ul>\n\n\n\n<p>\u5220\u9664my-ns\u8fd9\u4e2anamespace\u4e0b\u6240\u6709\u7684pod<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">kubectl -n my-ns delete po --all<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes\u662f\u4e00\u4e2a\u5bb9\u5668\u7f16\u6392\u7cfb\u7edf\uff0c\u7528\u4e8e\u81ea\u52a8\u5316\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u3001\u6269\u5c55\u548c\u7ba1\u7406\u3002\u672c\u6307\u5357\u5c06\u4ecb\u7ecdKubernetes\u7684 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"_links":{"self":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/11101"}],"collection":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11101"}],"version-history":[{"count":4,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/11101\/revisions"}],"predecessor-version":[{"id":11141,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/11101\/revisions\/11141"}],"wp:attachment":[{"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}