{"id":227,"date":"2025-07-14T17:44:47","date_gmt":"2025-07-14T09:44:47","guid":{"rendered":"https:\/\/lib.kimsor.top\/?p=227"},"modified":"2025-10-31T15:27:54","modified_gmt":"2025-10-31T07:27:54","slug":"k8s%e9%83%a8%e7%bd%b2","status":"publish","type":"post","link":"https:\/\/lib.kimsor.top\/?p=227","title":{"rendered":"K8S\u90e8\u7f72"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4e00\u3001\u914d\u7f6e\u7f51\u7edc<\/strong><\/h3>\n\n\n\n<p><strong>1\u3001\u81f3\u5c11\u51c6\u5907\u4e24\u53f0\u670d\u52a1\u5668<\/strong><\/p>\n\n\n\n<p>\u5c06\u4e24\u53f0\u8bbe\u5907\u8bbe\u7f6e\u6210\u9759\u6001ip\uff0c\u914d\u7f6e\u7f51\u5173\u548cDNS<\/p>\n\n\n\n<p>\u6211\u8fd9\u91cc\u6709\u4e24\u53f0\u673a\u5668<\/p>\n\n\n\n<p>\u4e00\u53f0master 192.168.138.136<\/p>\n\n\n\n<p>\u4e00\u53f0node 192.168.138.137<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2\u3001\u4fee\u6539master\u4e3b\u673a\u540d\u548cnode\u4e3b\u673a\u540d<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>master\u4e3b\u673a\uff1a\nhostnamectl set-hostname master\n\nnode\u4e3b\u673a:\nhostnamectl set-hostname node01<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3\u3001\u7f16\u8f91\/etc\/hosts\u6587\u4ef6\uff0c\u6dfb\u52a0\u4e0b\u9762\u5185\u5bb9<\/strong><\/p>\n\n\n\n<p>192.168.138.136 master<br>192.168.138.137 node01<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4e8c\u3001\u51c6\u5907\u5de5\u4f5c<\/strong><\/h3>\n\n\n\n<p><strong>1\u3001\u65f6\u95f4\u540c\u6b65<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl start chronyd\nsystemctl enable chronyd\ndate<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2\u3001\u7981\u7528\u9632\u706b\u5899\u548ciptables<\/strong><\/p>\n\n\n\n<p>systemctl stop firewalld<br>systemctl disable firewalld<br><br>systemctl stop iptables<br>systemctl disable iptables<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3\u3001\u7981\u7528selinux<\/strong><\/p>\n\n\n\n<p>\u7f16\u8f91\/etc\/selinux\/config\u6587\u4ef6\uff0c\u4fee\u6539SELINUX\u7684\u503c\u4e3adisabled<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim \/etc\/selinux\/config<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u540e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"538\" height=\"178\" src=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-10.png\" alt=\"\" class=\"wp-image-228\" srcset=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-10.png 538w, https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-10-300x99.png 300w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>4\u3001\u7981\u7528swap\u5206\u533a<\/strong><\/p>\n\n\n\n<p>\u7f16\u8f91\u5206\u533a\u914d\u7f6e\u6587\u4ef6\/etc\/fstab\uff0c\u6ce8\u91ca\u8c03swap\u4e00\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim \/etc\/fstab<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u540e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"188\" src=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-11.png\" alt=\"\" class=\"wp-image-229\" srcset=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-11.png 703w, https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-11-300x80.png 300w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>5\u3001\u4fee\u6539linux\u5185\u6838\u53c2\u6570\uff0c\u6dfb\u52a0\u7f51\u6865\u8fc7\u6ee4\u548c\u5730\u5740\u8f6c\u53d1\u529f\u80fd<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF&gt; \/etc\/sysctl.d\/kubernetes.conf \nnet.bridge.bridge-nf-call-iptables=1\nnet.bridge.bridge-nf-call-ip6tables=1\nnet.ipv4.ip_forward=1\nEOF\n\n\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e\uff1a\n\nsysctl -p\n\n\u6dfb\u52a0\u7f51\u6865\u8fc7\u6ee4\u6a21\u5757\uff1a\n\nmodprobe br_netfilter\n\n\u67e5\u770b\u662f\u5426\u52a0\u8f7d\u6210\u529f\uff1a\n\nlsmod | grep br_netfilter<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>6\u3001\u914d\u7f6eyum<\/strong><\/p>\n\n\n\n<p>\u5907\u4efd\u539f\u59cb\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv \/etc\/yum.repos.d\/CentOS-Base.repo  \/etc\/yum.repos.d\/CentOS-Base.backup<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e0b\u8f7d<a href=\"http:\/\/mirrors.aliyun.com\/repo\/Centos-7.repo\">yum<\/a>\u7684repo\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -o \/etc\/yum.repos.d\/CentOS-Base.repo http:\/\/mirrors.aliyun.com\/repo\/Centos-7.repo<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u6e05\u9664\u7f13\u5b58\u91cd\u65b0\u52a0\u8f7d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum clean all &amp;&amp; yum makecache<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>7\u3001\u914d\u7f6eipvs\uff0c\u5b89\u88c5ipset\u548cipvsadm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install ipset ipvsadm -y<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u5199\u5165\u811a\u672c\u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF&gt; \/etc\/sysconfig\/modules\/ipvs.modules \n#!\/bin\/bash\nmodprobe -- ip_vs\nmodprobe -- ip_vs_rr\nmodprobe -- ip_vs_wrr\nmodprobe -- ip_vs_sh\nmodprobe -- nf_conntrack_ipv4\nEOF<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e3a\u811a\u672c\u6dfb\u52a0\u6743\u9650\uff0c\u5e76\u67e5\u770b\u662f\u5426\u52a0\u8f7d\u6210\u529f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 755 \/etc\/sysconfig\/modules\/ipvs.modules &amp;&amp; bash \/etc\/sysconfig\/modules\/ipvs.modules &amp;&amp; lsmod | grep -e ip_vs -e nf_conntrack_ipv4\n\n<\/code><\/pre>\n\n\n\n<p>\u5b8c\u6210\u4e0a\u9762\u51e0\u4e2a\u6b65\u9aa4\u4e4b\u540e\u91cd\u542f\u670d\u52a1\u5668<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4e09\u3001\u5b89\u88c5Docker<\/strong><\/h3>\n\n\n\n<p><strong>1\u3001\u5207\u6362\u955c\u50cf\u6e90<\/strong><\/p>\n\n\n\n<p>\u4e0b\u8f7d<a href=\"http:\/\/mirrors.aliyun.com\/docker-ce\/linux\/centos\/docker-ce.repo\">http:\/\/mirrors.aliyun.com\/docker-ce\/linux\/centos\/docker-ce.repo<\/a>\u7684repo\u6587\u4ef6\u653e\u5230\/etc\/yum.repos.d\/\u76ee\u5f55\u4e0b<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2\u3001\u4e0b\u8f7ddocker<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install --setop=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3\u3001\u6dfb\u52a0\u914d\u7f6e\u6587\u4ef6<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir \/etc\/docker\n\ncat &gt; \/etc\/docker\/daemon.json &lt;&lt;EOF\n{\n\"exec-opts\": &#91;\"native.cgroupdriver=systemd\"]\n}\nEOF<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>4\u3001\u542f\u7528docker<\/strong><\/p>\n\n\n\n<p>systemctl restart  docker<\/p>\n\n\n\n<p>systemctl enable docker<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u56e0\u4e3aDocker\u88ab\u5899\u4e4b\u540e\uff0c\u5f97\u4f7f\u7528\u9b54\u6cd5\u624d\u80fd\u62c9\u53d6\u955c\u50cf<\/p>\n\n\n\n<p><br><strong>5\u3001\u6dfb\u52a0Docker\u670d\u52a1\u4ee3\u7406\u914d\u7f6e\u6587\u4ef6<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/etc\/systemd\/system\/docker.service.d\nvim \/etc\/systemd\/system\/docker.service.d\/http-proxy.conf\n<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>6\u3001\u914d\u7f6e\u6587\u4ef6\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Service]\nEnvironment=\"HTTP_PROXY=http:\/\/192.168.138.1:7890\"\nEnvironment=\"HTTPS_PROXY=http:\/\/192.168.138.1:7890\"<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u6211\u4f7f\u7528\u7684\u662fclash\uff0cclash\u7684\u9ed8\u8ba4\u7aef\u53e3\u662f7890\uff0cip\u8981\u4f7f\u7528\u5f00\u542f\u4ee3\u7406\u7684ip<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>7\u3001\u5237\u65b0docker\u914d\u7f6e<\/strong><\/p>\n\n\n\n<p>systemctl daemon-reload<br>systemctl restart docker<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u56db\u3001\u5b89\u88c5K8S<\/strong><\/h3>\n\n\n\n<p><strong>1\u3001\u5207\u6362\u6e90<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF &gt; \/etc\/yum.repos.d\/kubernetes.repo\n&#91;kubernetes]\nname=Kubernetes\nbaseurl=http:\/\/mirrors.aliyun.com\/kubernetes\/yum\/repos\/kubernetes-el7-x86_64\nenabled=1\ngpgcheck=0\nrepo_gpgcheck=0\ngpgkey=http:\/\/mirrors.aliyun.com\/kubernetes\/yum\/doc\/yum-key.gpg\nhttp:&#47;&#47;mirrors.aliyun.com\/kubernetes\/yum\/doc\/rpm-package-key.gpg\nEOF<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2\u3001\u5b89\u88c5k8s<\/strong><\/p>\n\n\n\n<p>yum install &#8211;setop=obsoletes=0 kubeadm-1.17.4-0 kubelet-1.17.4-0 kubectl-1.17.4-0 -y<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3\u3001\u914d\u7f6ekubelet\u7684cgroup\uff0c\u7f16\u8f91\/etc\/sysconfig\/kubelet\uff0c\u6dfb\u52a0\u4e0b\u9762\u7684\u914d\u7f6e<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim \/etc\/sysconfig\/kubelet\nKUBELET_CGROUP_ARGS=\"--cgroup-driver=systemd\"\nKUBE_PROXY_MODE=\"ipvs\"<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>4\u3001\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable kubelet<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>5\u3001Master\u8282\u70b9\u521d\u59cb\u5316\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm init --kubernetes-version=v1.17.4 --pod-network-cidr=10.244.0.0\/16 --service-cidr=10.96.0.0\/12 --apiserver-advertise-address=192.168.138.136<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>6\u3001Master\u521b\u5efa\u5fc5\u8981\u6587\u4ef6\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p $HOME\/.kube\nsudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config\nsudo chown $(id -u):$(id -g) $HOME\/.kube\/config\n<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>7\u3001Master\u8282\u70b9\u521b\u5efa\u6210\u529f\u540e\u5c06Node\u8282\u70b9\u52a0\u5165\u96c6\u7fa4<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"174\" src=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-12.png\" alt=\"\" class=\"wp-image-239\" srcset=\"https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-12.png 800w, https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-12-300x65.png 300w, https:\/\/lib.kimsor.top\/wp-content\/uploads\/2025\/07\/image-12-768x167.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>Node\u8282\u70b9\u52a0\u5165\u96c6\u7fa4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubeadm join 192.168.138.136:6443 --token cwjf6f.8d9twy4osixxx5iz \\\n    --discovery-token-ca-cert-hash sha256:8efd3f14cca9d78185a3d85a11f980b080041a56a9cc2eca7e75d8f6f61c5e83 <\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Master\u67e5\u770b\u8282\u70b9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get nodes<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>8\u3001Master\u5b89\u88c5\u7f51\u7edc\u63d2\u4ef6<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl apply -f https:\/\/raw.githubusercontent.com\/coreos\/flannel\/master\/Documentation\/kube-flannel.yml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\n\u6216\u8005\u624b\u52a8\u521b\u5efakube-flannel.yml\n\nvim kube-flannel.yml<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\nkind: Namespace\napiVersion: v1\nmetadata:\n  name: kube-flannel\n  labels:\n    k8s-app: flannel\n    pod-security.kubernetes.io\/enforce: privileged\n---\nkind: ClusterRole\napiVersion: rbac.authorization.k8s.io\/v1\nmetadata:\n  labels:\n    k8s-app: flannel\n  name: flannel\nrules:\n- apiGroups:\n  - \"\"\n  resources:\n  - pods\n  verbs:\n  - get\n- apiGroups:\n  - \"\"\n  resources:\n  - nodes\n  verbs:\n  - get\n  - list\n  - watch\n- apiGroups:\n  - \"\"\n  resources:\n  - nodes\/status\n  verbs:\n  - patch\n---\nkind: ClusterRoleBinding\napiVersion: rbac.authorization.k8s.io\/v1\nmetadata:\n  labels:\n    k8s-app: flannel\n  name: flannel\nroleRef:\n  apiGroup: rbac.authorization.k8s.io\n  kind: ClusterRole\n  name: flannel\nsubjects:\n- kind: ServiceAccount\n  name: flannel\n  namespace: kube-flannel\n---\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n  labels:\n    k8s-app: flannel\n  name: flannel\n  namespace: kube-flannel\n---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n  name: kube-flannel-cfg\n  namespace: kube-flannel\n  labels:\n    tier: node\n    k8s-app: flannel\n    app: flannel\ndata:\n  cni-conf.json: |\n    {\n      \"name\": \"cbr0\",\n      \"cniVersion\": \"0.3.1\",\n      \"plugins\": &#91;\n        {\n          \"type\": \"flannel\",\n          \"delegate\": {\n            \"hairpinMode\": true,\n            \"isDefaultGateway\": true\n          }\n        },\n        {\n          \"type\": \"portmap\",\n          \"capabilities\": {\n            \"portMappings\": true\n          }\n        }\n      ]\n    }\n  net-conf.json: |\n    {\n      \"Network\": \"10.244.0.0\/16\",\n      \"EnableNFTables\": false,\n      \"Backend\": {\n        \"Type\": \"vxlan\"\n      }\n    }\n---\napiVersion: apps\/v1\nkind: DaemonSet\nmetadata:\n  name: kube-flannel-ds\n  namespace: kube-flannel\n  labels:\n    tier: node\n    app: flannel\n    k8s-app: flannel\nspec:\n  selector:\n    matchLabels:\n      app: flannel\n  template:\n    metadata:\n      labels:\n        tier: node\n        app: flannel\n    spec:\n      affinity:\n        nodeAffinity:\n          requiredDuringSchedulingIgnoredDuringExecution:\n            nodeSelectorTerms:\n            - matchExpressions:\n              - key: kubernetes.io\/os\n                operator: In\n                values:\n                - linux\n      hostNetwork: true\n      priorityClassName: system-node-critical\n      tolerations:\n      - operator: Exists\n        effect: NoSchedule\n      serviceAccountName: flannel\n      initContainers:\n      - name: install-cni-plugin\n        image: ghcr.io\/flannel-io\/flannel-cni-plugin:v1.7.1-flannel1\n        command:\n        - cp\n        args:\n        - -f\n        - \/flannel\n        - \/opt\/cni\/bin\/flannel\n        volumeMounts:\n        - name: cni-plugin\n          mountPath: \/opt\/cni\/bin\n      - name: install-cni\n        image: ghcr.io\/flannel-io\/flannel:v0.27.0\n        command:\n        - cp\n        args:\n        - -f\n        - \/etc\/kube-flannel\/cni-conf.json\n        - \/etc\/cni\/net.d\/10-flannel.conflist\n        volumeMounts:\n        - name: cni\n          mountPath: \/etc\/cni\/net.d\n        - name: flannel-cfg\n          mountPath: \/etc\/kube-flannel\/\n      containers:\n      - name: kube-flannel\n        image: ghcr.io\/flannel-io\/flannel:v0.27.0\n        command:\n        - \/opt\/bin\/flanneld\n        args:\n        - --ip-masq\n        - --kube-subnet-mgr\n        resources:\n          requests:\n            cpu: \"100m\"\n            memory: \"50Mi\"\n        securityContext:\n          privileged: false\n          capabilities:\n            add: &#91;\"NET_ADMIN\", \"NET_RAW\"]\n        env:\n        - name: POD_NAME\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.name\n        - name: POD_NAMESPACE\n          valueFrom:\n            fieldRef:\n              fieldPath: metadata.namespace\n        - name: EVENT_QUEUE_DEPTH\n          value: \"5000\"\n        - name: CONT_WHEN_CACHE_NOT_READY\n          value: \"false\"\n        volumeMounts:\n        - name: run\n          mountPath: \/run\/flannel\n        - name: flannel-cfg\n          mountPath: \/etc\/kube-flannel\/\n        - name: xtables-lock\n          mountPath: \/run\/xtables.lock\n      volumes:\n      - name: run\n        hostPath:\n          path: \/run\/flannel\n      - name: cni-plugin\n        hostPath:\n          path: \/opt\/cni\/bin\n      - name: cni\n        hostPath:\n          path: \/etc\/cni\/net.d\n      - name: flannel-cfg\n        configMap:\n          name: kube-flannel-cfg\n      - name: xtables-lock\n        hostPath:\n          path: \/run\/xtables.lock\n          type: FileOrCreate<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u4e94\u3001\u5b89\u88c5Kuboard<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl apply -f https:\/\/addons.kuboard.cn\/kuboard\/kuboard-v3.yaml<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>\u5b89\u88c5\u6210\u529f\u540e\u8bbf\u95eehttp:\/\/ip\u5730\u5740:30080\uff0c\u9ed8\u8ba4\u8d26\u6237\uff1aadmin\uff0c\u5bc6\u7801\uff1aKuboard123<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u516d\u3001\u5173\u4e8e\u91cd\u7f6eK8s<\/strong><\/h3>\n\n\n\n<p><strong>1\u3001Master\u7aef<\/strong><\/p>\n\n\n\n<p>1.kubectl \u67e5\u770b\u547d\u4ee4\u662f\u5426\u6b63\u5e38<br>2.cd ~ \u8fdb\u5165\u6839\u76ee\u5f55<br>3.ll -a \u67e5\u770b\u662f\u5426\u5b58\u5728.kube\u6587\u4ef6<br>4.rm -rf .kube\/ \u5220\u9664<br>5.systemctl restart docker \u91cd\u542fdocker<br>6.systemctl restart kubelet \u91cd\u542fkubelet<br>7.kubeadm reset \u91cd\u7f6e<br>8.rm -rf \/etc\/cni\/ \u5220\u9664<br>9.\u91cd\u65b0init<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2\u3001Node\u7aef<\/strong><\/p>\n\n\n\n<p>1.kubeadm reset \u91cd\u7f6e<br>2.rm -rf \/etc\/cni\/<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u914d\u7f6e\u7f51\u7edc 1\u3001\u81f3\u5c11\u51c6\u5907\u4e24\u53f0\u670d\u52a1\u5668 \u5c06\u4e24\u53f0\u8bbe\u5907\u8bbe\u7f6e\u6210\u9759\u6001ip\uff0c\u914d\u7f6e\u7f51\u5173\u548cDNS \u6211\u8fd9\u91cc\u6709\u4e24\u53f0\u673a\u5668 \u4e00\u53f0mas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,5],"tags":[],"class_list":["post-227","post","type-post","status-publish","format-standard","hentry","category-k8s","category-5"],"_links":{"self":[{"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/posts\/227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=227"}],"version-history":[{"count":20,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/posts\/227\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=\/wp\/v2\/posts\/227\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lib.kimsor.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}