{"id":906,"date":"2025-02-21T13:02:24","date_gmt":"2025-02-21T05:02:24","guid":{"rendered":"http:\/\/192.168.5.24\/?p=906"},"modified":"2025-02-26T12:18:49","modified_gmt":"2025-02-26T04:18:49","slug":"%e6%90%ad%e5%bb%bakubernetes%e5%ae%b9%e5%99%a8%e9%9b%86%e7%be%a4%e7%ae%a1%e7%90%86%e7%b3%bb%e7%bb%9f","status":"publish","type":"post","link":"https:\/\/bigvip.dpdns.org\/?p=906","title":{"rendered":"\u642d\u5efaKubernetes\u5bb9\u5668\u96c6\u7fa4\u7ba1\u7406\u7cfb\u7edf"},"content":{"rendered":"\n<p><strong>\u8282\u70b9\u89d2\u8272 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IP\u5730\u5740&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;           &nbsp;CPU           &nbsp;&nbsp;&nbsp;\u5185\u5b58 &nbsp;         &nbsp;&nbsp;\u8bf4\u660e<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>master&nbsp; &nbsp;&nbsp;192.168.168.109 &nbsp;&nbsp;&nbsp;4 \u6838 &nbsp;&nbsp;&nbsp;2GB &nbsp;&nbsp;&nbsp;\u8fd9\u91cc\u548cetcd\u5171\u7528\u4e00\u53f0\u673a\u5668\netcd &nbsp;&nbsp;&nbsp;&nbsp;192.168.168.109 &nbsp;&nbsp;  4 \u6838 &nbsp;&nbsp;&nbsp;2GB\nminion1&nbsp;&nbsp;&nbsp;192.168.168.113 &nbsp;&nbsp;&nbsp;4 \u6838 &nbsp;&nbsp;&nbsp;2GB\nminion2&nbsp;&nbsp;&nbsp;192.168.168.114 &nbsp;&nbsp;&nbsp;4 \u6838 &nbsp;&nbsp;&nbsp;2GB<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00\u3001<strong>\u51c6\u5907\u5de5\u4f5c\uff08\u6240\u6709\u4e3b\u673a\uff09\uff1a<\/strong><\/h3>\n\n\n\n<p>1\u3001\u60c5\u51b5\u9632\u706b\u5899\u89c4\u5219\u3001\u5173\u95ed\u9632\u706b\u5899\u3001\u5173\u95edselinux\u3001\u65f6\u95f4\u540c\u6b65<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>iptables -F &amp;&amp; iptables -X &amp;&amp; iptables -F -t nat &amp;&amp; iptables -X -t nat &amp;&amp; iptables -P FORWARD ACCEPT<\/code><\/pre>\n\n\n\n<p>2\u3001\u914d\u7f6ehosts\u57df\u540d\u89e3\u6790\u6587\u4ef6\uff0c\u5e76\u628a\u4e3b\u673a\u540d\u79f0\u6539\u4e3a\u81ea\u5df1\u7684hosts\u91cc\u9762\u7684\u540d\u79f0\uff1a# cat \/etc\/hosts<br>127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4<br>::1 localhost localhost.localdomain localhost6 localhost6.localdomain6<br>192.168.168.109 master<br>192.168.168.113 minion1<br>192.168.168.114 minion2<\/p>\n\n\n\n<p>3\u3001\u5f00\u542f\u8def\u7531\u8f6c\u53d1\u529f\u80fd<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo 1 &gt; \/proc\/sys\/net\/ipv4\/ip_forward\necho \"ipv4.ip_forward = 1\" &gt;&gt;\/etc\/sysctl.d\/k8s.conf<\/code><\/pre>\n\n\n\n<p>4\u3001\u5173\u95edswap\u5206\u533a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>swapoff -a\nsed -i \/swap\/'s\/^\/#\/'  \/etc\/fstab<\/code><\/pre>\n\n\n\n<p>5\u3001\u5b89\u88c5k8s\u7ec4\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install kubernetes flannel -y<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c\u3001master\u8282\u70b9\u7684\u5b89\u88c5\u914d\u7f6e<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>1\u3001\u5b89\u88c5\u914d\u7f6eetcd<\/strong>\nyum -y install etcd\n<strong>2\u3001vi \/etc\/etcd\/etcd.conf <\/strong>  \n\u6539\uff1aETCD_NAME=default\n\u4e3a\uff1aETCD_NAME=\"etcd\"\n\n\u6539\uff1aETCD_LISTEN_CLIENT_URLS=\"http:\/\/localhost:2379\"\n\u4e3a\uff1aETCD_LISTEN_CLIENT_URLS=\"http:\/\/localhost:2379,http:\/\/192.168.168.109:2379\"\n\n\u6539\uff1aETCD_ADVERTISE_CLIENT_URLS=\"http:\/\/localhost:2379\"\n\u4e3a\uff1aETCD_ADVERTISE_CLIENT_URLS=\"http:\/\/192.168.168.109:2379\"\n<strong>3\u3001\u8bbe\u7f6e\u670d\u52a1\u5f00\u673a\u542f\u52a8<\/strong>\nsystemctl enable --now etcd\n<strong>4\u3001\u68c0\u67e5\u670d\u52a1\u8fd0\u884c\u72b6\u6001<\/strong>\nsystemctl status etcd\nnetstat -anlpt | grep 2379\n<strong>5\u3001\u4fee\u6539 kubernetes \u914d\u7f6e\u6587\u4ef6<\/strong>\nvi \/etc\/kubernetes\/config\n\u6539\uff1aKUBE_MASTER=\"--master=http:\/\/127.0.0.1:8080\"\n\u4e3a\uff1aKUBE_MASTER =\"--master=http:\/\/192.168.168.109:8080\"\n<strong>6\u3001\u4fee\u6539apiserver\u914d\u7f6e\u6587\u4ef6<\/strong><span lang=\"EN-US\"><\/span>\nvi \/etc\/kubernetes\/apiserver\n\u6539\uff1aKUBE_API_ADDRESS=\"--insecure-bind-address=127.0.0.1\"\n\u4e3a\uff1aKUBE_API_ADDRESS=\"--insecure-bind-address=0.0.0.0\"\n\n\u6539\uff1aKUBE_ETCD_SERVERS=\"--etcd-servers=http:\/\/127.0.0.1:2379\"\n\u4e3a\uff1aKUBE_ETCD_SERVERS=\"--etcd-servers=http:\/\/192.168.168.109:2379\"\n\n\u6539\uff1aKUBE_ADMISSION_CONTROL=\"--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota\"\n\u4e3a\uff1aKUBE_ADMISSION_CONTROL=\"--admission-control=AlwaysAdmit\" \n<strong>7\u3001\u914d\u7f6e kube-scheduler \u914d\u7f6e\u6587\u4ef6<\/strong>\nvi \/etc\/kubernetes\/scheduler\n\u6539\uff1aKUBE_SCHEDULER_ARGS=\"\"\n\u4e3a\uff1aKUBE_SCHEDULER_ARGS=\"0.0.0.0\" #\u6539scheduler\u76d1\u542c\u5230\u7684\u5730\u5740\u4e3a\uff1a0.0.0.0\u3002\n\n\n\n<strong>8\u3001\u628aflannel\u7684\u7f51\u7edc\u4fe1\u606f\u5b58\u50a8\u5728etcd\u6570\u636e\u5e93\u4e2d<\/strong><span lang=\"EN-US\"><\/span>\netcdctl mkdir \/k8s\/network #\u521b\u5efa\u4e00\u4e2a\u76ee\u5f55\/ k8s\/network\u7528\u4e8e\u5b58\u50a8flannel\u7f51\u7edc\u4fe1\u606f\u7684\u76ee\u5f55\u3002<span lang=\"EN-US\"><\/span>\netcdctl set \/k8s\/network\/config '{\"Network\": \"10.255.0.0\/16\"}'\netcdctl get \/k8s\/network\/config #\u67e5\u770b\nvi \/etc\/sysconfig\/flanneld\n\n\u6539\uff1aFLANNEL_ETCD_ENDPOINTS=\"http:\/\/127.0.0.1:2379\"\n\u4e3a\uff1aFLANNEL_ETCD_ENDPOINTS=\"http:\/\/192.168.168.109:2379\"\n\n\u6539\uff1aFLANNEL_ETCD_PREFIX=\"\/atomic.io\/network\"\n\u4e3a\uff1aFLANNEL_ETCD_PREFIX=\"\/k8s\/network\"&nbsp;\n\n\u6539\uff1a#FLANNEL_OPTIONS=\"\"\n\u4e3a\uff1aFLANNEL_OPTIONS=\"--iface=ens32\" #\u6307\u5b9a\u901a\u4fe1\u7684\u5b9e\u9645\u7269\u7406\u7f51\u5361\u540d\u79f0<span lang=\"EN-US\"><\/span>\n\nsystemctl enable --now flanneld\nsystemctl status flanneld\n<strong>9\u3001\u67e5\u770bmaster\u8282\u70b9\u7684kubenetes\u670d\u52a1\u72b6\u6001<\/strong>\nsystemctl enable --now kube-apiserver kube-controller-manager kube-scheduler \nsystemctl status kube-apiserver kube-controller-manager kube-scheduler \n\n&#91;root@master ~]# kubectl get cs\nNAME                 STATUS    MESSAGE             ERROR\nscheduler            Healthy   ok\netcd-0               Healthy   {\"health\":\"true\"}\ncontroller-manager   Healthy   ok\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e09\u3001minion\u8282\u70b9\u7684\u914d\u7f6e<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>1\u3001\u914d\u7f6e\u4e00\u4e0b flanneld \u670d\u52a1\uff1a<\/strong>\nvi \/etc\/sysconfig\/flanneld\n\u6539\uff1aFLANNEL_ETCD_ENDPOINTS=\"http:\/\/127.0.0.1:2379\"\n\u4e3a\uff1aFLANNEL_ETCD_ENDPOINTS=\"http:\/\/192.168.168.109:2379\"\n\n\u6539\uff1aFLANNEL_ETCD_PREFIX=\"\/atomic.io\/network\"\n\u4e3a\uff1aFLANNEL_ETCD_PREFIX=\"\/k8s\/network\"\n\n\u6539\uff1a#FLANNEL_OPTIONS=\"\"\n\u4e3a\uff1aFLANNEL_OPTIONS=\"--iface=ens33\" #\u6307\u5b9a  \u901a\u4fe1\u7684\u7269\u7406\u7f51\u5361\n\n<strong>2\u3001\u914d\u7f6ek8s<\/strong>\nvi \/etc\/kubernetes\/config\n\u6539\uff1aKUBE_MASTER=\"--master=http:\/\/127.0.0.1:8080\"\n\u4e3a\uff1aKUBE_MASTER =\"--master=http:\/\/192.168.168.109:8080\"\n\nvi \/etc\/kubernetes\/kubelet\n\n\u6539\uff1aKUBELET_ADDRESS=\"--address=127.0.0.1\"\n\u4e3a\uff1aKUBELET_ADDRESS=\"--address=0.0.0.0\"\n\u6539\uff1aKUBELET_HOSTNAME=\"--hostname-override=127.0.0.1\"\n\u4e3a\uff1aKUBELET_HOSTNAME=\"--hostname-override=minion1\" # minion \u7684\u4e3b\u673a\u540d\uff0c\u8bbe\u7f6e\u6210\u548c\u672c\u4e3b\u673a\u673a\u540d\u4e00\u6837\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002\n\n\u6539\uff1aKUBELET_API_SERVER=\"--api-servers=http:\/\/127.0.0.1:8080\"\n\u4e3a\uff1aKUBELET_API_SERVER=\"--api-servers=http:\/\/192.168.168.109:8080\" \n\nKUBELET_POD_INFRA_CONTAINER=\"--pod-infra-container-image=192.168.5.24:5000\/pod-infrastructure:latest\"\n<strong>3\u3001\u8bbe\u7f6e\u4e3a\u5f00\u673a\u81ea\u52a8\u5f00\u542f<\/strong>\nsystemctl enable --now flanneld kube-proxy kubelet docker<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u56db\u3001\u9a8c\u8bc1k8s\u670d\u52a1<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@master ~]# kubectl get cs\nNAME                 STATUS    MESSAGE             ERROR\ncontroller-manager   Healthy   ok\nscheduler            Healthy   ok\netcd-0               Healthy   {\"health\":\"true\"}\n\n&#91;root@master ~]# kubectl get nodes\nNAME      STATUS    AGE\nminion2   Ready     35s<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8282\u70b9\u89d2\u8272 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#038;n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"footnotes":""},"categories":[20,36],"tags":[27,112],"class_list":["post-906","post","type-post","status-publish","format-aside","hentry","category-linux","category-36","tag-docker","tag-k8s","post_format-post-format-aside"],"_links":{"self":[{"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/posts\/906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=906"}],"version-history":[{"count":32,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/posts\/906\/revisions"}],"predecessor-version":[{"id":962,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=\/wp\/v2\/posts\/906\/revisions\/962"}],"wp:attachment":[{"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bigvip.dpdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}