{"id":4467,"date":"2021-07-21T19:33:25","date_gmt":"2021-07-21T11:33:25","guid":{"rendered":"http:\/\/blog.ywdevops.cn\/?p=4467"},"modified":"2026-05-18T11:27:52","modified_gmt":"2026-05-18T03:27:52","slug":"k8s-3","status":"publish","type":"post","link":"https:\/\/blog.ywdevops.cn\/index.php\/2021\/07\/21\/k8s-3\/","title":{"rendered":"\u901a\u8fc7kubeadm\u5b89\u88c5K8s\u96c6\u7fa4"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><code>kubeadm<\/code>\u662f\u5b98\u65b9\u793e\u533a\u63a8\u51fa\u7684\u4e00\u4e2a\u7528\u4e8e\u5feb\u901f\u90e8\u7f72kubernetes\u96c6\u7fa4\u7684\u5de5\u5177\u3002\u8fd9\u4e2a\u5de5\u5177\u80fd\u901a\u8fc7\u4e24\u6761\u6307\u4ee4\u5feb\u901f\u5b8c\u6210\u4e00\u4e2akubernetes\u96c6\u7fa4\u7684\u90e8\u7f72\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u4f8b\u5b50\u4e2d\u4f7f\u7528centos7\u7cfb\u7edf\u5b89\u88c5k8s\u96c6\u7fa4<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4e00\u3001\u7cfb\u7edf\u521d\u59cb\u5316\u8bbe\u7f6e\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c2\u8003k8s\u4e8c\u8fdb\u5236\u90e8\u7f72\u7ae0\u8282\uff1a<a href=\"https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u7cfb\u7edf\u521d\u59cb\u5316<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4e8c\u3001docker\u5b89\u88c5\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c2\u8003k8s\u4e8c\u8fdb\u5236\u90e8\u7f72\uff1a<a href=\"https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/\">docker\u5b89\u88c5<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4e09\u3001\u673a\u5668IP\u4fe1\u606f\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">\u4e3b\u673a\u540d<\/td><td class=\"has-text-align-center\" data-align=\"center\">IP<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u8282\u70b9\u7c7b\u578b<\/td><td>\u6700\u4f4e\u914d\u7f6e<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">k8s-master1<\/td><td class=\"has-text-align-center\" data-align=\"center\">192.168.15.215<\/td><td class=\"has-text-align-center\" data-align=\"center\">master1\u8282\u70b9<\/td><td>1G2CPU<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> k8s-master2<\/td><td class=\"has-text-align-center\" data-align=\"center\"> 192.168.15.216 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> master2\u8282\u70b9 <\/td><td> 1G2CPU <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> k8s-master3<\/td><td class=\"has-text-align-center\" data-align=\"center\"> 192.168.15.217 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> master3\u8282\u70b9 <\/td><td> 1G2CPU <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">  k8s-worker1<\/td><td class=\"has-text-align-center\" data-align=\"center\"> 192.168.15.218 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> worker1\u8282\u70b9 <\/td><td> 1G2CPU <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">   k8s-worker2 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> 192.168.15.219<\/td><td class=\"has-text-align-center\" data-align=\"center\">worker2\u8282\u70b9 <\/td><td> 1G2CPU <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">   k8s-worker3 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> 192.168.15.221 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> worker3\u8282\u70b9 <\/td><td>  1G2CPU  <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">VIP<\/td><td class=\"has-text-align-center\" data-align=\"center\">192.168.15.253<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u90e8\u7f72\u5728master\u8282\u70b9<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6ce8\u610f\uff1amaster\u8282\u70b9\u81f3\u5c11\u89812\u4e2acpu\uff0c\u5426\u5219\u62a5\u9519\nerror execution phase preflight: &#91;preflight] Some fatal errors occurred:\n&#91;ERROR NumCPU]: the number of available CPUs 1 is less than the required 2<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u56db\u3001\u5b89\u88c5keepalived\u548cnginx:<\/strong><\/p>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">keepalived\u76f4\u63a5yum\u5373\u53ef\uff0ckeepalived\u914d\u7f6e\u6587\u4ef6\u53ef\u53c2\u8003\u4e8c\u8fdb\u5236\u5b89\u88c5\u4e00\u7bc7\uff0cnginx\u9700\u8981\u7f16\u8bd1\u5b89\u88c5\uff0c\u56e0\u4e3a\u9700\u8981stream\u6a21\u5757\uff0cNginx\u7f16\u8bd1\u5b89\u88c5\u53c2\u8003\uff1a<a href=\"https:\/\/blog.ywdevops.cn\/index.php\/2021\/05\/20\/nginx-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nginx\u7f16\u8bd1\u5b89\u88c5<\/a><\/p>\n\n\n\n<p class=\"has-normal-font-size wp-block-paragraph\">nginx\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>events {\n    worker_connections  1024;\n}\n#\u6ce8\uff1astream\u6a21\u5757\u8ddfhttp\u540c\u7ea7\nstream {\n    log_format  main  '$remote_addr $upstream_addr - &#91;$time_local] $status $upstream_bytes_sent';\n\n    access_log  \/var\/log\/nginx\/k8s-access.log  main;\n\n    upstream k8s-apiserver {\n       server 192.168.15.215:6443;   # Master1 APISERVER IP:PORT\n       server 192.168.15.216:6443;   # Master2 APISERVER IP:PORT\n       server 192.168.15.217:6443;    # Master3 APISEVER  IP:PORT\n    }\n\n    server {\n       listen 16443;  # \u7531\u4e8enginx\u4e0emaster\u8282\u70b9\u590d\u7528\uff0c\u8fd9\u4e2a\u76d1\u542c\u7aef\u53e3\u4e0d\u80fd\u662f6443\uff0c\u5426\u5219\u4f1a\u51b2\u7a81\n       proxy_pass k8s-apiserver;\n    }\n}\n\nhttp { \n    server {\n        listen       80;\n        server_name  localhost;    \n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">keepalived\u4e2d\u914d\u7f6enginx\u5065\u5eb7\u72b6\u6001\u68c0\u6d4b\u811a\u672c\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>! Configuration File for keepalived\n\nglobal_defs {\n   notification_email {\n     acassen@firewall.loc\n     failover@firewall.loc\n     sysadmin@firewall.loc\n   }\n   notification_email_from Alexandre.Cassen@firewall.loc\n   smtp_server 192.168.200.1\n   smtp_connect_timeout 30\n   router_id LVS_DEVEL\n   vrrp_skip_check_adv_addr\n   vrrp_garp_interval 0\n   vrrp_gna_interval 0\n}\nvrrp_script check_nginx {\n     script \"\/etc\/keepalived\/check_nginx.sh\"\n     interval 2\n     weight -20                         #\u811a\u672c\u8fd4\u56de\u72b6\u6001\u7801\u4e3a1\uff0c\u90a3\u4e48\u6743\u91cd\u4e0b\u964d20\uff0c\u5b9e\u73b0VIP\u98d8\u9038\n   }\nvrrp_instance VI_1 {\n    state MASTER\n    interface ens33\n    virtual_router_id 51\n    priority 100\n    advert_int 1\n    authentication {\n        auth_type PASS\n        auth_pass 1111\n    }\n    virtual_ipaddress {\n        192.168.15.253\/24\n    }\n    track_script {\n      check_nginx\n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">check_nginx\u811a\u672c\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\ncount=$(ss -antp |grep 16443 |egrep -cv \"grep|$$\")\n\nif &#91; \"$count\" -eq 0 ];then\n    exit 1\nelse\n    exit 0\nfi\n<\/code><\/pre>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u662f\u5355master\uff0c\u90a3\u4e48\u5c31\u4e0d\u9700\u8981\u5b89\u88c5 keepalived\u548cnginx<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4e94\u3001\u5b89\u88c5etcd:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u6559\u7a0b\u4e2detcd\u91c7\u7528\u5355\u72ec\u5b89\u88c5\u7684\u65b9\u5f0f\uff0c\u5b89\u88c5\u65b9\u6cd5\u53c2\u8003\u4e8c\u8fdb\u5236\u90e8\u7f72\u7ae0\u8282<a href=\"https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/<\/a><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u516d\u3001\u5b89\u88c5k8s\u7ec4\u4ef6\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u4e0b\u8f7dk8s\u7ec4\u4ef6\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u4eec\u9700\u8981\u5b89\u88c5kubeadm, kubelet, kubectl\uff0c<strong>\u7248\u672c\u9700\u8981\u4e00\u81f4<\/strong>\u3002\u5728\u53ef\u4ee5\u8fde\u5916\u7f51\u7684\u673a\u5668\u4e0a\u4e0b\u8f7d\u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6dfb\u52a0kubernetes yum\u6e90\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &gt; \/etc\/yum.repos.d\/kubernetes.repo &lt;&lt;EOF\n&#91;kubernetes]\nname=Kubernetes Repo\nbaseurl=https:\/\/mirrors.aliyun.com\/kubernetes\/yum\/repos\/kubernetes-el7-x86_64\/\ngpgcheck=1\ngpgkey=https:\/\/mirrors.aliyun.com\/kubernetes\/yum\/doc\/rpm-package-key.gpg\nenabled=1\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4\u66f4\u65b0\u7f13\u5b58\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum clean all\nyum makecache<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770bkubeadm\u7248\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum list kubeadm --showduplicates<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"193\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-1.png\" alt=\"\" class=\"wp-image-4473\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-1.png 706w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-1-300x82.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-1-600x164.png 600w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6211\u4eec\u4e0b\u8f7d1.20.8\u7248\u672c(\u4e5f\u53ef\u6839\u636e\u9700\u8981\u4e0b\u8f7d\u4efb\u4f55\u7248\u672c)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install --downloadonly --downloaddir ~\/k8s\/kubernetes kubeadm-1.20.8-0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6839\u636e\u4e0a\u8ff0\u65b9\u5f0f\u67e5\u627ekubelet\u3001kubectl\u7248\u672c\uff0c\u4ee5\u53ca\u4f9d\u8d56\u5305\uff0c\u5e76\u4e0b\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install --downloadonly --downloaddir ~\/k8s\/kubernetes kubelet-1.20.8-0\nyum install --downloadonly --downloaddir ~\/k8s\/kubernetes kubectl-1.20.8-0\nyum install --downloadonly --downloaddir ~\/k8s\/kubernetes kubernetes-cni-0.8.7-0\nyum install --downloadonly --downloaddir ~\/k8s\/kubernetes cri-tools-1.13.0-0<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"177\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/4-1.png\" alt=\"\" class=\"wp-image-4475\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/4-1.png 554w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/4-1-300x96.png 300w\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u662f\u7f51\u7edc\u5b89\u88c5\uff0c\u8981\u5148\u5b89\u88c5kubelet\u7136\u540e\u624d\u80fd\u5b89\u88c5kubeadm\uff0c\u56e0\u4e3akubeadm\u4f9d\u8d56\u4e8ekubelet\uff0c\u5426\u5219\u53ef\u80fd\u9020\u6210\u7248\u672c\u4e0d\u4e00\u81f4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u5b89\u88c5k8s\u7ec4\u4ef6\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06\u4e0a\u56fe\u4e2d\u7684rpm\u5305\u62f7\u8d1d\u5230\u6bcf\u4e00\u4e2a\u8282\u70b9\uff0c\u6267\u884c\u5982\u4e0b\u547d\u4ee4\u5b89\u88c5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install ~\/k8s\/kubernetes\/*.rpm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u5b8c\u6210\u540e\uff0c kubeadm, kubectl, kubelet\u5c31\u5df2\u7ecf\u5b89\u88c5\u597d\u4e86 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001 \u8bbe\u7f6ekubelet\u7684\u5f00\u673a\u542f\u52a8\u3002\u6211\u4eec\u5e76\u4e0d\u9700\u8981\u542f\u52a8kubelet\uff0c\u5c31\u7b97\u542f\u52a8\uff0c\u4e5f\u662f\u4e0d\u80fd\u6210\u529f\u7684\u3002\u6267\u884ckubeadm\u547d\u4ee4\uff0c\u4f1a\u751f\u6210\u4e00\u4e9b\u914d\u7f6e\u6587\u4ef6 \uff0c\u8fd9\u65f6\u624d\u4f1a\u8ba9kubelet\u542f\u52a8\u6210\u529f\u7684\u3002 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable kubelet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u62c9\u53d6\u955c\u50cf\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> \u6267\u884ckubeadm\u65f6\uff0c\u9700\u8981\u7528\u5230\u4e00\u4e9b\u955c\u50cf\uff0c\u6211\u4eec\u9700\u8981\u63d0\u524d\u51c6\u5907 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\u9700\u8981\u4f9d\u8d56\u54ea\u4e9b\u955c\u50cf\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"541\" height=\"216\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-2.png\" alt=\"\" class=\"wp-image-4476\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-2.png 541w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/5-2-300x120.png 300w\" sizes=\"auto, (max-width: 541px) 100vw, 541px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7531\u4e8e\u56fd\u5185\u8bbf\u95ee\u4e0d\u4e86k8s.gcr.io\u5730\u5740\uff0c\u56e0\u6b64\u9700\u8981\u901a\u8fc7\u56fd\u5185\u955c\u50cf\u5730\u5740\uff0c\u6216\u8005\u76f4\u63a5\u901a\u8fc7<strong>docker hub<\/strong>\u5730\u5740\u62c9\u53d6\u955c\u50cf\u4e5f\u53ef\u4ee5\uff0c\u672c\u4f8b\u5b50\u5df2\u7ecf\u4ecedocker hub\u4e0a\u62c9\u53d6\u4e86\u955c\u50cf\uff0c\u5e76tag\u6210k8s.gcr.io\u7684\u5730\u5740\u7c7b\u578b\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"564\" height=\"209\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/6-1.png\" alt=\"\" class=\"wp-image-4477\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/6-1.png 564w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/6-1-300x111.png 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4e03\u3001\u90e8\u7f72k8s\u96c6\u7fa4\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001 \u83b7\u53d6\u9ed8\u8ba4\u914d\u7f6e\u6587\u4ef6 \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm config print init-defaults &gt; kubeadm-config.yaml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">kubeadm-config.yaml\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-background-color has-background\"><code>apiVersion: kubeadm.k8s.io\/v1beta2\nbootstrapTokens:\n- groups:\n  - system:bootstrappers:kubeadm:default-node-token\n  token: abcdef.0123456789abcdef\n  ttl: 24h0m0s\n  usages:\n  - signing\n  - authentication\nkind: InitConfiguration\nlocalAPIEndpoint:\n  advertiseAddress: 192.168.15.215\n  bindPort: 6443\nnodeRegistration:\n  criSocket: \/var\/run\/dockershim.sock\n  name: k8s-master1\n  taints:\n  - effect: NoSchedule\n    key: node-role.kubernetes.io\/master\n---\napiServer:\n  certSANs:\n  - k8s-master1\n  - k8s-master2\n  - k8s-master3\n  - 192.168.15.215\n  - 192.168.15.216\n  - 192.168.15.217\n  - 192.168.15.253\n  - 127.0.0.1\n  extraArgs:\n    authorization-mode: Node,RBAC\n  timeoutForControlPlane: 4m0s\napiVersion: kubeadm.k8s.io\/v1beta2\ncertificatesDir: \/etc\/kubernetes\/pki\nclusterName: kubernetes\ncontrolPlaneEndpoint: \"192.168.15.253:16443\"     #vip\ncontrollerManager: {}\ndns:\n  type: CoreDNS\netcd:\n  external:\n   endpoints:\n   - https:\/\/192.168.15.215:2379   \n   - https:\/\/192.168.15.216:2379   \n   - https:\/\/192.168.15.217:2379\n   caFile: \/opt\/etcd\/ssl\/etcd-ca.pem\n   certFile: \/opt\/etcd\/ssl\/server.pem\n   keyFile: \/opt\/etcd\/ssl\/server-key.pem \nimageRepository: registry.aliyuncs.com\/google_containers      #\u963f\u91cc\u4e91\u4ed3\u5e93\nkind: ClusterConfiguration\nkubernetesVersion: v1.20.8\nnetworking:\n  dnsDomain: cluster.local\n  podSubnet: 10.244.0.0\/16                      #pod\u7f51\u6bb5\n  serviceSubnet: 10.96.0.0\/12                   #server\u7f51\u6bb5\nscheduler: {}\n---\napiVersion: kubeproxy.config.k8s.io\/v1alpha1\nkind: KubeProxyConfiguration\nmode: ipvs                                      #\u5f00\u542fipvs\u6a21\u5f0f\n---\n#\u6ce8\u610f\uff1a\u5728\u521d\u59cb\u5316\u96c6\u7fa4\u4e4b\u524d\uff0c\u9700\u8981\u786e\u4fdd\u5f53\u524d\u673a\u5668\u53ef\u4ee5\u767b\u5f55\u955c\u50cf\u4ed3\u5e93\uff0c\u5426\u5219\u62c9\u53d6\u955c\u50cf\u5931\u8d25<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e5f\u53ef\u4ee5\u4f7f\u7528\u547d\u4ee4\u5c06\u65e7\u7684kubeadm-config.yaml\u8f6c\u6362\u4e3a\u65b0\u7684\u6587\u4ef6\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm config migrate --old-config kubeadm-config.yaml --new-config new.yaml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u5c06\u4ece\u5916\u7f51\u4e0b\u8f7d\u955c\u50cf\u5bfc\u5165\u5230\u673a\u5668\u4e2d\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dokcer load -i  \u955c\u50cf\u540d\n\n#\u6ce8\u610f\uff1a\u5982\u679c\u4e0a\u9762\u521d\u59cb\u5316\u6587\u4ef6\u4e2d\u914d\u7f6e\u4e86\u955c\u50cf\u4ed3\u5e93\u5730\u5740\uff0c\u5c31\u4e0d\u7528\u518d\u6b21load\u4e86<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001 \u521d\u59cb\u5316\u96c6\u7fa4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm init --config kubeadm-config.yaml\n\n#\u5982\u679c\u96c6\u7fa4\u521d\u59cb\u5316\u5931\u8d25\u9700\u8981\u91cd\u7f6e\u96c6\u7fa4\uff0c\u53ef\u6267\u884c\u4e0b\u9762\u547d\u4ee4\nkubeadm reset -f\niptables -F &amp;&amp; iptables -t nat -F &amp;&amp; iptables -t mangle -F &amp;&amp; iptables -X<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u521d\u59cb\u5316\u6210\u529f\uff0c\u53ef\u4ee5\u770b\u5230\u5185\u5bb9\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Your Kubernetes control-plane has initialized successfully!\n\nTo start using your cluster, you need to run the following as a regular user:\n\n  mkdir -p $HOME\/.kube\n  sudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config\n  sudo chown $(id -u):$(id -g) $HOME\/.kube\/config\n\nAlternatively, if you are the root user, you can run:\n\n  export KUBECONFIG=\/etc\/kubernetes\/admin.conf\n\nYou should now deploy a pod network to the cluster.\nRun \"kubectl apply -f &#91;podnetwork].yaml\" with one of the options listed at:\n  https:&#47;&#47;kubernetes.io\/docs\/concepts\/cluster-administration\/addons\/\n\nYou can now join any number of control-plane nodes by copying certificate authorities\nand service account keys on each node and then running the following as root:\n\n  kubeadm join 192.168.15.253:16443 --token abcdef.0123456789abcdef \\\n    --discovery-token-ca-cert-hash sha256:9363682fcdbfedd6e059d7428d859d5b0ae5388641dcd098b6876d89461b0625 \\\n    --control-plane \n\nThen you can join any number of worker nodes by running the following on each as root:\n\nkubeadm join 192.168.15.253:16443 --token abcdef.0123456789abcdef \\\n    --discovery-token-ca-cert-hash sha256:9363682fcdbfedd6e059d7428d859d5b0ae5388641dcd098b6876d89461b0625 \n\n\u6ce8\u610f\uff1amaster\u8282\u70b9\u52a0\u5165\u547d\u4ee4\u548cNode\u8282\u70b9\u52a0\u5165\u547d\u4ee4\u7684\u552f\u4e00\u533a\u522b\u5c31\u662fmaster\u8282\u70b9\u52a0\u5165\u547d\u4ee4\u591a\u4e86\u4e00\u4e2a\u53c2\u6570 --control-plane\uff0c\u5176\u4f59\u90fd\u662f\u4e00\u6478\u4e00\u6837\u7684\n<\/code><\/pre>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u521d\u59cb\u5316\u5361\u5728\u8fd9\u4e2a\u4f4d\u7f6e\uff1a[kubelet-check] Initial timeout of 40s passed.\uff0c \u5219\u8bf4\u660e\u662f\u521d\u59cb\u5316\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684controlPlaneEndpoint\u4e0d\u901a\uff0c\u53ef\u6392\u67e5\u4e0b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001 \u5728\u5176\u5b83\u4e24\u4e2amaster\u8282\u70b9\u521b\u5efa\u4ee5\u4e0b\u76ee\u5f55 \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/etc\/kubernetes\/pki\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">5\u3001 \u628a\u4e3bmaster\u8282\u70b9\u8bc1\u4e66\u5206\u522b\u590d\u5236\u5230\u5176\u4f59master\u8282\u70b9 \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp -r \/etc\/kubernetes\/pki\/ca.* root@192.168.15.216:\/etc\/kubernetes\/pki\/\nscp -r \/etc\/kubernetes\/pki\/sa.* root@192.168.15.216:\/etc\/kubernetes\/pki\/\nscp -r \/etc\/kubernetes\/pki\/front-proxy-ca.* root@192.168.15.216:\/etc\/kubernetes\/pki\nscp -r \/etc\/kubernetes\/pki\/etcd\/ca.* root@192.168.15.216:\/etc\/kubernetes\/pki\/etcd\nscp -r \/etc\/kubernetes\/admin.conf root@192.168.15.216:\/etc\/kubernetes\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6\u3001 \u5176\u4ed6master\u8282\u70b9\u52a0\u5165\u96c6\u7fa4\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4 \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm join 10.88.15.253:8443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:9363682fcdbfedd6e059d7428d859d5b0ae5388641dcd098b6876d89461b0625 --control-plane<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">7\u3001 \u6240\u6709master\u8282\u70b9\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4(\u7ba1\u7406\u96c6\u7fa4\uff0c\u67e5\u770b\u96c6\u7fa4\u7b49)\uff0cnode\u8282\u70b9\u968f\u610f \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#root\u7528\u6237\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a\necho \"export KUBECONFIG=\/etc\/kubernetes\/admin.conf\" &gt;&gt; ~\/.bash_profile\nsource .bash_profile\n\n#\u975eroot\u7528\u6237\u53ef\u4ee5\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a\nmkdir -p $HOME\/.kube\nsudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config\nsudo chown $(id -u):$(id -g) $HOME\/.kube\/config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">8\u3001 node\u8282\u70b9\u52a0\u5165\u96c6\u7fa4\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4(\u8981\u5b89\u88c5kubeadm\u3001kubelet\u3001kubectl) \uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm join 10.88.15.253:8443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:9363682fcdbfedd6e059d7428d859d5b0ae5388641dcd098b6876d89461b0625<\/code><\/pre>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u52a0\u5165\u65f6\u5361\u5728\u4e86\u8fd9\u4e2a\u547d\u4ee4\u4f4d\u7f6e\uff0c[preflight] Running pre-flight checks\uff0c\u8bf4\u660etoken\u5df2\u7ecf\u8fc7\u671f\uff0c\u6b64\u65f6\u53ef\u4ee5\u6267\u884c\u4e0b\u9762\u547d\u4ee4\u91cd\u65b0\u751f\u6210token\u548chash\u7684\u503c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm token create\nkubeadm token list\nopenssl x509 -pubkey -in \/etc\/kubernetes\/pki\/ca.crt | openssl rsa -pubin -outform der 2&gt;\/dev\/null | openssl dgst -sha256 -hex | sed 's\/^.* \/\/'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u751f\u6210\u540e\u4f7f\u7528\u65b0\u7684token\u548chash\u503c\u518d\u6b21\u6267\u884c\u547d\u4ee4\u52a0\u5165\u96c6\u7fa4\u5373\u53ef<\/p>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u5982\u679c\u52a0\u5165node\u8282\u70b9\uff0c\u51fa\u73b0\u5982\u4e0b\u9519\u8bef\uff1a error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition<br> To see the stack trace of this error execute with &#8211;v=5 or higher\uff0c\u6b64\u65f6\u53ef\u4ee5\u6309\u7167\u5982\u4e0b\u6b65\u9aa4\u6267\u884c\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>swapoff -a\nkubeadm reset\nsystemctl daemon-reload\nsystemctl restart kubelet\niptables -F &amp;&amp; iptables -t nat -F &amp;&amp; iptables -t mangle -F &amp;&amp; iptables -X\n#\u6267\u884c\u5b8c\u6210\u540e\u91cd\u65b0\u52a0\u5165\u96c6\u7fa4\u5373\u53ef<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">9\u3001\u52a0\u5165\u5b8c\u6210\u540e\uff0c\u5728master\u8282\u70b9\u6267\u884c\u547d\u4ee4\u67e5\u770b\u96c6\u7fa4\u8d44\u6e90\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"184\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/7-1.png\" alt=\"\" class=\"wp-image-4490\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/7-1.png 647w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/7-1-300x85.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/7-1-600x171.png 600w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u51fa\uff0cSTATUS\u663e\u793aNotReady\uff0c\u56e0\u4e3a\u8fd8\u6ca1\u6709\u5b89\u88c5\u7f51\u7edc\u7ec4\u4ef6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4kubectl get cs \u67e5\u770b\u96c6\u7fa4\u72b6\u6001\u53ef\u4ee5\u770b\u51fa\u663e\u793a\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"578\" height=\"138\" src=\"https:\/\/www.gycysygg.icu\/wp-content\/uploads\/2021\/12\/2.png\" alt=\"\" class=\"wp-image-5926\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/2.png 578w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/2-300x72.png 300w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u73b0\u8fd9\u79cd\u60c5\u51b5\uff0c\u662f\/etc\/kubernetes\/manifests\/\u4e0b\u7684kube-controller-manager.yaml\u548ckube-scheduler.yaml\u8bbe\u7f6e\u7684\u9ed8\u8ba4\u7aef\u53e3\u662f0\u5bfc\u81f4\u7684\uff0c\u89e3\u51b3\u65b9\u5f0f\u662f\u6ce8\u91ca\u6389\u5bf9\u5e94\u7684port\u5373\u53ef\uff0c\u64cd\u4f5c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"232\" src=\"https:\/\/www.gycysygg.icu\/wp-content\/uploads\/2021\/12\/3.png\" alt=\"\" class=\"wp-image-5927\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/3.png 513w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/3-300x136.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4kubectl get po -n kube-system\u53ef\u4ee5\u770b\u5230coredns\u5904\u4e8epending\u72b6\u6001\uff0c\u56e0\u4e3a\u6ca1\u6709\u5b89\u88c5calico<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"149\" src=\"https:\/\/www.gycysygg.icu\/wp-content\/uploads\/2021\/12\/1.png\" alt=\"\" class=\"wp-image-5931\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/1.png 554w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/12\/1-300x81.png 300w\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">10\u3001\u5b89\u88c5calico\u7f51\u7edc\u63d2\u4ef6\uff1a\u4e0b\u8f7d\u6587\u4ef6\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6ce8\u610f\uff1a\u6b64calico\u662f\u9488\u5bf950\u4e2a\u8282\u70b9\u4e4b\u5185\u7684\ncurl https:\/\/docs.projectcalico.org\/manifests\/calico.yaml -O<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4fee\u6539pod CIDR\u5730\u5740\uff0c\u9ed8\u8ba4\u662f192.168.0.0\/16\uff0c\u9700\u8981\u4fee\u6539\u6210\u6211\u4eec\u81ea\u5df1\u7684\uff0c\u5148\u6253\u5f00\u6ce8\u91ca\uff0c\u4fee\u6539<strong>\u81ea\u5b9a\u4e49\u7684pod\u7f51\u6bb5\u5730\u5740<\/strong>\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"149\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/6-3.png\" alt=\"\" class=\"wp-image-8286\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/6-3.png 554w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/6-3-300x81.png 300w\" sizes=\"auto, (max-width: 554px) 100vw, 554px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cc\u9762\u7684\u955c\u50cf\u5730\u5740\u4fee\u6539\u4e3a\u81ea\u5df1\u7684\u4ed3\u5e93\u5730\u5740\uff0c\u672c\u4f8b\u5b50\u4e2d\u7528\u7684\u963f\u91cc\u4e91\u955c\u50cf\u4ed3\u5e93(\u4e0d\u9700\u8981secret\u8ba4\u8bc1)\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"592\" height=\"161\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/7-2.png\" alt=\"\" class=\"wp-image-8288\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/7-2.png 592w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2022\/05\/7-2-300x82.png 300w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u662f\u4e2a\u4eba\u4ed3\u5e93\u8fd8\u9700\u8981\u5728\u955c\u50cf\u62c9\u53d6\u7b56\u7565\u4f4d\u7f6e\u8981\u8bbe\u7f6e\u4ed3\u5e93\u8ba4\u8bc1\u540d\u79f0(Deployment\u548cDaemonSet\u4f4d\u7f6e\u90fd\u8981\u8bbe\u7f6e)\u548c\u62c9\u53d6\u7b56\u7565(\u4e5f\u53ef\u4ee5\u4e0d\u8bbe\u7f6e\u9ed8\u8ba4\u662fAlways)\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"450\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/48.png\" alt=\"\" class=\"wp-image-5037\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/48.png 821w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/48-300x164.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/48-768x421.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/10\/48-600x329.png 600w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/figure>\n\n\n\n<p class=\"has-black-color has-luminous-vivid-amber-background-color has-text-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u9700\u8981\u521b\u5efa\u4ed3\u5e93\u8ba4\u8bc1\u6587\u4ef6secret.yml\uff0c\u7136\u540e\u914d\u7f6e\u5728calico\u4e2d\uff0c\u8fd9\u6837\u624d\u53ef\u4ee5\u987a\u5229\u5c06\u955c\u50cf\u62c9\u53bb\u4e0b\u6765\uff0c\u53c2\u8003\u4e8c\u8fdb\u5236\u90e8\u7f72\u4e2d\u7684\u914d\u7f6e\u8bf4\u660e<strong><a href=\"https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.ywdevops.cn\/index.php\/2021\/06\/29\/k8s-2\/<\/a><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u540e\u6267\u884c\u547d\u4ee4kubectl apply -f calico.yaml\u5373\u53ef\uff0c\u6267\u884c\u5b8c\u6210\u540e\u53ef\u4ee5\u770b\u5230<strong>coredns<\/strong>\u4e5f\u6062\u590d\u6b63\u5e38\u4e86\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"249\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/11-1.png\" alt=\"\" class=\"wp-image-4516\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/11-1.png 609w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/11-1-300x123.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/11-1-600x245.png 600w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5404\u4e2a\u8282\u70b9\u72b6\u6001\u90fd\u53d8\u6210\u4e86Ready\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"212\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/12-1.png\" alt=\"\" class=\"wp-image-4518\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/12-1.png 633w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/12-1-300x100.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/12-1-600x201.png 600w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u51fa\u73b0\u5982\u4e0b\u9519\u8befcalico\/node is not ready: BIRD is not ready: BGP not established\uff0c\u8868\u793acalico\u6ca1\u6709 \u53d1\u73b0\u5b9e\u9645\u771f\u6b63\u7684\u7f51\u5361 \uff0c\u53ef\u7528\u5982\u4e0b\u65b9\u5f0f\u89e3\u51b3\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"942\" height=\"553\" src=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/09\/56.png\" alt=\"\" class=\"wp-image-4892\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/09\/56.png 942w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/09\/56-300x176.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/09\/56-768x451.png 768w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/09\/56-600x352.png 600w\" sizes=\"auto, (max-width: 942px) 100vw, 942px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679ccalico\u7684\u63a7\u5236\u5668pod calico-kube-controllers\u63d0\u793a\u9519\u8bef\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container &#8220;70a2175a467ba631594c6f661ff612e15eed9d5f31332061ef7d2b399d5cacdb&#8221; network for pod &#8220;calico-kube-controllers-dbc86d6cc-7cbs9&#8221;: networkPlugin cni failed to set up pod &#8220;calico-kube-controllers-dbc86d6cc-7cbs9_kube-system&#8221; network: error getting ClusterInformation: connection is unauthorized: Unauthorized, failed to clean up sandbox container &#8220;70a2175a467ba631594c6f661ff612e15eed9d5f31332061ef7d2b399d5cacdb&#8221; network for pod &#8220;calico-kube-controllers-dbc86d6cc-7cbs9&#8221;: networkPlugin cni failed to teardown pod &#8220;calico-kube-controllers-dbc86d6cc-7cbs9_kube-system&#8221; network: error getting ClusterInformation: connection is unauthorized: Unauthorized<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>kubelet delete -f calico.yaml  #\u5378\u8f7dcalico<\/li>\n\n\n\n<li>rm -rf \/etc\/cni\/net.d\/*            #\u5220\u9664\u5168\u90e8\u8282\u70b9\u7684calico\u6b8b\u7559\u914d\u7f6e\u6587\u4ef6<\/li>\n\n\n\n<li>modprobe -r ipip                    #\u5220\u9664tun10\u7f51\u5361<\/li>\n\n\n\n<li>reboot \u6216\u8005systemctl restart kubelet<\/li>\n\n\n\n<li>kubectl apply -f calico.yaml   #\u6700\u540e\u5728\u91cd\u65b0\u90e8\u7f72calico<\/li>\n<\/ul>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\uff1ak8s 1.20.8\u7248\u672c\u53ef\u4f7f\u7528calico\u76843.19.1 \uff0ck8s 1.23.5\u7248\u672c\u53ef\u7528calico\u76843.25.0\u7248\u672c<\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong>metrics\u90e8\u7f72\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u65b0\u7248\u7684k8s\u4e2d\uff0c\u8d44\u6e90\u91c7\u96c6\u5747\u4f7f\u7528Metirc-server\uff0c\u53ef\u4ee5\u901a\u8fc7Metirc\u91c7\u96c6\u8282\u70b9\u548cPod\u7684\u5185\u5b58\u3001\u78c1\u76d8\u3001cpu\u548c\u7f51\u7edc\u4f7f\u7528\u7387<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9996\u5148\u5c06mastere1\u8282\u70b9\u7684front-proxy-ca.crt\u62f7\u8d1d\u5230<strong>\u6240\u6709Node\u8282\u70b9<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp \/etc\/kubernetes\/pki\/front-proxy-ca.crt root192.168.15.218:\/etc\/kubernetes\/pki<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">github.com\u4e0b\u8f7dmetrics\u7684yaml\u6587\u4ef6\uff0c\u5730\u5740\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;github.com\/kubernetes-sigs\/metrics-server\/releases\/tag\/v0.4.4\n#\u540d\u79f0\u4e3a\uff1acomponents.yaml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4fee\u6539\u6587\u4ef6components.yaml\uff0c\u5185\u90e8\u7684\u955c\u50cf\u5730\u5740\u6539\u4e3a\u81ea\u5df1\u7684\u4ed3\u5e93\u5730\u5740(\u9700\u8981\u63d0\u524d\u628a\u955c\u50cf\u4e0b\u8f7d\u56de\u6765\u4f20\u5165\u4ed3\u5e93)\uff0c\u7136\u540e\u52a0\u5165\u6307\u5b9a\u8bc1\u4e66\u7684\u53c2\u6570\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"170\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/15-1.png\" alt=\"\" class=\"wp-image-4528\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/15-1.png 722w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/15-1-300x71.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/15-1-600x141.png 600w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\uff1a\u4e0d\u52a0\u8bc1\u4e66\u53c2\u6570\u53ef\u80fd\u83b7\u53d6\u4e0d\u5230\u5ea6\u91cf\u6307\u6807<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4kubectl create -f components.yaml\u521b\u5efaPod\u5373\u53ef\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"175\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/16-1.png\" alt=\"\" class=\"wp-image-4529\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/16-1.png 600w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/16-1-300x88.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u955c\u50cf\u62c9\u53d6\u4e0d\u6210\u529f\uff0c\u90a3\u5c31\u624b\u52a8\u5c06\u955c\u50cf\u62c9\u53d6\u5230\u6bcf\u4e2a\u8282\u70b9\u4e0a\u5373\u53ef\uff0c\u6ce8\u610f\u770b\u955c\u50cf\u62c9\u53d6\u7b56\u7565imagePullPolicy\uff0c\u5982\u679c\u662fIfNotPresent\uff0c\u90a3\u4e48\u5982\u679c\u4ece\u4ed3\u5e93\u62c9\u53d6\u4e0d\u6210\u529f\u5c31\u4f1a\u5bfb\u627e\u672c\u5730\u955c\u50cf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u6210\u529f\u540e\uff0c\u6267\u884c\u547d\u4ee4kubectl top  node \u53ef\u4ee5\u67e5\u770b\u6240\u6709\u8282\u70b9\u7684\u8d44\u6e90\u60c5\u51b5\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"187\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/20-1.png\" alt=\"\" class=\"wp-image-4536\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/20-1.png 584w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/20-1-300x96.png 300w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4kubectl top po -A \u53ef\u4ee5\u67e5\u770b\u6240\u6709pod\u7684\u8d44\u6e90\u60c5\u51b5\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"668\" height=\"210\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/21.png\" alt=\"\" class=\"wp-image-4537\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/21.png 668w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/21-300x94.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/21-600x189.png 600w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\uff1a-A \u8868\u793a\u6240\u6709\u547d\u540d\u7a7a\u95f4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u81f3\u6b64\uff1ak8s\u96c6\u7fa4\u5df2\u7ecf\u90e8\u7f72\u5b8c\u6210\uff0c\u4e0b\u9762\u7684dashboard\u53ef\u6839\u636e\u9700\u8981\u8fdb\u884c\u90e8\u7f72<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong>dashboard\u90e8\u7f72 <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06\u6587\u4ef6\u4e0b\u8f7d\u56de\u6765\uff0c\u4e00\u5171\u4e24\u4e2a\u6587\u4ef6\uff0cdashboard-user.yaml\u548cdashboard.yaml\uff0c\u4fee\u6539dashboard.yaml\u4e2d\u7684\u955c\u50cf\u5730\u5740\u4e3a\u672c\u5730\u5730\u5740\uff0c\u4e00\u5171\u4e24\u4e2a\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"185\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/17-1.png\" alt=\"\" class=\"wp-image-4532\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/17-1.png 570w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/17-1-300x97.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"595\" height=\"183\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/18-1.png\" alt=\"\" class=\"wp-image-4533\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/18-1.png 595w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/18-1-300x92.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4\u521b\u5efapod\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl create -f dashborad-user.yaml dashboard.yaml<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"126\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/19.png\" alt=\"\" class=\"wp-image-4534\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/19.png 631w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/19-300x60.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/19-600x120.png 600w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u5982\u679c\u955c\u50cf\u62c9\u53d6\u4e0d\u6210\u529f\uff0c\u53ef\u68c0\u67e5\u4e0b\u62c9\u53d6\u7b56\u7565\u662f\u5426\u4e3aIfNotPresent\uff0c\u5efa\u8bae\u91c7\u7528\u6b64\u7b56\u7565<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u9700\u8981\u4fee\u6539\u8c37\u6b4c\u6d4f\u89c8\u5668\u7684\u914d\u7f6e\uff0c\u7136\u540e\u624d\u53ef\u4ee5\u8bbf\u95ee\u81ea\u7b7e\u540d\u7684https\u9875\u9762\uff0c\u5728\u542f\u52a8\u6587\u4ef6\u540e\u9762\u6dfb\u52a0\u53c2\u6570&#8211;test-type &#8211;ignore-certificate-errors\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"587\" height=\"332\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/22-1.png\" alt=\"\" class=\"wp-image-4539\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/22-1.png 587w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/22-1-300x170.png 300w\" sizes=\"auto, (max-width: 587px) 100vw, 587px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7136\u540e\u66f4\u6539kubernetes-dashboard\u7684svc\u4e3aNodePort\uff0c\u5426\u5219\u8bbf\u95ee\u4e0d\u4e86\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u9996\u5148\u67e5\u770b\u4e0bsvc\nkubectl get svc -n kubernetes-dashboard\n#\u7f16\u8f91svc\nkubectl edit svc kubernetes-dashboard -n kubernetes-dashboard\n#\u7f16\u8f91\u540e\uff0c\u4fee\u6539\u6700\u4e0b\u65b9\u7684type:ClusterIP \u4e3atype:NodePort<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"213\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/23-1.png\" alt=\"\" class=\"wp-image-4543\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/23-1.png 560w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/23-1-300x114.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u518d\u6b21\u67e5\u770bsvc\u53ef\u4ee5\u770b\u5230\u5df2\u7ecf\u53d8\u6210NodePort\u7c7b\u578b\uff0c\u6620\u5c04\u5230\u5bbf\u4e3b\u7684\u7aef\u53e3\u4e3a30500\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"129\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/24-1.png\" alt=\"\" class=\"wp-image-4545\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/24-1.png 606w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/24-1-300x64.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/24-1-600x128.png 600w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b64\u65f6\u901a\u8fc7vip\u5730\u5740\u52a0\u7aef\u53e3\u5373\u53ef\u8bbf\u95eedashboard\uff0c<strong>https:\/\/192.168.15.253:30500<\/strong>\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"333\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/25-1.png\" alt=\"\" class=\"wp-image-4547\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/25-1.png 583w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/25-1-300x171.png 300w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background wp-block-paragraph\">\u6ce8\u610f\uff1a\u901a\u8fc7https\u6765\u8bbf\u95ee<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\u767b\u5f55token\uff0c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"392\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/28.png\" alt=\"\" class=\"wp-image-4552\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/28.png 621w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/28-300x189.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/28-600x379.png 600w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c06\u6b64token\u8f93\u5165\u540e\uff0c\u70b9\u51fb\u767b\u5f55\u5373\u53ef\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"333\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/27-1.png\" alt=\"\" class=\"wp-image-4550\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/27-1.png 583w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/27-1-300x171.png 300w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size wp-block-paragraph\"><strong>\u4fee\u6539proxy\u6a21\u5f0f\u4e3aipvs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9996\u5148\u67e5\u770b\u4e0b\u9ed8\u8ba4\u7684\u6a21\u5f0f\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">curl 127.0.0.1:10249\/proxyMode<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"107\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/29.png\" alt=\"\" class=\"wp-image-4554\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/29.png 574w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/29-300x56.png 300w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u5165\u547d\u4ee4\u7f16\u8f91kube-proxy\uff0c\u4fee\u6539\u6a21\u5f0f\u4e3aipvs\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u67e5\u770bcomfigmap\u60c5\u51b5\nkubectl get cm -n kube-system\n#\u7f16\u8f91kube-proxy\uff0c\u4fee\u6539\u6a21\u5f0f\nkubectl edit cm kube-proxy -n kube-system<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"207\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/30.png\" alt=\"\" class=\"wp-image-4556\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/30.png 553w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/30-300x112.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u547d\u4ee4\u6eda\u52a8\u66f4\u65b0\uff0c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl patch daemonset kube-proxy -p \"{\\\"spec\\\":{\\\"template\\\":{\\\"metadata\\\":{\\\"annotations\\\":{\\\"date\\\":\\\"`date +'%s'`\\\"}}}}}\" -n kube-system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u518d\u6b21\u67e5\u770b\u6a21\u5f0f\uff0c\u5df2\u7ecf\u53d8\u6210ipvs\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"121\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/31.png\" alt=\"\" class=\"wp-image-4558\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/31.png 560w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/31-300x65.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e03\u3001\u96c6\u7fa4\u53ef\u7528\u6027\u9a8c\u8bc1\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u9996\u5148\u901a\u8fc7\u547d\u4ee4kubectl get po &#8211;all-namespace(\u6216\u8005-A\u53c2\u6570)\u67e5\u770b\u6240\u6709\u5bb9\u5668\u90fd\u5df2\u542f\u52a8\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"743\" height=\"473\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/13-1.png\" alt=\"\" class=\"wp-image-4521\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/13-1.png 743w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/13-1-300x191.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/13-1-600x382.png 600w\" sizes=\"auto, (max-width: 743px) 100vw, 743px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u9a8c\u8bc1\u4e0b\u7f51\u7edc\u60c5\u51b5\uff0c\u9996\u5148\u67e5\u770bk8s\u7684service ip\u60c5\u51b5\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get svc\n#k8s\u7684IP\u5730\u5740\u4e00\u822c\u4e3acluster ip\u7684\u7b2c\u4e00\u4e2aIP\u5730\u5740<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"81\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/32.png\" alt=\"\" class=\"wp-image-4561\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/32.png 553w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/32-300x44.png 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u9a8c\u8bc1\u6bcf\u53f0\u673a\u5668\u5230\u6b64IP\u7684443\u7aef\u53e3\u662f\u5426\u901a\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"133\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/33.png\" alt=\"\" class=\"wp-image-4562\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/33.png 555w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/33-300x72.png 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u8be2coredns\u7684serviceip \u5730\u5740\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get svc -n kube-system\n#coredns\u7684IP\u5730\u5740\u4e00\u822c\u4e3aclusterip \u7684\u7b2c10\u4e2aIP\u5730\u5740<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"557\" height=\"119\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/34.png\" alt=\"\" class=\"wp-image-4564\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/34.png 557w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/34-300x64.png 300w\" sizes=\"auto, (max-width: 557px) 100vw, 557px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u9a8c\u8bc1\u6bcf\u53f0\u673a\u5668\u5230\u6b64IP\u768453\u7aef\u53e3\u662f\u5426\u901a\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"144\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/35.png\" alt=\"\" class=\"wp-image-4566\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/35.png 548w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/35-300x79.png 300w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u9a8c\u8bc1\u5176\u4f59\u673a\u5668\u5230\u67d0\u53f0\u673a\u5668\u7684pod \u662f\u5426\u901a(\u8de8\u670d\u52a1\u5668\u8bbf\u95ee)\uff0c\u9996\u5148\u67e5\u770bpod\u5730\u5740\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">kubctl get po -A -o wide      \/\/\u67e5\u8be2\u8be6\u7ec6\u4fe1\u606f<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"156\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/36.png\" alt=\"\" class=\"wp-image-4567\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/36.png 552w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/36-300x85.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u51fa\uff0c\u5728master2\u673a\u5668\u4e0a\u6709\u4e00\u4e2aPod \uff0c\u5730\u5740\u4e3a172.169.115.66\uff0c\u7136\u540e\u5728\u5176\u4ed6\u6240\u6709\u8282\u70b9\u4e0aping\u6b64IP\u5730\u5740\uff0c\u770b\u662f\u5426\u901a\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"547\" height=\"229\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/37.png\" alt=\"\" class=\"wp-image-4568\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/37.png 547w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2021\/07\/37-300x126.png 300w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ecf\u8fc7\u6d4b\u8bd5\uff0c\u6240\u6709\u8282\u70b9\u90fd\u901a\uff0c\u8bf4\u660e\u8de8\u670d\u52a1\u5668\u8bbf\u95ee\u6ca1\u95ee\u9898<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u63a5\u4e0b\u6765\u9a8c\u8bc1pod\u548cpod\u4e4b\u95f4\u662f\u5426\u901a\uff0c\u9009\u62e9\u5176\u4ed6\u4efb\u610f\u4e00\u53f0\u673a\u5668\uff0c\u8fdb\u5165pod\u4e2d\uff0c\u7136\u540eping master\u8282\u70b9\u7684172.169.115.66\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7\u5982\u4e0b\u7ec4\u4ef6\u53ef\u5b9e\u73b0\u56fa\u5b9apod\u7684ip\/mac\u5730\u5740\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;github.com\/google-fabric<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>kubeadm\u662f\u5b98\u65b9\u793e\u533a\u63a8\u51fa\u7684\u4e00\u4e2a\u7528\u4e8e\u5feb\u901f\u90e8\u7f72kubernetes\u96c6\u7fa4\u7684\u5de5\u5177\u3002\u8fd9\u4e2a\u5de5\u5177\u80fd\u901a\u8fc7\u4e24\u6761\u6307\u4ee4\u5feb\u901f\u5b8c\u6210\u4e00 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":4492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[93,29],"tags":[],"class_list":["post-4467","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kubernetes","category-yunwei"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/4467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/comments?post=4467"}],"version-history":[{"count":111,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/4467\/revisions"}],"predecessor-version":[{"id":20314,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/4467\/revisions\/20314"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media\/4492"}],"wp:attachment":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media?parent=4467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/categories?post=4467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/tags?post=4467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}