{"id":97,"date":"2024-03-02T23:25:00","date_gmt":"2024-03-02T15:25:00","guid":{"rendered":"https:\/\/www.xueyaa.top\/?p=97"},"modified":"2026-03-08T17:38:59","modified_gmt":"2026-03-08T09:38:59","slug":"k8s%e9%9b%86%e7%be%a4%e6%90%ad%e5%bb%ba%e4%b8%8e%e5%9f%ba%e7%a1%80%e4%bd%bf%e7%94%a8%ef%bc%88%e4%ba%8c%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.xueyaa.top\/?p=97","title":{"rendered":"k8s\u96c6\u7fa4\u642d\u5efa\u4e0e\u57fa\u7840\u4f7f\u7528\uff08\u4e8c\uff09"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"CzB5F\">4.k8s\u90e8\u7f72CNI\u7f51\u7edc\u63d2\u4ef6Flannel\u53ca\u81ea\u52a8\u8865\u5168<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Q5yOr\">4.1\u90e8\u7f72Flannel\u7ec4\u4ef6<\/h2>\n\n\n\n<pre id=\"pU4wN\" class=\"wp-block-code\"><code>\t\t2.1 \u6240\u6709\u8282\u70b9\u5bfc\u5165\u955c\u50cf \nwget http:\/\/192.168.21.253\/Resources\/Kubernetes\/K8S%20Cluster\/CNI\/flannel\/images\/v0.27.0\/oldboyedu-flannel-v0.27.0.tar.gz\n\ndocker load -i oldboyedu-flannel-v0.27.0.tar.gz\n\n\t\t2.2 \u4fee\u6539Pod\u7f51\u6bb5\n&#91;root@master231 ~]# wget http:\/\/192.168.21.253\/Resources\/Kubernetes\/K8S%20Cluster\/CNI\/flannel\/kube-flannel-v0.27.0.yml\n\n&#91;root@master231 ~]# grep 16 kube-flannel-v0.27.0.yml \n      \"Network\": \"10.244.0.0\/16\",\n&#91;root@master231 ~]# sed -i '\/16\/s#244#100#' kube-flannel-v0.27.0.yml \n&#91;root@master231 ~]# grep 16 kube-flannel-v0.27.0.yml \n      \"Network\": \"10.100.0.0\/16\",\n\n\t\t2.3 \u90e8\u7f72\u670d\u52a1\u7ec4\u4ef6\n&#91;root@master231 ~]# kubectl apply -f kube-flannel-v0.27.0.yml \nnamespace\/kube-flannel created\nserviceaccount\/flannel created\nclusterrole.rbac.authorization.k8s.io\/flannel created\nclusterrolebinding.rbac.authorization.k8s.io\/flannel created\nconfigmap\/kube-flannel-cfg created\ndaemonset.apps\/kube-flannel-ds created\n&#91;root@master231 ~]# kubectl get pods -A -o wide\nNAMESPACE      NAME                                READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES\nkube-flannel   kube-flannel-ds-5hbns               1\/1     Running   0          14s   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\nkube-flannel   kube-flannel-ds-dzffl               1\/1     Running   0          14s   10.0.0.233   worker233   &lt;none&gt;           &lt;none&gt;\nkube-flannel   kube-flannel-ds-h5kwh               1\/1     Running   0          14s   10.0.0.232   worker232   &lt;none&gt;           &lt;none&gt;\nkube-system    coredns-6d8c4cb4d-k52qr             1\/1     Running   0          50m   10.100.0.3   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    coredns-6d8c4cb4d-rvzd9             1\/1     Running   0          50m   10.100.0.2   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    etcd-master231                      1\/1     Running   0          50m   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-apiserver-master231            1\/1     Running   0          50m   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-controller-manager-master231   1\/1     Running   0          50m   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-proxy-588bm                    1\/1     Running   0          43m   10.0.0.232   worker232   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-proxy-9bb67                    1\/1     Running   0          50m   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-proxy-n9mv6                    1\/1     Running   0          42m   10.0.0.233   worker233   &lt;none&gt;           &lt;none&gt;\nkube-system    kube-scheduler-master231            1\/1     Running   0          50m   10.0.0.231   master231   &lt;none&gt;           &lt;none&gt;\n \n\t\t2.4 \u68c0\u67e5\u8282\u70b9\u662f\u5426\u5c31\u7eea\n&#91;root@master231 ~]# kubectl get nodes \nNAME        STATUS   ROLES                  AGE   VERSION\nmaster231   Ready    control-plane,master   27m   v1.23.17\nworker232   Ready    &lt;none&gt;                 23m   v1.23.17\nworker233   Ready    &lt;none&gt;                 23m   v1.23.17\n&#91;root@master231 ~]# kubectl get nodes -o wide\nNAME        STATUS   ROLES                  AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME\nmaster231   Ready    control-plane,master   53m   v1.23.17   10.0.0.231    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24\nworker232   Ready    &lt;none&gt;                 46m   v1.23.17   10.0.0.232    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24\nworker233   Ready    &lt;none&gt;                 46m   v1.23.17   10.0.0.233    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ypcW2\">4.2\u9a8c\u8bc1CNI\u7f51\u7edc\u63d2\u4ef6\u662f\u5426\u6b63\u5e38<\/h2>\n\n\n\n<pre id=\"IBjFw\" class=\"wp-block-code\"><code>\t1.\u4e0b\u8f7d\u8d44\u6e90\u6e05\u5355 \n&#91;root@master231 ~]# wget http:\/\/192.168.21.253\/Resources\/Kubernetes\/K8S%20Cluster\/CNI\/flannel\/oldboyedu-network-cni-test.yaml\n\n\t2.\u5e94\u7528\u8d44\u6e90\u6e05\u5355 \n&#91;root@master231 ~]# cat oldboyedu-network-cni-test.yaml \napiVersion: v1\nkind: Pod\nmetadata:\n  name: xiuxian-v1\nspec:\n  nodeName: worker232\n  containers:\n  - image: registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1 \n    name: xiuxian\n\n---\n\napiVersion: v1\nkind: Pod\nmetadata:\n  name: xiuxian-v2\nspec:\n  nodeName: worker233\n  containers:\n  - image: registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v2\n    name: xiuxian\n&#91;root@master231 ~]# \n&#91;root@master231 ~]# kubectl apply -f  oldboyedu-network-cni-test.yaml \npod\/xiuxian-v1 created\npod\/xiuxian-v2 created\n\n\t3.\u8bbf\u95ee\u6d4b\u8bd5\n&#91;root@master231 ~]# kubectl get pods -o wide \nNAME         READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES\nxiuxian-v1   1\/1     Running   0          14s   10.100.1.2   worker232   &lt;none&gt;           &lt;none&gt;\nxiuxian-v2   1\/1     Running   0          14s   10.100.2.2   worker233   &lt;none&gt;           &lt;none&gt; \n&#91;root@master231 ~]# curl 10.100.1.2 \n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"\/&gt;\n    &lt;title&gt;yinzhengjie apps v1&lt;\/title&gt;\n    &lt;style&gt;\n       div img {\n          width: 900px;\n          height: 600px;\n          margin: 0;\n       }\n    &lt;\/style&gt;\n  &lt;\/head&gt;\n\n  &lt;body&gt;\n    &lt;h1 style=\"color: green\"&gt;\u51e1\u4eba\u4fee\u4ed9\u4f20 v1 &lt;\/h1&gt;\n    &lt;div&gt;\n      &lt;img src=\"1.jpg\"&gt;\n    &lt;div&gt;\n  &lt;\/body&gt;\n\n&lt;\/html&gt;\n\n&#91;root@master231 ~]# curl 10.100.2.2\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"\/&gt;\n    &lt;title&gt;yinzhengjie apps v2&lt;\/title&gt;\n    &lt;style&gt;\n       div img {\n          width: 900px;\n          height: 600px;\n          margin: 0;\n       }\n    &lt;\/style&gt;\n  &lt;\/head&gt;\n\n  &lt;body&gt;\n    &lt;h1 style=\"color: red\"&gt;\u51e1\u4eba\u4fee\u4ed9\u4f20 v2 &lt;\/h1&gt;\n    &lt;div&gt;\n      &lt;img src=\"2.jpg\"&gt;\n    &lt;div&gt;\n  &lt;\/body&gt;\n\n&lt;\/html&gt;\n\n\t4.\u5220\u9664pod\u5e76\u67e5\u770b\n&#91;root@master231 ~]# kubectl delete -f oldboyedu-network-cni-test.yaml \npod \"xiuxian-v1\" deleted\npod \"xiuxian-v2\" deleted\n&#91;root@master231 ~]# kubectl get pods -o wide\nNo resources found in default namespace.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aQFeq\">4.3kubectl\u5de5\u5177\u5b9e\u73b0\u81ea\u52a8\u8865\u5168\u529f\u80fd<\/h2>\n\n\n\n<pre id=\"ZgKjE\" class=\"wp-block-code\"><code>\t1.\u6dfb\u52a0\u73af\u5883\u53d8\u91cf\n&#91;root@master231 ~]# kubectl completion bash &gt; ~\/.kube\/completion.bash.inc\n&#91;root@master231 ~]# echo source '$HOME\/.kube\/completion.bash.inc' &gt;&gt; ~\/.bashrc \n&#91;root@master231 ~]# source ~\/.bashrc\n\n\t2.\u9a8c\u8bc1\u81ea\u52a8\u8865\u5168\u529f\u80fd\n&#91;root@master231 ~]# kubectl   #\u8fde\u7eed\u63092\u6b21tab\u952e\u6d4b\u8bd5\u80fd\u5426\u51fa\u73b0\u547d\u4ee4\nalpha          auth           cordon         diff           get            patch          run            version\nannotate       autoscale      cp             drain          help           plugin         scale          wait\napi-resources  certificate    create         edit           kustomize      port-forward   set            \napi-versions   cluster-info   debug          exec           label          proxy          taint          \napply          completion     delete         explain        logs           replace        top            \nattach         config         describe       expose         options        rollout        uncordon       \n\n\t3.\u5173\u673a\u62cd\u5feb\u7167<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"G5dF7\">5.Pod\u57fa\u7840\u4f7f\u7528<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"PjAsc\">5.1pod\u7684\u5bb9\u5668\u7c7b\u578b<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mNnac\">1\uff09\u4ec0\u4e48\u662fpod\uff1f<\/h3>\n\n\n\n<p id=\"u6bd949c4\">\u542b\u4e49\uff1a\u6240\u8c13\u7684Pod\u662fK8S\u96c6\u7fa4\u8c03\u5ea6\u7684\u6700\u5c0f\u5355\u5143\uff0c\u6240\u8c13\u7684\u6700\u5c0f\u5355\u5143\u5c31\u662f\u4e0d\u53ef\u62c6\u5206\u3002<\/p>\n\n\n\n<p id=\"u8b8963ee\">Pod\u662f\u4e00\u7ec4\u5bb9\u5668\u7684\u96c6\u5408\uff0cPod\u548c\u5bb9\u5668\u7684\u5173\u7cfb\u7c7b\u4f3c\u4e8e\u8c4c\u8c46\u835a\u548c\u8c4c\u8c46\u7684\u5173\u7cfb\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"RAWlo\">2\uff09Pod\u5305\u542b\u4e09\u79cd\u5bb9\u5668\u7c7b\u578b<\/h3>\n\n\n\n<pre id=\"i6HZN\" class=\"wp-block-code\"><code>Pod\u5176\u5305\u542b\u4e09\u79cd\u5bb9\u5668\u7c7b\u578b: \n\t- \u57fa\u7840\u67b6\u6784\u5bb9\u5668\uff08registry.aliyuncs.com\/google_containers\/pause:3.6\uff09\n\t\t\u4e3aPod\u63d0\u4f9b\u57fa\u7840linux\u540d\u79f0\u7a7a\u95f4(ipc\uff0cnet,time\uff0cuser)\u5171\u4eab\u3002\n\t\t\u57fa\u7840\u67b6\u6784\u5bb9\u5668\u65e0\u9700\u8fd0\u7ef4\u4eba\u5458\u90e8\u7f72\uff0c\u800c\u662f\u7531kubelet\u7ec4\u4ef6\u81ea\u884c\u7ef4\u62a4\u3002\n\t\t\n\t- \u521d\u59cb\u5316\u5bb9\u5668\n\t\t\u53ef\u9009\u7684\u5bb9\u5668\u7c7b\u578b\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u4e3a\u4e1a\u52a1\u5bb9\u5668\u505a\u521d\u59cb\u5316\u5de5\u4f5c\u3002\u53ef\u4ee5\u5b9a\u4e49\u591a\u4e2a\u521d\u59cb\u5316\u5bb9\u5668\u3002\n\t\t\u5f53\u6240\u6709\u7684\u521d\u59cb\u5316\u5bb9\u5668\u6267\u884c\u5b8c\u6210\u540e\uff0c\u624d\u4f1a\u53bb\u6267\u884c\u4e1a\u52a1\u5bb9\u5668\u3002\n\t\t\n\t- \u4e1a\u52a1\u5bb9\u5668\n\t\t\u7528\u6237\u7684\u5b9e\u9645\u4e1a\u52a1\uff0c\u53ef\u4ee5\u5b9a\u4e49\u591a\u4e2a\u4e1a\u52a1\u5bb9\u5668\u3002\n\t\t\n\u542f\u52a8\u987a\u5e8f\u4f9d\u6b21\u662f:\u57fa\u7840\u67b6\u6784\u5bb9\u5668,\u521d\u59cb\u5316\u5bb9\u5668,\u4e1a\u52a1\u5bb9\u5668\uff0c\u5bf9\u4e8e\u7528\u6237\u800c\u8a00\uff0c\u53ea\u9700\u8981\u989d\u5916\u5173\u6ce8\u540e\u4e24\u8005\u7684\u5bb9\u5668\u7c7b\u578b\u5373\u53ef\u3002 <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Udiax\">5.2k8s\u4e00\u5207\u7686\u8d44\u6e90<\/h2>\n\n\n\n<pre id=\"f2eXS\" class=\"wp-block-code\"><code>\u6211\u4eec\u77e5\u9053Linux\u7cfb\u7edf\"\u4e00\u5207\u7686\u6587\u4ef6\"\uff0c\u800ck8s\u96c6\u7fa4\u53ef\u4ee5\u770b\u505a\u4e00\u4e2a\u64cd\u4f5c\u7cfb\u7edf\uff0c\"\u4e00\u5207\u7686\u8d44\u6e90\"\u3002\n\n\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0ck8s\u5bf9\u4e8e\u96c6\u7fa4\u7684\u8d44\u6e90\u652f\u6301\u201c\u58f0\u660e\u5f0f\u201d\u548c\u201c\u54cd\u5e94\u5f0f\u201d\u4e24\u79cd\u7ba1\u7406\u65b9\u5f0f\u3002\n\n\u5b9e\u64cd\u6848\u4f8b:\n\t1.\u67e5\u770bmaster\u7ec4\u4ef6\n&#91;root@master231 ~]# kubectl get cs\nWarning: v1 ComponentStatus is deprecated in v1.19+\nNAME                 STATUS    MESSAGE                         ERROR\ncontroller-manager   Healthy   ok                              \nscheduler            Healthy   ok                              \netcd-0               Healthy   {\"health\":\"true\",\"reason\":\"\"}   \n&#91;root@master231 ~]# kubectl get componentstatuses \nWarning: v1 ComponentStatus is deprecated in v1.19+\nNAME                 STATUS    MESSAGE                         ERROR\ncontroller-manager   Healthy   ok                              \nscheduler            Healthy   ok                              \netcd-0               Healthy   {\"health\":\"true\",\"reason\":\"\"}   \n\n\t2 \u67e5\u770bworker\u7ec4\u4ef6\n&#91;root@master231 ~]# kubectl get no\nNAME        STATUS   ROLES                  AGE     VERSION\nmaster231   Ready    control-plane,master   4h14m   v1.23.17\nworker232   Ready    &lt;none&gt;                 4h7m    v1.23.17\nworker233   Ready    &lt;none&gt;                 4h7m    v1.23.17\n&#91;root@master231 ~]# \n&#91;root@master231 ~]# kubectl get nodes\nNAME        STATUS   ROLES                  AGE     VERSION\nmaster231   Ready    control-plane,master   4h14m   v1.23.17\nworker232   Ready    &lt;none&gt;                 4h7m    v1.23.17\nworker233   Ready    &lt;none&gt;                 4h7m    v1.23.17\n&#91;root@master231 ~]# kubectl get nodes -o wide\nNAME        STATUS   ROLES                  AGE     VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME\nmaster231   Ready    control-plane,master   4h14m   v1.23.17   10.0.0.231    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24\nworker232   Ready    &lt;none&gt;                 4h7m    v1.23.17   10.0.0.232    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24\nworker233   Ready    &lt;none&gt;                 4h7m    v1.23.17   10.0.0.233    &lt;none&gt;        Ubuntu 22.04.4 LTS   5.15.0-119-generic   docker:\/\/20.10.24\n\n\t3 \u67e5\u770bK8S\u96c6\u7fa4\u5185\u7f6e\u7684\u8d44\u6e90\n&#91;root@master231 ~]# kubectl api-resources  | wc -l\n57\n&#91;root@master231 ~]# kubectl api-resources \nNAME                              SHORTNAMES   APIVERSION                             NAMESPACED   KIND\nbindings                                       v1                                     true         Binding\ncomponentstatuses                 cs           v1                                     false        ComponentStatus\nconfigmaps                        cm           v1                                     true         ConfigMap\nendpoints                         ep           v1                                     true         Endpoints\nevents                            ev           v1                                     true         Event\nlimitranges                       limits       v1                                     true         LimitRange\nnamespaces                        ns           v1                                     false        Namespace\nnodes                             no           v1                                     false        Node\npersistentvolumeclaims            pvc          v1                                     true         PersistentVolumeClaim\npersistentvolumes                 pv           v1                                     false        PersistentVolume\npods                              po           v1                                     true         Pod\npodtemplates                                   v1                                     true         PodTemplate\nreplicationcontrollers            rc           v1                                     true         ReplicationController\nresourcequotas                    quota        v1                                     true         ResourceQuota\nsecrets                                        v1                                     true         Secret\nserviceaccounts                   sa           v1                                     true         ServiceAccount\nservices                          svc          v1                                     true         Service\nmutatingwebhookconfigurations                  admissionregistration.k8s.io\/v1        false        MutatingWebhookConfiguration\nvalidatingwebhookconfigurations                admissionregistration.k8s.io\/v1        false        ValidatingWebhookConfiguration\ncustomresourcedefinitions         crd,crds     apiextensions.k8s.io\/v1                false        CustomResourceDefinition\napiservices                                    apiregistration.k8s.io\/v1              false        APIService\ncontrollerrevisions                            apps\/v1                                true         ControllerRevision\ndaemonsets                        ds           apps\/v1                                true         DaemonSet\ndeployments                       deploy       apps\/v1                                true         Deployment\nreplicasets                       rs           apps\/v1                                true         ReplicaSet\nstatefulsets                      sts          apps\/v1                                true         StatefulSet\ntokenreviews                                   authentication.k8s.io\/v1               false        TokenReview\nlocalsubjectaccessreviews                      authorization.k8s.io\/v1                true         LocalSubjectAccessReview\nselfsubjectaccessreviews                       authorization.k8s.io\/v1                false        SelfSubjectAccessReview\nselfsubjectrulesreviews                        authorization.k8s.io\/v1                false        SelfSubjectRulesReview\nsubjectaccessreviews                           authorization.k8s.io\/v1                false        SubjectAccessReview\nhorizontalpodautoscalers          hpa          autoscaling\/v2                         true         HorizontalPodAutoscaler\ncronjobs                          cj           batch\/v1                               true         CronJob\njobs                                           batch\/v1                               true         Job\ncertificatesigningrequests        csr          certificates.k8s.io\/v1                 false        CertificateSigningRequest\nleases                                         coordination.k8s.io\/v1                 true         Lease\nendpointslices                                 discovery.k8s.io\/v1                    true         EndpointSlice\nevents                            ev           events.k8s.io\/v1                       true         Event\nflowschemas                                    flowcontrol.apiserver.k8s.io\/v1beta2   false        FlowSchema\nprioritylevelconfigurations                    flowcontrol.apiserver.k8s.io\/v1beta2   false        PriorityLevelConfiguration\ningressclasses                                 networking.k8s.io\/v1                   false        IngressClass\ningresses                         ing          networking.k8s.io\/v1                   true         Ingress\nnetworkpolicies                   netpol       networking.k8s.io\/v1                   true         NetworkPolicy\nruntimeclasses                                 node.k8s.io\/v1                         false        RuntimeClass\npoddisruptionbudgets              pdb          policy\/v1                              true         PodDisruptionBudget\npodsecuritypolicies               psp          policy\/v1beta1                         false        PodSecurityPolicy\nclusterrolebindings                            rbac.authorization.k8s.io\/v1           false        ClusterRoleBinding\nclusterroles                                   rbac.authorization.k8s.io\/v1           false        ClusterRole\nrolebindings                                   rbac.authorization.k8s.io\/v1           true         RoleBinding\nroles                                          rbac.authorization.k8s.io\/v1           true         Role\npriorityclasses                   pc           scheduling.k8s.io\/v1                   false        PriorityClass\ncsidrivers                                     storage.k8s.io\/v1                      false        CSIDriver\ncsinodes                                       storage.k8s.io\/v1                      false        CSINode\ncsistoragecapacities                           storage.k8s.io\/v1beta1                 true         CSIStorageCapacity\nstorageclasses                    sc           storage.k8s.io\/v1                      false        StorageClass\nvolumeattachments                              storage.k8s.io\/v1                      false        VolumeAttachment<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"xPh4S\">5.3\u54cd\u5e94\u5f0f\u7ba1\u7406Pod\u57fa\u7840<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sd8ch\">1\uff09\u521b\u5efapod<\/h3>\n\n\n\n<pre id=\"denW5\" class=\"wp-block-code\"><code>\t1.\u521b\u5efa\u65f6\u6307\u5b9apod\u540d\u79f0\u548c\u955c\u50cf\n&#91;root@master231 ~]# kubectl run c1 --image=registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1 \npod\/c1 created\n\n\t2.\u521b\u5efa\u65f6\u4fee\u6539pod\u7684\u542f\u52a8\u547d\u4ee4\uff08-- sleep 300 \u6539\u4e3a\u8fd9\u4e2a,\u8bbf\u95ee\u4e0d\u4e86,\u672c\u8d28\u5c31\u662fngx\uff09\n&#91;root@master231 ~]# kubectl run c2 --image=registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1 -- sleep 300\npod\/c2 created<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"JQFK2\">2\uff09\u67e5\u770bpod<\/h3>\n\n\n\n<pre id=\"JBsKE\" class=\"wp-block-code\"><code>\t1.\u67e5\u770bpod\u4fe1\u606f\n&#91;root@master231 ~]# kubectl get pods \nNAME   READY   STATUS    RESTARTS   AGE\nc1     1\/1     Running   0          79s\nc2     1\/1     Running   0          51s\n\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0          80s   10.100.2.5   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   0          52s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\n\n\t2.\u8bbf\u95ee\u6d4b\u8bd5\n&#91;root@master231 ~]# curl 10.100.2.5 \n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"\/&gt;\n    &lt;title&gt;yinzhengjie apps v1&lt;\/title&gt;\n    &lt;style&gt;\n       div img {\n          width: 900px;\n          height: 600px;\n          margin: 0;\n       }\n    &lt;\/style&gt;\n  &lt;\/head&gt;\n\n  &lt;body&gt;\n    &lt;h1 style=\"color: green\"&gt;\u51e1\u4eba\u4fee\u4ed9\u4f20 v1 &lt;\/h1&gt;\n    &lt;div&gt;\n      &lt;img src=\"1.jpg\"&gt;\n    &lt;div&gt;\n  &lt;\/body&gt;\n\n&lt;\/html&gt;\n\n&#91;root@master231 ~]# curl 10.100.1.5 \ncurl: (7) Failed to connect to 10.100.1.5 port 80 after 0 ms: Connection refused<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Sjtol\">3\uff09\u5728\u8fd0\u884c\u7684pod\u4e2d\u6267\u884c\u547d\u4ee4<\/h3>\n\n\n\n<pre id=\"kARee\" class=\"wp-block-code\"><code>\t1.\u67e5\u770b\u5bb9\u5668\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0          4m8s    10.100.2.5   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   0          3m40s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\n\n\t2.\u4ea4\u4e92\u5f0f\u6267\u884c\u547d\u4ee4\n&#91;root@master231 ~]# kubectl exec -it c2 -- sh\n\/ # ps -ef\nPID   USER     TIME  COMMAND\n    1 root      0:00 sleep 300\n   19 root      0:00 sh\n   25 root      0:00 ps -ef\n\/ # \n&#91;root@master231 ~]# \n&#91;root@master231 ~]# kubectl exec -it c1 -- sh\n\/ # ps -ef\nPID   USER     TIME  COMMAND\n    1 root      0:00 nginx: master process nginx -g daemon off;\n   32 nginx     0:00 nginx: worker process\n   33 nginx     0:00 nginx: worker process\n   46 root      0:00 sh\n   52 root      0:00 ps -ef\n\/ # \n\n\t3.\u975e\u4ea4\u4e92\u6267\u884c\u547d\u4ee4\n&#91;root@master231 ~]# kubectl exec c1 -- ps -ef\nPID   USER     TIME  COMMAND\n    1 root      0:00 nginx: master process nginx -g daemon off;\n   32 nginx     0:00 nginx: worker process\n   33 nginx     0:00 nginx: worker process\n   34 root      0:00 ps -ef\n&#91;root@master231 ~]# \n&#91;root@master231 ~]# kubectl exec c2 -- ps -ef\nPID   USER     TIME  COMMAND\n    1 root      0:00 sleep 300\n    7 root      0:00 ps -ef\n\n&#91;root@master231 ~]# kubectl exec c1 -- ifconfig\neth0      Link encap:Ethernet  HWaddr 2E:17:24:F4:30:0E  \n          inet addr:10.100.2.5  Bcast:10.100.2.255  Mask:255.255.255.0\n          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1\n          RX packets:22 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0 \n          RX bytes:2528 (2.4 KiB)  TX bytes:1059 (1.0 KiB)\n\nlo        Link encap:Local Loopback  \n          inet addr:127.0.0.1  Mask:255.0.0.0\n          UP LOOPBACK RUNNING  MTU:65536  Metric:1\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:1000 \n          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)\n\n&#91;root@master231 ~]# kubectl exec  c2 -- ifconfig\neth0      Link encap:Ethernet  HWaddr FE:18:91:F0:5B:E3  \n          inet addr:10.100.1.5  Bcast:10.100.1.255  Mask:255.255.255.0\n          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1\n          RX packets:16 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0 \n          RX bytes:2058 (2.0 KiB)  TX bytes:180 (180.0 B)\n\nlo        Link encap:Local Loopback  \n          inet addr:127.0.0.1  Mask:255.0.0.0\n          UP LOOPBACK RUNNING  MTU:65536  Metric:1\n          RX packets:0 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:1000 \n          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)\n\n\t4.\u518d\u6b21\u67e5\u770b\u5bb9\u5668\u3010\u4e3a\u4ec0\u4e48\u4f1a\u91cd\u542f\u5462\uff1f\u3011  -Pod\u91cd\u542f\u7b56\u7565\u9ed8\u8ba4\u4e3aalways\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS      AGE     IP           NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0             7m1s    10.100.2.5   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   1 (92s ago)   6m33s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"LQdd7\">4\uff09\u5220\u9664pod<\/h3>\n\n\n\n<pre id=\"Ezzqk\" class=\"wp-block-code\"><code>\t1.\u5220\u9664\u6307\u5b9a\u540d\u79f0\u7684pod \u5e76\u68c0\u67e5\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS       AGE     IP            NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0              9m36s   10.100.2.5   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   1 (4m7s ago)   9m8s    10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\n&#91;root@master231 ~]# kubectl delete pods c1 \npod \"c1\" deleted\n\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS        AGE     IP           NODE        NOMINATED NODE   READINESS GATES\nc2     1\/1     Running   1 (4m19s ago)   9m20s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\n\n\t2.\u5220\u9664\u6240\u6709pod\n&#91;root@master231 ~]# kubectl delete pods --all\npod \"c2\" deleted\n&#91;root@master231 ~]# kubectl get pods -o wide\nNo resources found in default namespace.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mzG9i\">5.4\u54cd\u5e94\u5f0f\u7ba1\u7406pod\u6807\u7b7e<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wHMBa\">1\uff09\u6807\u7b7e\u7684\u4f5c\u7528<\/h3>\n\n\n\n<p id=\"u94751631\">\u6807\u7b7e\u7684\u4f5c\u7528\u5c31\u662f\u7528\u6765\u6807\u8bc6k8s\u96c6\u7fa4\u7684\u67d0\u4e2a\u8d44\u6e90\u3002<\/p>\n\n\n\n<p id=\"u03247a29\">\u5c06\u6765\u57fa\u4e8e\u6807\u7b7e\u7684\u65b9\u5f0f\u5bf9\u8fd9\u4e9b\u8d44\u6e90\u8fdb\u884c\u7ba1\u7406\u3002\u751f\u4ea7\u73af\u5883\u53ef\u57fa\u4e8e\u4e00\u7ec4pod\u6253\u4e0a\u6807\u7b7e\u8fdb\u884c\u7ba1\u7406<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"FlT2a\">2\uff09\u57fa\u4e8e\u6807\u7b7e\u7ba1\u7406pod\u5b9e\u6218<\/h3>\n\n\n\n<pre id=\"k9p7f\" class=\"wp-block-code\"><code>\t1.\u521b\u5efa\u6d4b\u8bd5pod\n&#91;root@master231 ~]# kubectl run c1 --image=registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1 \npod\/c1 created\n&#91;root@master231 ~]# kubectl run c2 --image=registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1 \npod\/c2 created\n&#91;root@master231 ~]# kubectl run c3 --image=registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1\npod\/c3 created\n&#91;root@master231 ~]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0          11s   10.100.2.8   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   0          8s    10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\nc3     1\/1     Running   0          3s    10.100.2.9   worker233   &lt;none&gt;           &lt;none&gt;\n\n\t2.\u67e5\u770bpod\u7684\u6807\u7b7e\n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE   LABELS\nc1     1\/1     Running   0          33s   run=c1\nc2     1\/1     Running   0          30s   run=c2\nc3     1\/1     Running   0          25s   run=c3\n\t\n\t3.\u4e3a\u6240\u6709pod\u6253\u6807\u7b7e\n&#91;root@master231 ~]# kubectl label pod --all apps=xiuxian\npod\/c1 labeled\npod\/c2 labeled\npod\/c3 labeled\n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE   LABELS\nc1     1\/1     Running   0          85s   apps=xiuxian,run=c1\nc2     1\/1     Running   0          82s   apps=xiuxian,run=c2\nc3     1\/1     Running   0          77s   apps=xiuxian,run=c3\n\n\t4.\u4e3a\u6307\u5b9apod\u6253\u6807\u7b7e\n&#91;root@master231 ~]# kubectl label pod c1 version=v1\npod\/c1 labeled\n&#91;root@master231 ~]# kubectl label pod c2 school=oldboyedu class=linux101\npod\/c2 labeled \n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE     LABELS\nc1     1\/1     Running   0          2m32s   apps=xiuxian,run=c1,version=v1\nc2     1\/1     Running   0          2m29s   apps=xiuxian,class=linux101,run=c2,school=oldboyedu\nc3     1\/1     Running   0          2m24s   apps=xiuxian,run=c3\n\n\t5.\u57fa\u4e8e\u6807\u7b7e\u8fc7\u6ee4pod\n&#91;root@master231 ~]# kubectl get pods  -l school -o wide --show-labels  #\u67e5\u770b\u542b\u6709school\u7684key\u6807\u7b7e\nNAME   READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES   LABELS\nc2     1\/1     Running   0          5m57s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;            apps=xiuxian,class=linux101,run=c2,school=oldboyedu\n\n&#91;root@master231 ~]# kubectl get pods  -l \"run in (c1,c3)\" -o wide --show-labels \nNAME   READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES   LABELS\nc1     1\/1     Running   0          6m2s    10.100.2.8   worker233   &lt;none&gt;           &lt;none&gt;            apps=xiuxian,run=c1,version=v1\nc3     1\/1     Running   0          5m54s   10.100.2.9   worker233   &lt;none&gt;           &lt;none&gt;            apps=xiuxian,run=c3\n\n\t6.\u4fee\u6539\u6807\u7b7e\u7684\u503c\n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE   LABELS\nc1     1\/1     Running   0          81s   apps=xiuxian,run=c1,version=v1\nc2     1\/1     Running   0          81s   apps=xiuxian,class=linux101,run=c2,school=oldboyedu\nc3     1\/1     Running   0          80s   apps=xiuxian,run=c3\n&#91;root@master231 ~]# kubectl label pod --all apps=xianni --overwrite \npod\/c1 unlabeled\npod\/c2 unlabeled\npod\/c3 unlabeled\n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE   LABELS\nc1     1\/1     Running   0          92s   apps=xianni,run=c1,version=v1\nc2     1\/1     Running   0          92s   apps=xianni,class=linux101,run=c2,school=oldboyedu\nc3     1\/1     Running   0          91s   apps=xianni,run=c3\n\n&#91;root@master231 ~]# kubectl label pod c2  school=laonanhai --overwrite \npod\/c2 labeled\n&#91;root@master231 ~]# kubectl get pods --show-labels \nNAME   READY   STATUS    RESTARTS   AGE     LABELS\nc1     1\/1     Running   0          2m31s   apps=xianni,run=c1,version=v1\nc2     1\/1     Running   0          2m31s   apps=xianni,class=linux101,run=c2,school=laonanhai\nc3     1\/1     Running   0          2m30s   apps=xianni,run=c3\n\n\t7.\u57fa\u4e8e\u6807\u7b7e\u5220\u9664pod\n&#91;root@master231 ~]# kubectl get pods  -o wide\nNAME   READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES\nc1     1\/1     Running   0          6m40s   10.100.2.8   worker233   &lt;none&gt;           &lt;none&gt;\nc2     1\/1     Running   0          6m37s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\nc3     1\/1     Running   0          6m32s   10.100.2.9   worker233   &lt;none&gt;           &lt;none&gt;\n&#91;root@master231 ~]# kubectl delete pods  -l \"run in (c1,c3)\" \npod \"c1\" deleted\npod \"c3\" deleted\n\n&#91;root@master231 ~]# kubectl get pods  -o wide\nNAME   READY   STATUS    RESTARTS   AGE    IP           NODE        NOMINATED NODE   READINESS GATES\nc2     1\/1     Running   0          7m1s   10.100.1.5   worker232   &lt;none&gt;           &lt;none&gt;\n\n&#91;root@master231 ~]# kubectl delete pods  -l school\npod \"c2\" deleted\n&#91;root@master231 ~]# kubectl get pods  -o wide\nNo resources found in default namespace.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dqC7B\">5.5\u58f0\u660e\u5f0f\u7ba1\u7406Pod<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"AZERb\">1\uff09\u8d44\u6e90\u7684\u63cf\u8ff0\u4e94\u4e2a\u7ef4\u5ea6<\/h3>\n\n\n\n<pre id=\"Sk6cn\" class=\"wp-block-code\"><code>k8s\u4e00\u5207\u7686\u8d44\u6e90\uff0c\u5bf9\u4e8e\u8d44\u6e90\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8d44\u6e90\u6e05\u5355\u6765\u63cf\u8ff0\u4e00\u4e2a\u8d44\u6e90\u7684\u72b6\u6001\u3002\n\n\u6211\u4eec\u53ef\u4ee5\u4ece\u4ee5\u4e0b\u4e94\u4e2a\u7ef4\u5ea6\u6765\u63cf\u8ff0\u8d44\u6e90:\n\t- apiVersion:\n\t\t\u8868\u793a\u8d44\u6e90API\u7684\u7248\u672c\u53f7\u3002\n\n\t- kind:\n\t\t\u8d44\u6e90\u7684\u7c7b\u578b\u3002\n\t\t\n\t- metatada:\n\t\t\u8d44\u6e90\u7684\u5143\u6570\u636e\u4fe1\u606f\uff0c\u5305\u542b\u8d44\u6e90\u7684\u540d\u79f0\uff0c\u6807\u7b7e\uff0c\u540d\u79f0\u7a7a\u95f4\uff0c\u8d44\u6e90\u6ce8\u89e3\u7b49\u4fe1\u606f\u3002\n\t\t\n\t- spec:\n\t\t\u671f\u671b\u8d44\u6e90\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u9700\u8981\u81ea\u884c\u5b9a\u4e49\u3002\n\t\t\n\t- status:\n\t\t\u8d44\u6e90\u7684\u5b9e\u9645\u8fd0\u884c\u72b6\u6001\uff0c\u7531K8S\u96c6\u7fa4\u81ea\u884c\u7ef4\u62a4\u3002<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"EwR2y\">2\uff09\u58f0\u660e\u5f0f\u7ba1\u7406Pod\u8d44\u6e90\u5b9e\u6218<\/h3>\n\n\n\n<pre id=\"qBG46\" class=\"wp-block-code\"><code>\t1.\u521b\u5efa\u5de5\u4f5c\u76ee\u5f55\n&#91;root@master231 ~]# mkdir -pv \/oldboyedu\/manifests\/\nmkdir: created directory '\/oldboyedu\/manifests\/'\n\n&#91;root@master231 ~]# cd \/oldboyedu\/manifests\/\n&#91;root@master231 manifests]# mkdir pods\n&#91;root@master231 manifests]# cd pods\n\t\n\t2.\u7f16\u5199\u8d44\u6e90\u6e05\u5355\n&#91;root@master231 pods]# cat 01-pods-xiuxian.yaml\n# \u6307\u5b9a\u8d44\u6e90\u7684\u7248\u672c\napiVersion: v1\n# \u6307\u5b9a\u8d44\u6e90\u7684\u7c7b\u578b\nkind: Pod\n# \u6307\u5b9a\u8d44\u6e90\u7684\u5143\u6570\u636e\nmetadata:\n  # \u6307\u5b9a\u8d44\u6e90\u7684\u540d\u79f0\n  name: xixi\n  # \u7ed9Pod\u6253\u6807\u7b7e\n  labels:\n    apps: xiuxian\n    school: oldboyedu\n    class: linux101\n# \u671f\u671b\u8d44\u6e90\u7684\u8fd0\u884c\u72b6\u6001\nspec:\n  # \u5b9a\u4e49\u8fd0\u884c\u7684\u5bb9\u5668\u4fe1\u606f\n  containers:\n    # \u5bb9\u5668\u7684\u540d\u79f0\n  - name: c1\n    # \u6307\u5b9a\u5bb9\u5668\u7684\u955c\u50cf\n    image: registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1\n\n\t3.\u521b\u5efa\u8d44\u6e90\n&#91;root@master231 pods]# kubectl create -f  01-pods-xiuxian.yaml\npod\/xixi created\n\n&#91;root@master231 pods]# kubectl get pods -o wide --show-labels \nNAME   READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES   LABELS\nxixi   1\/1     Running   0          6s    10.100.2.12   worker233   &lt;none&gt;           &lt;none&gt;            apps=xiuxian,class=linux101,school=oldboyedu\n\n&#91;root@master231 pods]# kubectl create -f 01-pods-xiuxian.yaml  # \u6ce8\u610f\uff0c\u5728\u540c\u4e00\u4e2a\u540d\u79f0\u7a7a\u95f4\u4e0b\uff0c\u540c\u540d\u79f0\u7684\u8d44\u6e90\u65e0\u6cd5\u91cd\u590d\u521b\u5efa\u3002\nError from server (AlreadyExists): error when creating \"01-pods-xiuxian.yaml\": pods \"xixi\" already exists\n&#91;root@master231 pods]# curl 10.100.2.12\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"\/&gt;\n    &lt;title&gt;yinzhengjie apps v1&lt;\/title&gt;\n    &lt;style&gt;\n       div img {\n          width: 900px;\n          height: 600px;\n          margin: 0;\n       }\n    &lt;\/style&gt;\n  &lt;\/head&gt;\n\n  &lt;body&gt;\n    &lt;h1 style=\"color: green\"&gt;\u51e1\u4eba\u4fee\u4ed9\u4f20 v1 &lt;\/h1&gt;\n    &lt;div&gt;\n      &lt;img src=\"1.jpg\"&gt;\n    &lt;div&gt;\n  &lt;\/body&gt;\n\n&lt;\/html&gt;\n\n\t4.\u4fee\u6539\u8d44\u6e90\n&#91;root@master231 pods]# cat  01-pods-xiuxian.yaml \n# \u6307\u5b9a\u8d44\u6e90\u7684\u7248\u672c\napiVersion: v1\n# \u6307\u5b9a\u8d44\u6e90\u7684\u7c7b\u578b\nkind: Pod\n# \u6307\u5b9a\u8d44\u6e90\u7684\u5143\u6570\u636e\nmetadata:\n  # \u6307\u5b9a\u8d44\u6e90\u7684\u540d\u79f0\n  name: xixi\n  # \u7ed9Pod\u6253\u6807\u7b7e\n  labels:\n    #apps: xiuxian\n    #school: oldboyedu\n    #class: linux101\n    version: v2\n# \u671f\u671b\u8d44\u6e90\u7684\u8fd0\u884c\u72b6\u6001\nspec:\n  # \u5b9a\u4e49\u8fd0\u884c\u7684\u5bb9\u5668\u4fe1\u606f\n  containers:\n    # \u5bb9\u5668\u7684\u540d\u79f0\n  - name: c1\n    # \u6307\u5b9a\u5bb9\u5668\u7684\u955c\u50cf\n    # image: registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v1\n    image: registry.cn-hangzhou.aliyuncs.com\/yinzhengjie-k8s\/apps:v2\n\n&#91;root@master231 pods]# kubectl create -f  01-pods-xiuxian.yaml \nError from server (AlreadyExists): error when creating \"01-pods-xiuxian.yaml\": pods \"xixi\" already exists\n&#91;root@master231 pods]# kubectl apply -f  01-pods-xiuxian.yaml  #apply\u5c31\u50cf\u66f4\u65b0,\u5177\u6709\u5e42\u7b49\u6027\nWarning: resource pods\/xixi is missing the kubectl.kubernetes.io\/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.\npod\/xixi configured\n\n&#91;root@master231 pods]# kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS      AGE    IP            NODE        NOMINATED NODE   READINESS GATES\nxixi   1\/1     Running   1 (44s ago)   4m8s   10.100.2.12   worker233   &lt;none&gt;           &lt;none&gt;\n\n&#91;root@master231 pods]# curl 10.100.2.12\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"\/&gt;\n    &lt;title&gt;yinzhengjie apps v2&lt;\/title&gt;\n    &lt;style&gt;\n       div img {\n          width: 900px;\n          height: 600px;\n          margin: 0;\n       }\n    &lt;\/style&gt;\n  &lt;\/head&gt;\n\n  &lt;body&gt;\n    &lt;h1 style=\"color: red\"&gt;\u51e1\u4eba\u4fee\u4ed9\u4f20 v2 &lt;\/h1&gt;\n    &lt;div&gt;\n      &lt;img src=\"2.jpg\"&gt;\n    &lt;div&gt;\n  &lt;\/body&gt;\n\n&lt;\/html&gt;\n&#91;root@master231 pods]# \n\n\t5.\u67e5\u770b\u8d44\u6e90\n&#91;root@master231 pods]#  kubectl get pods -o wide\nNAME   READY   STATUS    RESTARTS      AGE     IP            NODE        NOMINATED NODE   READINESS GATES\nxixi   1\/1     Running   1 (92s ago)   4m56s   10.100.2.12   worker233   &lt;none&gt;           &lt;none&gt;\n\n&#91;root@master231 pods]# kubectl get -f 01-pods-xiuxian.yaml \nNAME   READY   STATUS    RESTARTS      AGE\nxixi   1\/1     Running   1 (95s ago)   4m59s\n\n&#91;root@master231 pods]# kubectl get -f 01-pods-xiuxian.yaml -o wide\nNAME   READY   STATUS    RESTARTS      AGE    IP            NODE        NOMINATED NODE   READINESS GATES\nxixi   1\/1     Running   1 (98s ago)   5m2s   10.100.2.12   worker233   &lt;none&gt;           &lt;none&gt;\n\n\t6.\u5220\u9664\u8d44\u6e90\n&#91;root@master231 pods]# kubectl delete -f 01-pods-xiuxian.yaml \npod \"xixi\" deleted\n\n&#91;root@master231 pods]# kubectl get pods -o wide\nNo resources found in default namespace.<\/code><\/pre>\n\n\n\n<p id=\"u6e6e729f\">\u58f0\u660e\u5f0f\uff1a\u6539\u4e86yaml\u6587\u4ef6\uff0c\u547d\u4ee4\u884c\u5f97apply\u4e00\u4e0b\u624d\u751f\u6548<\/p>\n\n\n\n<p id=\"u809fbdf3\">\u54cd\u5e94\u5f0f\uff1a\u7acb\u5373\u751f\u6548<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"GHTMt\">5.6k8s\u90e8\u7f72\u6e38\u620f\u4e1a\u52a1<\/h2>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/cdn.nlark.com\/yuque\/0\/2026\/png\/29112972\/1767703212836-7094f900-2cfc-43a6-9634-586318dccc2d.png\" alt=\"\" style=\"aspect-ratio:1.9442676311030742;width:323px;height:auto\" title=\"\"\/><\/figure>\n\n\n\n<pre id=\"lmKKp\" class=\"wp-block-code\"><code>\t1.\u5bfc\u5165\u955c\u50cf(\u5728hub.docker.com\u4ed3\u5e93)\n&#91;root@worker233 ~]# wget http:\/\/192.168.21.253\/Resources\/Docker\/images\/oldboyedu-games-v0.6.tar.gz\n\n&#91;root@worker233 ~]# docker load -i oldboyedu-games-v0.6.tar.gz \n\n&#91;root@worker233 ~]# docker image ls jasonyin2020\/oldboyedu-games\nREPOSITORY                     TAG       IMAGE ID       CREATED         SIZE\njasonyin2020\/oldboyedu-games   v0.6      b55cbfca1946   22 months ago   376MB\n\t\n\t2.\u7f16\u5199\u8d44\u6e90\u6e05\u5355\n&#91;root@master231 pods]# cat 02-pods-nodeName-hostNetwork-games.yaml \napiVersion: v1\nkind: Pod\nmetadata:\n  name: wegame\n  labels:\n    apps: game\nspec:\n  # \u5c06Pod\u8c03\u5ea6\u5230\u6307\u5b9aworker\u8282\u70b9\u3002(\u8282\u70b9\u540d\u79f0)\n  nodeName: worker233\n  # \u4f7f\u7528worker\u8282\u70b9\u5bbf\u4e3b\u673a\u7f51\u7edc\u540d\u79f0\u7a7a\u95f4\n  hostNetwork: true\n  containers:\n  - name: c1\n    image: jasonyin2020\/oldboyedu-games:v0.6\n\n\t3.\u521b\u5efa\u8d44\u6e90\n&#91;root@master231 pods]# kubectl apply -f  02-pods-nodeName-hostNetwork-games.yaml \npod\/wegame created\n&#91;root@master231 pods]# kubectl get pods -o wide -l apps=game\nNAME     READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES\nwegame   1\/1     Running   0          35s   10.0.0.233   worker233   &lt;none&gt;           &lt;none&gt;\n\n\t4.windows\u6dfb\u52a0hosts\u89e3\u6790\u8bb0\u5f55\n10.0.0.233 game01.oldboyedu.com\n10.0.0.233 game02.oldboyedu.com\n10.0.0.233 game03.oldboyedu.com\n10.0.0.233 game04.oldboyedu.com\n10.0.0.233 game05.oldboyedu.com\n10.0.0.233 game06.oldboyedu.com\n10.0.0.233 game07.oldboyedu.com\n10.0.0.233 game08.oldboyedu.com\n10.0.0.233 game09.oldboyedu.com\n10.0.0.233 game10.oldboyedu.com\n10.0.0.233 game11.oldboyedu.com\n10.0.0.233 game12.oldboyedu.com\n10.0.0.233 game13.oldboyedu.com\n10.0.0.233 game14.oldboyedu.com\n10.0.0.233 game15.oldboyedu.com\n10.0.0.233 game16.oldboyedu.com\n10.0.0.233 game17.oldboyedu.com\n10.0.0.233 game18.oldboyedu.com\n10.0.0.233 game19.oldboyedu.com\n10.0.0.233 game20.oldboyedu.com\n10.0.0.233 game21.oldboyedu.com\n10.0.0.233 game22.oldboyedu.com\n10.0.0.233 game23.oldboyedu.com\n10.0.0.233 game24.oldboyedu.com\n10.0.0.233 game25.oldboyedu.com\n10.0.0.233 game26.oldboyedu.com\n10.0.0.233 game27.oldboyedu.com\n\n\t5.\u8bbf\u95ee\u6d4b\u8bd5\nhttps:&#47;&#47;game01.oldboyedu.com\/\n...\nhttps:\/\/game20.oldboyedu.com\/\n...\nhttps:\/\/game27.oldboyedu.com\/\t<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"EHI3S\">\u603b\u7ed3<\/h1>\n\n\n\n<pre id=\"nqWhh\" class=\"wp-block-code\"><code>- K8S\u96c6\u7fa4\u7ec4\u4ef6\n\t- master| control plane\n\t\t- etcd\n\t\t- scheduler\n\t\t- controller manage\n\t\t- api-server\n\t\n\t- slave| worker node\n\t\t- kubelet\n\t\t- kube-proxy\n\t\t\n\t- cni\n\t\t- flannel\n\t\t- calico\n\t\t- cannel\n\t\t- cilium\n\t\t\n- \u57fa\u4e8ekubeadm\u90e8\u7f72k8s\u96c6\u7fa4\n\t- Linux\u7cfb\u7edf\u4f18\u5316\n\t- \u5b89\u88c5\u5e38\u89c1\u7684\u670d\u52a1\n\t- \u521d\u59cb\u5316master\n\t- worker\u8282\u70b9\u52a0\u5165master\n\t- \u90e8\u7f72Flannel\u63d2\u4ef6\n\t\n- pod\u7684\u57fa\u7840\u7ba1\u7406\n\t- \u54cd\u5e94\u5f0f\n\t\t- kubectl run\n\t\t- kubectl get\n\t\t- kubectl label\n\t\t- kubectl delete\n\t- \u58f0\u660e\u5f0f\n\t\t- kubectl create  \u521b\u5efa\n\t\t- kubectl apply  \u521b\u5efa|\u66f4\u65b0<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>4.k8s\u90e8\u7f72CNI\u7f51\u7edc\u63d2\u4ef6Flannel\u53ca\u81ea\u52a8\u8865\u5168 4.1\u90e8\u7f72Flannel\u7ec4\u4ef6 4.2\u9a8c\u8bc1CNI\u7f51\u7edc\u63d2\u4ef6\u662f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":95,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-97","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/posts\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=97"}],"version-history":[{"count":1,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":99,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/posts\/97\/revisions\/99"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=\/wp\/v2\/media\/95"}],"wp:attachment":[{"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xueyaa.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}