{"id":67850,"date":"2024-07-02T08:24:07","date_gmt":"2024-07-02T04:54:07","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/"},"modified":"2024-07-02T08:24:07","modified_gmt":"2024-07-02T04:54:07","slug":"kubernetes-services-understanding-nodeport-and-clusterip-2f2n","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/","title":{"rendered":"\u062e\u062f\u0645\u0627\u062a Kubernetes: \u062f\u0631\u06a9 NodePort \u0648 ClusterIP"},"content":{"rendered":"<div data-article-id=\"1908380\" id=\"article-body\">\n<p>\u0628\u0647 \u0645\u062c\u0645\u0648\u0639\u0647 \u0648\u0628\u0644\u0627\u06af \u0645\u0646 \u062f\u0631 CK 2024 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f!  \u0627\u06cc\u0646 \u0646\u0647\u0645\u06cc\u0646 \u067e\u0633\u062a \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0628\u0647 \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641 Kubernetes \u0645\u0627\u0646\u0646\u062f ClusterIP\u060c NodePort\u060c ExternalName \u0648 LoadBalancer \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u06cc\u0645.  \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0648 \u0627\u0647\u0645\u06cc\u062a \u0622\u0646\u0647\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 Kubernetes \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%D8%AE%D9%84%D8%A7%D8%B5%D9%87_%D8%A7%D8%B2_%D9%BE%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D9%82%D8%A8%D9%84%DB%8C\" >\u062e\u0644\u0627\u0635\u0647 \u0627\u0632 \u067e\u0633\u062a \u0647\u0627\u06cc \u0642\u0628\u0644\u06cc<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%D9%85%D8%B9%D8%B1%D9%81%DB%8C_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_Kubernetes\" >\u0645\u0639\u0631\u0641\u06cc \u062e\u062f\u0645\u0627\u062a Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_Kubernetes_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u0631\u0627 \u0627\u0632 \u062e\u062f\u0645\u0627\u062a Kubernetes \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_NodePort\" >\u0633\u0631\u0648\u06cc\u0633 NodePort<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#NodePort_%DA%86%DA%AF%D9%88%D9%86%D9%87_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\" >NodePort \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_ClusterIP\" >\u0633\u0631\u0648\u06cc\u0633 ClusterIP<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#ClusterIP_%DA%86%DA%AF%D9%88%D9%86%D9%87_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\" >ClusterIP \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/kubernetes-services-understanding-nodeport-and-clusterip-2f2n\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"%D8%AE%D9%84%D8%A7%D8%B5%D9%87_%D8%A7%D8%B2_%D9%BE%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D9%82%D8%A8%D9%84%DB%8C\"><\/span>\n<p>  \u062e\u0644\u0627\u0635\u0647 \u0627\u0632 \u067e\u0633\u062a \u0647\u0627\u06cc \u0642\u0628\u0644\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u062f\u0631 \u0622\u062e\u0631\u06cc\u0646 \u067e\u0633\u062a \u062e\u0648\u062f\u060c ReplicaSets\u060c ReplicationControllers \u0648 Deployments \u0631\u0627 \u0645\u0648\u0631\u062f \u0628\u062d\u062b \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u06cc\u0645.  \u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u06cc\u06a9 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0627 \u067e\u0627\u062f\u0647\u0627\u06cc \u0645\u062a\u0639\u062f\u062f \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0641\u0631\u0627\u0646\u062a \u0627\u0646\u062f Nginx \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0645\u0627 \u0627\u06cc\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0631\u0627 \u062f\u0631 \u0645\u0639\u0631\u0636 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062e\u0627\u0631\u062c\u06cc \u0642\u0631\u0627\u0631 \u0646\u062f\u0627\u062f\u06cc\u0645\u060c \u0627\u06cc\u0646 \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0627\u0645\u0631\u0648\u0632 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062e\u062f\u0645\u0627\u062a Kubernetes \u0631\u0648\u06cc \u0622\u0646 \u062a\u0645\u0631\u06a9\u0632 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%B9%D8%B1%D9%81%DB%8C_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_Kubernetes\"><\/span>\n<p>  \u0645\u0639\u0631\u0641\u06cc \u062e\u062f\u0645\u0627\u062a Kubernetes<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc Kubernetes \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u06cc\u0646 \u0627\u062c\u0632\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u0648 \u062e\u0627\u0631\u062c \u0627\u0632 \u06cc\u06a9 \u062e\u0648\u0634\u0647 Kubernetes \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f.  \u0622\u0646\u0647\u0627 \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u067e\u0627\u062f\u0647\u0627\u060c \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc IP \u0648 \u0628\u0627\u0631\u06af\u06cc\u0631\u06cc \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062a\u0639\u0627\u062f\u0644 \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u067e\u0627\u062f \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.  \u0627\u0646\u0648\u0627\u0639 \u0627\u0635\u0644\u06cc \u062e\u062f\u0645\u0627\u062a \u062f\u0631 Kubernetes \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632:<\/p>\n<ol>\n<li>ClusterIP<\/li>\n<li>NodePort<\/li>\n<li>\u0646\u0627\u0645 \u062e\u0627\u0631\u062c\u06cc<\/li>\n<li>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631<\/li>\n<\/ol>\n<p><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%A7%D8%B2_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA_Kubernetes_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u0631\u0627 \u0627\u0632 \u062e\u062f\u0645\u0627\u062a Kubernetes \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u062f\u0631 Kubernetes \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u06a9\u0647 \u0645\u0624\u0644\u0641\u0647\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0636\u0639\u06cc\u0641\u06cc \u062c\u0641\u062a \u0634\u0648\u0646\u062f \u0648 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u0628\u0647 \u0637\u0648\u0631 \u0645\u0624\u062b\u0631 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u0646\u062f \u0648 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062e\u0627\u0631\u062c\u06cc \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0627\u0634\u0646\u062f.  \u0622\u0646\u0647\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f \u06a9\u0647 \u063a\u0644\u0627\u0641 \u0647\u0627\u06cc \u0634\u0645\u0627\u060c \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u0646\u062f\u060c \u0647\u0645\u06cc\u0634\u0647 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_NodePort\"><\/span>\n<p>  \u0633\u0631\u0648\u06cc\u0633 NodePort<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 NodePort \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u067e\u0648\u0631\u062a \u062b\u0627\u0628\u062a \u062f\u0631 \u0622\u062f\u0631\u0633 IP \u0647\u0631 \u06af\u0631\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062e\u0627\u0631\u062c\u06cc \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0628\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0622\u062f\u0631\u0633 IP \u06af\u0631\u0647 \u0648 NodePort \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"NodePort_%DA%86%DA%AF%D9%88%D9%86%D9%87_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\"><\/span>\n<p>  NodePort \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 front-end \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u0631\u0648\u06cc \u06cc\u06a9 \u067e\u0627\u062f \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f.  \u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0627\u0631\u062c\u06cc \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645.  \u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 NodePort \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645:<\/p>\n<ul>\n<li>\n<strong>NodePort<\/strong>: \u06cc\u06a9 \u067e\u0648\u0631\u062a \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u062f\u0631 IP \u0647\u0631 \u06af\u0631\u0647 (\u0645\u062b\u0644\u0627\u064b 30001).<\/li>\n<li>\n<strong>\u0628\u0646\u062f\u0631<\/strong>: \u067e\u0648\u0631\u062a\u06cc \u06a9\u0647 \u062a\u0648\u0633\u0637 \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631\u0648\u0646 \u062e\u0648\u0634\u0647 \u062f\u0631 \u0645\u0639\u0631\u0636 \u062f\u06cc\u062f \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f (\u0645\u062b\u0644\u0627\u064b 80).<\/li>\n<li>\n<strong>TargetPort<\/strong>: \u067e\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u062f\u0627\u062e\u0644 \u067e\u0627\u062f \u0631\u0648\u06cc \u0622\u0646 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f (\u0645\u062b\u0644\u0627\u064b 80).<\/li>\n<\/ul>\n<p>\u062c\u0631\u06cc\u0627\u0646 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<br \/><strong>\u06a9\u0627\u0631\u0628\u0631 \u062e\u0627\u0631\u062c\u06cc -> Node IP -> Service Port -> TargetPort<\/strong> (\u067e\u0627\u062f \u0628\u0631\u0646\u0627\u0645\u0647)<\/p>\n<p>NodePort YAML \u0645\u062b\u0627\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>apiVersion: v1\nkind: Service\nmetadata:\n  name: nodeport-service\n  labels:\n    env: demo\nspec:\n  type: NodePort\n  selector:\n    env: demo\n  ports:\n    - port: 80\n      targetPort: 80\n      nodePort: 30001\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>kubectl apply -f nodeport.yaml\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>kubectl get svc\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0627 \u067e\u0648\u0631\u062a \u0647\u0627\u06cc ClusterIP\u060c NodePort \u0648 \u0647\u062f\u0641 \u0622\u0646 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_ClusterIP\"><\/span>\n<p>  \u0633\u0631\u0648\u06cc\u0633 ClusterIP<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 ClusterIP \u0646\u0648\u0639 \u0633\u0631\u0648\u06cc\u0633 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u062f\u0631 Kubernetes \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0622\u062f\u0631\u0633 IP \u062f\u0627\u062e\u0644\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0641\u0642\u0637 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062e\u0648\u0634\u0647 \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u062f\u0627\u062e\u0644\u06cc \u0628\u06cc\u0646 \u067e\u0627\u062f\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"ClusterIP_%DA%86%DA%AF%D9%88%D9%86%D9%87_%DA%A9%D8%A7%D8%B1_%D9%85%DB%8C_%DA%A9%D9%86%D8%AF\"><\/span>\n<p>  ClusterIP \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>ClusterIP \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u062c\u0644\u0648\u06cc\u06cc \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u0628\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u0647\u0627\u06cc \u062f\u0627\u062f\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646 \u0628\u062f\u0648\u0646 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0646 \u062f\u0631 \u0645\u0639\u0631\u0636 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u062f.  \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 ClusterIP \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c Kubernetes \u06cc\u06a9 \u0622\u062f\u0631\u0633 IP \u062f\u0627\u062e\u0644\u06cc \u0628\u0647 \u0622\u0646 \u0627\u062e\u062a\u0635\u0627\u0635 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0642\u0648\u0627\u0646\u06cc\u0646 \u0645\u0633\u06cc\u0631\u06cc\u0627\u0628\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u062f\u0627\u06cc\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0628\u0647 \u067e\u0627\u062f\u0647\u0627\u06cc \u0645\u0646\u0627\u0633\u0628 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0646\u0645\u0648\u0646\u0647 ClusterIP YAML<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>apiVersion: v1\nkind: Service\nmetadata:\n  name: clusterip-service\n  labels:\n    app: my-app\nspec:\n  selector:\n    app: my-app\n  ports:\n    - protocol: TCP\n      port: 80\n      targetPort: 8080\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>kubectl apply -f clusterip.yaml\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u062c\u0627\u062f \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>kubectl get svc\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0627 ClusterIP \u0648 \u067e\u0648\u0631\u062a \u0647\u0627\u06cc \u0622\u0646 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631\u06a9 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0635\u062d\u06cc\u062d \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u0631\u062a\u0628\u0627\u0637\u0627\u062a \u062f\u0631 \u06cc\u06a9 \u062e\u0648\u0634\u0647 Kubernetes \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a.  \u062e\u062f\u0645\u0627\u062a NodePort \u0648 ClusterIP \u0627\u0647\u062f\u0627\u0641 \u0645\u062a\u0641\u0627\u0648\u062a\u06cc \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc \u06a9\u0646\u0646\u062f\u060c \u0627\u0645\u0627 \u0647\u0631 \u062f\u0648 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631 \u0648 \u0642\u0648\u06cc \u0636\u0631\u0648\u0631\u06cc \u0647\u0633\u062a\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u067e\u0633\u062a \u0628\u0639\u062f\u06cc\u060c \u0628\u06cc\u0634\u062a\u0631 \u0628\u0647 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0648 \u0641\u0636\u0627\u0647\u0627\u06cc \u0646\u0627\u0645 \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u067e\u0631\u062f\u0627\u062e\u062a.  \u06af\u0648\u0634 \u0628\u0647 \u0632\u0646\u06af \u0628\u0627\u0634\u06cc\u062f!<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0631\u0627\u062c\u0639\u0647 \u0628\u06cc\u0634\u062a\u0631\u060c \u0648\u06cc\u062f\u06cc\u0648\u06cc \u062f\u0642\u06cc\u0642 \u06cc\u0648\u062a\u06cc\u0648\u0628 \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f:<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=tHAQWLKMTB0\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=tHAQWLKMTB0<\/a><br \/>\n<\/iframe>\n<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0628\u0647 \u0645\u062c\u0645\u0648\u0639\u0647 \u0648\u0628\u0644\u0627\u06af \u0645\u0646 \u062f\u0631 CK 2024 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f! \u0627\u06cc\u0646 \u0646\u0647\u0645\u06cc\u0646 \u067e\u0633\u062a \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0628\u0647 \u062e\u062f\u0645\u0627\u062a \u0645\u062e\u062a\u0644\u0641 Kubernetes \u0645\u0627\u0646\u0646\u062f ClusterIP\u060c NodePort\u060c ExternalName \u0648 LoadBalancer \u0645\u06cc \u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0648 \u0627\u0647\u0645\u06cc\u062a \u0622\u0646\u0647\u0627 \u062f\u0631 \u0645\u062d\u06cc\u0637 Kubernetes \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u062e\u0644\u0627\u0635\u0647 \u0627\u0632 \u067e\u0633\u062a \u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u062f\u0631 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":67852,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-67850","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/67850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=67850"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/67850\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/67852"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=67850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=67850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=67850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}