{"id":75543,"date":"2024-09-03T06:28:09","date_gmt":"2024-09-03T02:58:09","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/"},"modified":"2024-09-03T06:28:09","modified_gmt":"2024-09-03T02:58:09","slug":"deploying-an-application-to-amazon-eks-id7","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/","title":{"rendered":"\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062f\u0631 Amazon Elastic Kubernetes Service"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0648\u0632 \u0635\u0628\u062d \u0627\u0632 \u062e\u0648\u0627\u0628 \u0628\u06cc\u062f\u0627\u0631 \u0634\u062f\u06cc\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u06cc\u062f Kubernetes \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0634\u0645\u0627 \u06a9\u0645\u06cc \u062c\u0633\u062a\u200c\u0648\u062c\u0648 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u062f\u0627\u0646\u0634 \u0646\u0638\u0631\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0647\u0644 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631 \u0647\u0633\u062a\u06cc\u062f.<\/p>\n<p>\u0645\u0646 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0642\u0627\u06cc\u0642 \u062a\u0648 \u0647\u0633\u062a\u0645. \u0648 \u0628\u0631\u062e\u0644\u0627\u0641 \u0633\u0627\u06cc\u0631 \u0648\u0628\u0644\u0627\u06af\u200c\u0647\u0627 \u06cc\u0627 \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0645\u062d\u0635\u0648\u0644 \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062e\u0648\u0628\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u0633\u062a\u0646\u062f\u0633\u0627\u0632\u06cc \u0633\u0641\u0631 \u0648\u0627\u0642\u0639\u06cc \u0645\u0646 \u062f\u0631 \u0633\u0627\u062e\u062a \u062e\u062f\u0645\u0627\u062a \u0645\u06cc\u06a9\u0631\u0648 \u062f\u0631 EKS \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/p>\n<p>\u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062c\u0645\u0648\u0639\u0647 \u067e\u0633\u062a \u0647\u0627\u06cc \u0648\u0628\u0644\u0627\u06af\u060c \u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627\u0644\u06cc \u0634\u062e\u0635\u06cc \u0628\u0633\u0627\u0632\u0645. \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u06cc\u062f \u062a\u0627 \u06a9\u062c\u0627 \u067e\u06cc\u0634 \u0645\u06cc \u0631\u0648\u06cc\u0645. \u0645\u0646 \u0627\u0633\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u06af\u0630\u0627\u0634\u062a\u0645 Finansy\u06a9\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u0631\u0648\u0633\u06cc \u0641\u0627\u06cc\u0646\u0627\u0646\u0633 \u0627\u0633\u062a.<\/p>\n<p>  \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f<\/p>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 MFA \u0631\u0627 \u062f\u0631 \u062d\u0633\u0627\u0628 \u062e\u0648\u062f \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648 \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628 \u0631\u0627 \u062f\u0631 AWS \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0648\u06cc\u062f\u06cc\u0648\u06cc \u06cc\u0648\u062a\u06cc\u0648\u0628 \u062e\u0648\u0628 \u062f\u0631 \u0645\u0648\u0631\u062f \u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628 \u0627\u0633\u062a.<\/p>\n<p>  \u06cc\u06a9 \u062e\u0648\u0634\u0647 Kubernetes \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0645\u0627 \u0627\u0632 eksctl \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc EKS \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u06cc\u0646 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0645.<\/p>\n<p>eksctl \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0633\u0627\u062f\u0647 CLI \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0647\u0627 \u062f\u0631 EKS &#8211; \u0633\u0631\u0648\u06cc\u0633 \u0645\u062f\u06cc\u0631\u06cc\u062a Kubernetes \u0622\u0645\u0627\u0632\u0648\u0646 \u0628\u0631\u0627\u06cc EC2 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u062f\u0631 Go \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u0632 CloudFormation \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u062a\u0648\u0633\u0637 Weaveworks \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0627\u0632 \u0645\u0634\u0627\u0631\u06a9\u062a \u0647\u0627\u06cc \u062c\u0627\u0645\u0639\u0647 \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062f\u0644\u06cc\u0644 eksctl \u0627\u0632 CloudFormation \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u0646 \u0628\u0647 \u0634\u062f\u062a \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645 \u0627\u0632 \u06a9\u0646\u0633\u0648\u0644 AWS \u0628\u0631\u0627\u06cc \u0627\u0635\u0644\u0627\u062d \u0645\u0646\u0627\u0628\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f. \u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u0627\u0632 ChatGPT \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u0641\u06cc\u062f \u062f\u0631 \u062d\u06cc\u0646 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.<\/p>\n<p>eksctl create cluster \\<br \/>\n  &#8211;name finansy \\<br \/>\n  &#8211;version 1.30 \\<br \/>\n  &#8211;nodes 1 \\<br \/>\n  &#8211;node-type t2.micro \\<br \/>\n  &#8211;region us-west-2<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 15 \u062f\u0642\u06cc\u0642\u0647 \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a. \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 t2.micro \u0648\u0627\u062c\u062f \u0634\u0631\u0627\u06cc\u0637 \u0644\u0627\u06cc\u0647 \u0631\u0627\u06cc\u06af\u0627\u0646 \u0627\u0633\u062a. \u0647\u062f\u0641 \u0645\u0646 \u06a9\u0627\u0647\u0634 \u0647\u0632\u06cc\u0646\u0647 \u0647\u0627 \u062a\u0627 \u062d\u062f \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a.<\/p>\n<p>  \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 EKS Cluster \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u062e\u0648\u0634\u0647 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0632 CLI \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u0645.<\/p>\n<p>aws eks update-kubeconfig &#8211;region us-west-2 &#8211;name finansy<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0627 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc \u0633\u0627\u0632\u062f \u062a\u0627 \u0627\u0632 \u062a\u0639\u0627\u0645\u0644 kubectl \u0628\u0627 \u0635\u0641\u062d\u0647 \u06a9\u0646\u062a\u0631\u0644\u06cc \u062e\u0648\u0634\u0647 Kubernetes \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0632 \u062e\u0648\u062f \u0628\u067e\u0631\u0633\u06cc\u062f \u06a9\u0647 \u0686\u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0627\u0634\u062a\u06cc\u0645 \u0628\u0647 CLI \u062f\u06cc\u06af\u0631\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 eksctl \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 eksctl \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 AWS \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0644\u0627\u0633\u062a\u0631 EKS \u0634\u0645\u0627 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f K8S \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. eksctl. \u0645\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 kubectl \u0628\u0631\u0627\u06cc \u0622\u0646<\/p>\n<p>\u062a\u0648\u062c\u0647: \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u062c\u0631\u06cc\u0627\u0646 kubectl \u0632\u0645\u06cc\u0646\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0628\u0647 \u062e\u0648\u0634\u0647 \u0647\u0627 \u0645\u062a\u0635\u0644 \u0647\u0633\u062a\u06cc\u062f (\u0645\u062a\u0627\u0633\u0641\u0645) \u0648 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 (EX).<\/p>\n<p>kubectl config current-context<br \/>\nkubectl config get-contexts<br \/>\nkubectl config use-context <\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062c\u0627\u0648\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0645\u0627 \u06cc\u06a9 API \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062c\u0627\u0648\u0627 \u0631\u0627 \u062f\u0631 Spring Boot \u062f\u0631 EKS \u0645\u0633\u062a\u0642\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0633\u062a. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u06cc\u06a9 API \u062f\u0631 \u067e\u0648\u0631\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f 8080.<\/p>\n<p>\u0628\u0647 \u0632\u0648\u062f\u06cc \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u0628 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u0627\u0647\u0645 \u06af\u0630\u0627\u0634\u062a.<\/p>\n<p>  \u062a\u0648\u0644\u06cc\u062f \u06cc\u06a9 JAR<\/p>\n<p>\u0648 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a<\/p>\n<p>\u0631\u0627 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u06cc\u062f build \u0628\u0647 \u062e\u0648\u062f \u062a\u06af \u06a9\u0646\u06cc\u062f pom.xml \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u0627\u0632 maven \u0645\u06cc \u062e\u0648\u0627\u0647\u062f \u06a9\u0647 a \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f jar \u0641\u0627\u06cc\u0644 \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 copy \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f jar \u062f\u0631 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a k8s infra\u060c \u0627\u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0645\u0644\u0627 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a.<\/p>\n<p>        org.springframework.boot<br \/>\n        spring-boot-maven-plugin<\/p>\n<p>                  repackage<\/p>\n<p>        org.apache.maven.plugins<br \/>\n        maven-antrun-plugin<br \/>\n        1.8<\/p>\n<p>                package<\/p>\n<p>                    run<\/p>\n<p>                         file=&#8221;${project.build.directory}\/${project.artifactId}.jar&#8221;<br \/>\n                              tofile=&#8221;app\/${project.artifactId}.jar&#8221;\/&gt;<\/p>\n<p>    ${project.artifactId}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u06cc\u06a9 Dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0646\u0627\u0645 \u0641\u0627\u06cc\u0644: Dockerfile<\/p>\n<p># Use an official OpenJDK 21 runtime as a parent image<br \/>\nFROM openjdk:21<\/p>\n<p># Set the working directory in the container<br \/>\nWORKDIR \/app<\/p>\n<p># Copy the executable JAR file to the container<br \/>\nCOPY app\/portfolio-service.jar \/app\/portfolio-service.jar<\/p>\n<p>CMD [&#8220;java&#8221;, &#8220;-jar&#8221;, &#8220;\/app\/portfolio-service.jar&#8221;]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0627 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 jar \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 maven \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc \u0631\u0648\u062f \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>docker build -t finansy\/portfolio-service:1.1 .<br \/>\ndocker run -d -p 8080:8080 &#8211;name portfolio-service finansy\/portfolio-service:1.1<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>curl http:\/\/localhost:8080\/  \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u067e\u0627\u0633\u062e \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0622\u0645\u0627\u0632\u0648\u0646 ECR \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062b\u0628\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0627\u0644\u0627\u0633\u062a\u06cc\u06a9 \u0622\u0645\u0627\u0632\u0648\u0646 \u0686\u06cc\u0633\u062a\u061f<\/p>\n<p>\u062a\u0635\u0627\u0648\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u062f\u0648\u0646 \u0646\u0635\u0628 \u06cc\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0628\u0647 Amazon ECR \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0631 \u0627\u0628\u0632\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u0628\u06a9\u0634\u06cc\u062f.<\/p>\n<p>\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u062a\u0635\u0648\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 ECR \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u0645 \u062a\u0627 EKS \u0628\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0622\u0646 \u0631\u062c\u0648\u0639 \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0647 \u06a9\u0646\u0633\u0648\u0644 \u0622\u0645\u0627\u0632\u0648\u0646 ECR \u0628\u0631\u0648\u06cc\u062f<br \/>\n\u06cc\u06a9 \u0645\u062e\u0632\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 View push commands \u062f\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u062e\u0632\u0646 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f<br \/>\n\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a Docker \u0628\u0627 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc ECR \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f<br \/>\n\u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<br \/>\nuri \u062a\u0635\u0648\u06cc\u0631 docker \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f image \u0645\u0633\u06cc\u0631 \u0632\u06cc\u0631 \u062f\u0631 k8s.yaml.<\/p>\n<p>  \u0645\u0641\u0627\u0647\u06cc\u0645 Kubernetes \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0631\u0648\u0631\u06cc \u06a9\u0648\u062a\u0627\u0647 \u0628\u0631 \u0645\u0641\u0627\u0647\u06cc\u0645 Kubernetes \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0642\u06cc\u0647 \u067e\u0633\u062a \u0645\u0641\u06cc\u062f \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u0637\u0631\u06cc\u0642 ChatGPT \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f \ud83d\ude42<\/p>\n<p>  1. Kubernetes Pod<\/p>\n<p>\u0627\u0644\u0641 \u063a\u0644\u0627\u0641 \u06a9\u0648\u0686\u06a9\u062a\u0631\u06cc\u0646 \u0648 \u0633\u0627\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0634\u06cc \u06a9\u0648\u0628\u0631\u0646\u062a\u0633 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0648\u0627\u062d\u062f \u0627\u0632 \u06cc\u06a9 \u0641\u0631\u0622\u06cc\u0646\u062f \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u062f\u0631 \u062e\u0648\u0634\u0647 \u0634\u0645\u0627 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u06cc\u06a9 Pod \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 (\u0645\u062b\u0644\u0627\u064b \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc Docker) \u0631\u0627 \u06a9\u0647 \u0641\u0636\u0627\u06cc \u0646\u0627\u0645 \u0634\u0628\u06a9\u0647\u060c \u0622\u062f\u0631\u0633 IP \u0648 \u062d\u062c\u0645\u200c\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u06cc\u06a9\u0633\u0627\u0646\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u0646\u062f\u060c \u06a9\u067e\u0633\u0648\u0644\u0647 \u06a9\u0646\u062f. \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u062f\u0631 \u06cc\u06a9 Pod \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0637\u0648\u0631 \u0645\u062d\u06a9\u0645 \u0628\u0647 \u0647\u0645 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f \u0648 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u0646\u0627\u0628\u0639 \u0645\u0627\u0646\u0646\u062f \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u06cc\u0627 \u0634\u0628\u06a9\u0647 \u062f\u0627\u0631\u0646\u062f.<\/p>\n<p>\u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc:<\/p>\n<p>\u0622\u062f\u0631\u0633 IP \u0648\u0627\u062d\u062f: \u0647\u0631 Pod \u06cc\u06a9 \u0622\u062f\u0631\u0633 IP \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0645\u0634\u062a\u0631\u06a9: \u0638\u0631\u0648\u0641 \u062f\u0631 \u0647\u0645\u0627\u0646 Pod \u062d\u062c\u0645 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc \u06af\u0630\u0627\u0631\u0646\u062f.<\/p>\n<p>\u0686\u0631\u062e\u0647 \u0632\u0646\u062f\u06af\u06cc: \u063a\u0644\u0627\u0641 \u0647\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f \u06a9\u0647 \u0632\u0648\u062f\u06af\u0630\u0631 \u0628\u0627\u0634\u0646\u062f. \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u062f.<\/p>\n<p>  2. \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes<\/p>\n<p>\u0627\u0644\u0641 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06cc\u06a9 \u0627\u0646\u062a\u0632\u0627\u0639 \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0648 \u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc Pods \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062a\u0639\u062f\u0627\u062f \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u067e\u0627\u062f\u0647\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0647\u0633\u062a\u0646\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0646\u062a\u0631\u0644 \u0634\u062f\u0647 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/p>\n<p>\u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc: \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062a\u0639\u062f\u0627\u062f Pods \u0631\u0627 \u0628\u0627\u0644\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0627\u06cc \u0686\u0631\u062e\u0634\u06cc: \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc Pods \u0628\u062f\u0648\u0646 \u062a\u0648\u0642\u0641\u060c \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u062a\u062d\u0631\u06a9 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/p>\n<p>\u0628\u0627\u0632\u06af\u0634\u062a \u0628\u0647 \u0639\u0642\u0628: \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc\u060c \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc \u0628\u0631\u06af\u0631\u062f\u06cc\u062f.<\/p>\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0639\u0645\u0648\u0644\u06cc: \u0627\u0632 Deployments \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0628\u062f\u0648\u0646 \u062d\u0627\u0644\u062a \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u062d\u0641\u0638 \u0648\u0636\u0639\u06cc\u062a \u0645\u0637\u0644\u0648\u0628 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>  3. \u0633\u0631\u0648\u06cc\u0633 Kubernetes<\/p>\n<p>\u0627\u0644\u0641 \u062e\u062f\u0645\u0627\u062a \u06cc\u06a9 \u0627\u0646\u062a\u0632\u0627\u0639 \u0627\u0633\u062a \u06a9\u0647 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0645\u0646\u0637\u0642\u06cc \u0627\u0632 Pods \u0648 \u062e\u0637 \u0645\u0634\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 (\u0622\u062f\u0631\u0633 IP \u0648 \u0646\u0627\u0645 DNS) \u0628\u0631\u0627\u06cc Pods \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0637\u0648\u0644 \u0632\u0645\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0646\u062f.<\/p>\n<p>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/p>\n<p>\u06a9\u0634\u0641 \u062e\u062f\u0645\u0627\u062a: \u06cc\u06a9 \u0646\u0627\u0645 DNS \u067e\u0627\u06cc\u062f\u0627\u0631 \u0628\u0631\u0627\u06cc \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0632 Pods \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631: \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u0628\u06cc\u0646 \u067e\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0633\u062a\u0646\u062f \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u067e\u0648\u0631\u062a \u0641\u0648\u0631\u0648\u0627\u0631\u062f\u06cc\u0646\u06af: \u06cc\u06a9 \u067e\u0648\u0631\u062a \u062f\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u0648\u0631\u062a \u062f\u0631 Pods \u0646\u06af\u0627\u0634\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u0646\u0648\u0627\u0639:<\/p>\n<p>ClusterIP: \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 IP \u062f\u0627\u062e\u0644\u06cc \u062e\u0648\u0634\u0647 \u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f. \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.<\/p>\n<p>NodePort: \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 IP \u0647\u0631 \u06af\u0631\u0647 \u062f\u0631 \u06cc\u06a9 \u067e\u0648\u0631\u062a \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0627\u062c\u0627\u0632\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0627\u0631\u062c\u06cc \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>LoadBalancer: \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06cc\u06a9 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u0628\u0631\u0627\u06cc \u0627\u0641\u0634\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0628\u0631.<\/p>\n<p>\u0633\u0631\u0648\u06cc\u0633 \u0628\u06cc \u0633\u0631: IP \u062e\u0648\u0634\u0647 \u0627\u06cc \u0631\u0627 \u0627\u062e\u062a\u0635\u0627\u0635 \u0646\u0645\u06cc \u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062d\u0627\u0644\u062a \u062f\u0627\u0631 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<p>  4. Kubernetes Load Balancer<\/p>\n<p>\u0627\u0644\u0641 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u062e\u0648\u062f \u06cc\u06a9 \u0645\u0646\u0628\u0639 Kubernetes \u0646\u06cc\u0633\u062a\u060c \u0627\u0645\u0627 \u0627\u063a\u0644\u0628 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062e\u062f\u0645\u0627\u062a Kubernetes \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0632 \u0646\u0648\u0639 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f LoadBalancer\u060c Kubernetes \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0628\u0631 (\u0627\u06af\u0631 \u062a\u0648\u0633\u0637 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u0634\u0645\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f) \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0627\u0631\u062c\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/p>\n<p>\u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0627\u0631\u062c\u06cc: \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062e\u062f\u0645\u0627\u062a \u0631\u0627 \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 Kubernetes \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u062a\u0648\u0632\u06cc\u0639 \u062a\u0631\u0627\u0641\u06cc\u06a9: \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0686\u0646\u062f \u067e\u0627\u062f \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0627\u0631 \u0631\u0627 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u062f.<\/p>\n<p>  \u0631\u0627\u0628\u0637\u0647 \u0628\u06cc\u0646 \u0628\u0627\u0631 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0648 \u0633\u0631\u0648\u06cc\u0633<\/p>\n<p>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631: \u0645\u0646\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0627\u0628\u0631 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c AWS ELB\u060c GCP Load Balancer) \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0645\u0646\u0627\u0633\u0628 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0633\u0631\u0648\u06cc\u0633 (\u0646\u0648\u0639: LoadBalancer): \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 Kubernetes \u0627\u0632 \u0646\u0648\u0639 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f LoadBalancer\u060c Kubernetes \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627\u0631 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0631\u062f. \u0633\u067e\u0633 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u0631\u0627\u06cc \u0647\u062f\u0627\u06cc\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0627\u0631\u062c\u06cc \u0628\u0647 \u067e\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0633\u062a\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062e\u062f\u0645\u0627\u062a \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062f\u0627\u062e\u0644\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062e\u0648\u0634\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u062f \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 (\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0627 a LoadBalancer \u0646\u0648\u0639 \u0633\u0631\u0648\u06cc\u0633) \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062e\u0627\u0631\u062c\u06cc \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u0648\u0632\u06cc\u0639 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 \u0628\u0647 Pods \u0645\u0646\u0627\u0633\u0628 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>  \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc K8S \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f k8s.yaml \u0641\u0627\u06cc\u0644<\/p>\n<p>apiVersion: apps\/v1<br \/>\nkind: Deployment<br \/>\nmetadata:<br \/>\n  name: portfolio-service-deployment<br \/>\nspec:<br \/>\n  replicas: 3<br \/>\n  selector:<br \/>\n    matchLabels:<br \/>\n      app: portfolio-service<br \/>\n  template:<br \/>\n    metadata:<br \/>\n      labels:<br \/>\n        app: portfolio-service<br \/>\n    spec:<br \/>\n      containers:<br \/>\n        &#8211; name: portfolio-service<br \/>\n          image: .dkr.ecr.us-west-2.amazonaws.com\/finansy\/portfolio-service:latest<br \/>\n          ports:<br \/>\n            &#8211; containerPort: 8080<\/p>\n<p>&#8212;<br \/>\napiVersion: v1<br \/>\nkind: Service<br \/>\nmetadata:<br \/>\n  name: portfolio-service<br \/>\nspec:<br \/>\n  selector:<br \/>\n    app: portfolio-service<br \/>\n  ports:<br \/>\n    &#8211; protocol: TCP<br \/>\n      port: 80<br \/>\n      targetPort: 8080<br \/>\n  type: LoadBalancer<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0632\u0645\u0627\u0646 \u062e\u0648\u0628\u06cc \u0628\u0631\u0627\u06cc \u067e\u06cc\u06af\u06cc\u0631\u06cc \u0627\u0646\u0648\u0627\u0639 \u0627\u062c\u0632\u0627\u06cc Deployment \u0648 LoadBalancer Kuberntes \u0627\u0633\u062a.<\/p>\n<p>  \u062e\u0648\u0634\u0647 \u0631\u0627 \u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u279c  portfolio-service kubectl apply -f k8s.yaml<br \/>\ndeployment.apps\/portfolio-service-deployment created<br \/>\nservice\/portfolio-service created<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062e\u062f\u0645\u0627\u062a<\/p>\n<p>\u279c  portfolio-service kubectl get svc<br \/>\nNAME                TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)        AGE<br \/>\nkubernetes          ClusterIP      10.100.0.1                                                                          443\/TCP        26m<br \/>\nportfolio-service   LoadBalancer   10.100.177.55   a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com   80:31295\/TCP   4m14s<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u062f \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u279c  portfolio-service kubectl get pods<br \/>\nNAME                                            READY   STATUS    RESTARTS   AGE<br \/>\nportfolio-service-deployment-6b6b4b6c4c-6dm8w   0\/1     Pending   0          5m6s<br \/>\nportfolio-service-deployment-6b6b4b6c4c-jtpnq   0\/1     Pending   0          5m6s<br \/>\nportfolio-service-deployment-6b6b4b6c4c-r9xps   0\/1     Pending   0          5m6s<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0622\u0646\u0647\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u062d\u0627\u0644\u062a Running \u0628\u0627\u0634\u0646\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u0635\u0641\u062d\u0647 EKS \u062e\u0648\u062f \u062f\u0631 AWS \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>  \u0686\u0631\u0627 \u063a\u0644\u0627\u0641 \u0647\u0627 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0645\u0639\u0644\u0642 \u0647\u0633\u062a\u0646\u062f<\/p>\n<p>\u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u06a9\u0647 \u0627\u0632 \u062d\u062f\u0627\u06a9\u062b\u0631 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a IP \u062f\u0631 \u0647\u0631 \u06af\u0631\u0647 \u0641\u0631\u0627\u062a\u0631 \u0631\u0641\u062a\u0647 \u0627\u06cc\u0645.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062c\u0627\u0644\u0628 \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f Stack Overflow \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0645.<\/p>\n<p>The formula for defining the maximum number of Pods per EC2 Node instance is as follows:<\/p>\n<p>N * (M-1) + 2<\/p>\n<p>Where:<\/p>\n<p>N is the number of Elastic Network Interfaces (ENI) of the instance type<\/p>\n<p>M is the number of IP addresses per ENI<\/p>\n<p>So for the instance you used which is t3.micro the number of pods that can be deployed are:<\/p>\n<p>2 * (2-1) + 2 = 4 Pods, the 4 pods capacity is already used by pods in kube-system namespace<\/p>\n<p>Here you can find the calculated max number of pods for each instance type<br \/>\nhttps:\/\/github.com\/aws\/amazon-vpc-cni-k8s\/blob\/master\/misc\/eni-max-pods.txt<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0646\u0648\u0639 \u0646\u0645\u0648\u0646\u0647 \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627<\/p>\n<p>\u0645\u0627 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 15-20 \u067e\u0627\u062f \u0631\u0627 \u062f\u0631 \u0647\u0631 \u0646\u0645\u0648\u0646\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645.\u0645\u0627 \u0644\u06cc\u0633\u062a \u0628\u0627\u0644\u0627 \u0631\u0627 \u0628\u0647 ChatGPT \u062f\u0627\u062f\u06cc\u0645 \u0648 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u06af\u0648\u06cc\u062f:<\/p>\n<p>Given these options, c5.large and m5.large are suitable as they provide enough IPs to support 15-20 pods and are relatively affordable. Between these two, the c5.large instance is slightly cheaper.<\/p>\n<p>Cheapest instance for 15-20 pods:<\/p>\n<p>c5.large: 29 IPs, approximately $0.085 per hour.<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u062c\u062f\u06cc\u062f \u062f\u0631 \u062e\u0648\u0634\u0647<\/p>\n<p>\u279c  portfolio-service eksctl create nodegroup \\<br \/>\n  &#8211;cluster finansy \\<br \/>\n  &#8211;name c5LargeNg \\<br \/>\n  &#8211;node-type c5.large \\<br \/>\n  &#8211;nodes 1 \\<br \/>\n  &#8211;nodes-min 1 \\<br \/>\n  &#8211;nodes-max 1<\/p>\n<p>2024-09-02 12:02:22 [\u2139]  will use version 1.30 for new nodegroup(s) based on control plane version<br \/>\n2024-09-02 12:02:24 [\u2139]  nodegroup &#8220;c5LargeNg&#8221; will use &#8220;&#8221; [AmazonLinux2\/1.30]\n2024-09-02 12:02:24 [\u2139]  2 existing nodegroup(s) (new-node-group,ng-9e92b41d) will be excluded<br \/>\n2024-09-02 12:02:24 [\u2139]  1 nodegroup (c5LargeNg) was included (based on the include\/exclude rules)<br \/>\n2024-09-02 12:02:24 [\u2139]  will create a CloudFormation stack for each of 1 managed nodegroups in cluster &#8220;finansy&#8221;<br \/>\n2024-09-02 12:02:24 [\u2139]\n2 sequential tasks: { fix cluster compatibility, 1 task: { 1 task: { create managed nodegroup &#8220;c5LargeNg&#8221; } }<br \/>\n}<br \/>\n2024-09-02 12:02:24 [\u2139]  checking cluster stack for missing resources<br \/>\n2024-09-02 12:02:25 [\u2139]  cluster stack has all required resources<br \/>\n2024-09-02 12:02:25 [\u2139]  building managed nodegroup stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:02:25 [\u2139]  deploying stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:02:25 [\u2139]  waiting for CloudFormation stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:02:55 [\u2139]  waiting for CloudFormation stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:03:52 [\u2139]  waiting for CloudFormation stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:05:17 [\u2139]  waiting for CloudFormation stack &#8220;eksctl-finansy-nodegroup-c5LargeNg&#8221;<br \/>\n2024-09-02 12:05:17 [\u2139]  no tasks<br \/>\n2024-09-02 12:05:17 [\u2714]  created 0 nodegroup(s) in cluster &#8220;finansy&#8221;<br \/>\n2024-09-02 12:05:18 [\u2139]  nodegroup &#8220;c5LargeNg&#8221; has 1 node(s)<br \/>\n2024-09-02 12:05:18 [\u2139]  node &#8220;ip-192-168-3-155.us-west-2.compute.internal&#8221; is ready<br \/>\n2024-09-02 12:05:18 [\u2139]  waiting for at least 1 node(s) to become ready in &#8220;c5LargeNg&#8221;<br \/>\n2024-09-02 12:05:18 [\u2139]  nodegroup &#8220;c5LargeNg&#8221; has 1 node(s)<br \/>\n2024-09-02 12:05:18 [\u2139]  node &#8220;ip-192-168-3-155.us-west-2.compute.internal&#8221; is ready<br \/>\n2024-09-02 12:05:18 [\u2714]  created 1 managed nodegroup(s) in cluster &#8220;finansy&#8221;<br \/>\n2024-09-02 12:05:18 [\u2139]  checking security group configuration for all nodegroups<br \/>\n2024-09-02 12:05:18 [\u2139]  all nodegroups have up-to-date cloudformation templates<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u0642\u062f\u06cc\u0645\u06cc \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u279c  ~ eksctl delete nodegroup &#8211;cluster finansy &#8211;name ng-9e92b41d<br \/>\n2024-09-02 12:06:03 [\u2139]  1 nodegroup (ng-9e92b41d) was included (based on the include\/exclude rules)<br \/>\n2024-09-02 12:06:03 [\u2139]  will drain 1 nodegroup(s) in cluster &#8220;finansy&#8221;<br \/>\n2024-09-02 12:06:03 [\u2139]  starting parallel draining, max in-flight of 1<br \/>\n2024-09-02 12:06:03 [\u2139]  cordon node &#8220;ip-192-168-88-252.us-west-2.compute.internal&#8221;<br \/>\n2024-09-02 12:06:30 [\u2714]  drained all nodes: [ip-192-168-88-252.us-west-2.compute.internal]\n2024-09-02 12:06:30 [\u2716]  failed to acquire semaphore while waiting for all routines to finish: context canceled<br \/>\n2024-09-02 12:06:30 [\u2139]  will delete 1 nodegroups from cluster &#8220;finansy&#8221;<br \/>\n2024-09-02 12:06:30 [\u2139]  1 task: { 1 task: { delete nodegroup &#8220;ng-9e92b41d&#8221; [async] } }<br \/>\n2024-09-02 12:06:31 [\u2139]  will delete stack &#8220;eksctl-finansy-nodegroup-ng-9e92b41d&#8221;<br \/>\n2024-09-02 12:06:31 [\u2714]  deleted 1 nodegroup(s) from cluster &#8220;finansy&#8221;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc Pod \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u279c  ~ kubectl logs portfolio-service-deployment-6b6b4b6c4c-cslnw<\/p>\n<p>  .   ____          _            __ _ _<br \/>\n \/\\\\ \/ ___&#8217;_ __ _ _(_)_ __  __ _ \\ \\ \\ \\<br \/>\n( ( )\\___ | &#8216;_ | &#8216;_| | &#8216;_ \\\/ _` | \\ \\ \\ \\<br \/>\n \\\\\/  ___)| |_)| | | | | || (_| |  ) ) ) )<br \/>\n  &#8216;  |____| .__|_| |_|_| |_\\__, | \/ \/ \/ \/<br \/>\n =========|_|==============|___\/=\/_\/_\/_\/<\/p>\n<p> :: Spring Boot ::                (v3.3.2)<\/p>\n<p>2024-09-02T19:08:16.805Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : Starting FinansyPortfolioServiceApplication using Java 21 with PID 1 (\/app\/portfolio-service.jar started by root in \/app)<br \/>\n2024-09-02T19:08:16.828Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : No active profile set, falling back to 1 default profile: &#8220;default&#8221;<br \/>\n2024-09-02T19:08:20.090Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.<br \/>\n2024-09-02T19:08:20.940Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 828 ms. Found 1 R2DBC repository interface.<br \/>\n2024-09-02T19:08:24.691Z DEBUG 1 &#8212; [Finansy Portfolio Service] [           main] s.w.r.r.m.a.RequestMappingHandlerMapping : 5 mappings in &#8216;requestMappingHandlerMapping&#8217;<br \/>\n2024-09-02T19:08:24.728Z DEBUG 1 &#8212; [Finansy Portfolio Service] [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Patterns [\/webjars\/**, \/**] in &#8216;resourceHandlerMapping&#8217;<br \/>\n2024-09-02T19:08:24.824Z DEBUG 1 &#8212; [Finansy Portfolio Service] [           main] o.s.w.r.r.m.a.ControllerMethodResolver   : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 @ExceptionHandler<br \/>\n2024-09-02T19:08:24.907Z DEBUG 1 &#8212; [Finansy Portfolio Service] [           main] o.s.w.s.adapter.HttpWebHandlerAdapter    : enableLoggingRequestDetails=&#8221;false&#8221;: form data and headers will be masked to prevent unsafe logging of potentially sensitive data<br \/>\n2024-09-02T19:08:26.568Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port 8080 (http)<br \/>\n2024-09-02T19:08:26.615Z  INFO 1 &#8212; [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : Started FinansyPortfolioServiceApplication in 11.949 seconds (process running for 13.818)<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u062f\u0648\u0628\u0627\u0631\u0647 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u279c  ~ kubectl get svc<\/p>\n<p>NAME                TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)        AGE<br \/>\nkubernetes          ClusterIP      10.100.0.1                                                                          443\/TCP        88m<br \/>\nportfolio-service   LoadBalancer   10.100.177.55   a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com   80:31295\/TCP   66m<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0631\u0627 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u279c  ~  curl http:\/\/a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com\/api\/v1\/user-assets<br \/>\n[]%<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0633\u0631\u0648\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a!<\/p>\n<p>  \u062e\u0648\u0634\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062a\u0627 \u0627\u0632 \u062a\u062d\u0645\u06cc\u0644 \u0647\u0631\u06af\u0648\u0646\u0647 \u0647\u0632\u06cc\u0646\u0647 \u0627\u0636\u0627\u0641\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f.<\/p>\n<p>eksctl delete cluster &#8211;name finansy<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<div data-article-id=\"1984742\" id=\"article-body\">\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0648\u0632 \u0635\u0628\u062d \u0627\u0632 \u062e\u0648\u0627\u0628 \u0628\u06cc\u062f\u0627\u0631 \u0634\u062f\u06cc\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u06cc\u062f Kubernetes \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0634\u0645\u0627 \u06a9\u0645\u06cc \u062c\u0633\u062a\u200c\u0648\u062c\u0648 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u062f\u0627\u0646\u0634 \u0646\u0638\u0631\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0647\u0644 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631 \u0647\u0633\u062a\u06cc\u062f.<\/p>\n<p>\u0645\u0646 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0642\u0627\u06cc\u0642 \u062a\u0648 \u0647\u0633\u062a\u0645. \u0648 \u0628\u0631\u062e\u0644\u0627\u0641 \u0633\u0627\u06cc\u0631 \u0648\u0628\u0644\u0627\u06af\u200c\u0647\u0627 \u06cc\u0627 \u0622\u0645\u0648\u0632\u0634\u200c\u0647\u0627 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0645\u062d\u0635\u0648\u0644 \u0646\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062e\u0648\u0628\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u06cc\u0646 \u0648\u0628\u0644\u0627\u06af\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u0633\u062a\u0646\u062f\u0633\u0627\u0632\u06cc \u0633\u0641\u0631 \u0648\u0627\u0642\u0639\u06cc \u0645\u0646 \u062f\u0631 \u0633\u0627\u062e\u062a \u062e\u062f\u0645\u0627\u062a \u0645\u06cc\u06a9\u0631\u0648 \u062f\u0631 EKS \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/p>\n<p>\u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062c\u0645\u0648\u0639\u0647 \u067e\u0633\u062a \u0647\u0627\u06cc \u0648\u0628\u0644\u0627\u06af\u060c \u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0627\u0644\u06cc \u0634\u062e\u0635\u06cc \u0628\u0633\u0627\u0632\u0645. \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u06cc\u062f \u062a\u0627 \u06a9\u062c\u0627 \u067e\u06cc\u0634 \u0645\u06cc \u0631\u0648\u06cc\u0645. \u0645\u0646 \u0627\u0633\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u06af\u0630\u0627\u0634\u062a\u0645 <code>Finansy<\/code>\u06a9\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u0631\u0648\u0633\u06cc \u0641\u0627\u06cc\u0646\u0627\u0646\u0633 \u0627\u0633\u062a.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 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 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AF%D8%B1_%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_AWS_%D8%AA%D9%88%D8%AC%D9%87_%D8%AF%D8%A7%D8%B4%D8%AA%D9%87_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\" >\u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f<\/a><\/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\/deploying-an-application-to-amazon-eks-id7\/#%DB%8C%DA%A9_%D8%AE%D9%88%D8%B4%D9%87_Kubernetes_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06cc\u06a9 \u062e\u0648\u0634\u0647 Kubernetes \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/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\/deploying-an-application-to-amazon-eks-id7\/#%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84_%D8%A8%D9%87_EKS_Cluster_%D8%A7%D8%B2_%D8%AA%D8%B1%D9%85%DB%8C%D9%86%D8%A7%D9%84\" >\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 EKS Cluster \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644<\/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\/deploying-an-application-to-amazon-eks-id7\/#%DB%8C%DA%A9_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%AC%D8%A7%D9%88%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062c\u0627\u0648\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%DB%8C%DA%A9_JAR\" >\u062a\u0648\u0644\u06cc\u062f \u06cc\u06a9 JAR<\/a><\/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\/deploying-an-application-to-amazon-eks-id7\/#%DB%8C%DA%A9_Dockerfile_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06cc\u06a9 Dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AA%D8%B5%D9%88%DB%8C%D8%B1_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%A2%D9%85%D8%A7%D8%B2%D9%88%D9%86_ECR_%D8%A8%D8%A7%D8%B1%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0622\u0645\u0627\u0632\u0648\u0646 ECR \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/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\/deploying-an-application-to-amazon-eks-id7\/#%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85_Kubernetes_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D8%AE%D9%84%D8%A7%D8%B5%D9%87\" >\u0645\u0641\u0627\u0647\u06cc\u0645 Kubernetes \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#1_Kubernetes_Pod\" >1. Kubernetes Pod<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#2_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_Kubernetes\" >2. \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#3_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_Kubernetes\" >3. \u0633\u0631\u0648\u06cc\u0633 Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#4_Kubernetes_Load_Balancer\" >4. Kubernetes Load Balancer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%B1%D8%A7%D8%A8%D8%B7%D9%87_%D8%A8%DB%8C%D9%86_%D8%A8%D8%A7%D8%B1_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D9%88_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3\" >\u0631\u0627\u0628\u0637\u0647 \u0628\u06cc\u0646 \u0628\u0627\u0631 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0648 \u0633\u0631\u0648\u06cc\u0633<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_K8S_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\" >\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc K8S \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AE%D9%88%D8%B4%D9%87_%D8%B1%D8%A7_%D8%A8%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D9%88_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D9%85%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062e\u0648\u0634\u0647 \u0631\u0627 \u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA\" >\u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062e\u062f\u0645\u0627\u062a<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D9%BE%D8%A7%D8%AF_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u062f \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%DA%86%D8%B1%D8%A7_%D8%BA%D9%84%D8%A7%D9%81_%D9%87%D8%A7_%D8%AF%D8%B1_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D9%85%D8%B9%D9%84%D9%82_%D9%87%D8%B3%D8%AA%D9%86%D8%AF\" >\u0686\u0631\u0627 \u063a\u0644\u0627\u0641 \u0647\u0627 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0645\u0639\u0644\u0642 \u0647\u0633\u062a\u0646\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C_%D9%86%D9%88%D8%B9_%D9%86%D9%85%D9%88%D9%86%D9%87_%D9%85%D9%86%D8%A7%D8%B3%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%85%D8%A7\" >\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0646\u0648\u0639 \u0646\u0645\u0648\u0646\u0647 \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_%DA%AF%D8%B1%D9%88%D9%87_%DA%AF%D8%B1%D9%87_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%AF%D8%B1_%D8%AE%D9%88%D8%B4%D9%87\" >\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u062c\u062f\u06cc\u062f \u062f\u0631 \u062e\u0648\u0634\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%DA%AF%D8%B1%D9%88%D9%87_%DA%AF%D8%B1%D9%87_%D9%82%D8%AF%DB%8C%D9%85%DB%8C_%D8%B1%D8%A7_%D8%AD%D8%B0%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u0642\u062f\u06cc\u0645\u06cc \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4_%D9%87%D8%A7%DB%8C_Pod_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >\u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc Pod \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AF%D9%88%D8%A8%D8%A7%D8%B1%D9%87_%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062f\u0648\u0628\u0627\u0631\u0647 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%B1%D8%A7_%D9%BE%D8%B1%D8%B3_%D9%88_%D8%AC%D9%88_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0631\u0627 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/nabfollower.com\/blog\/deploying-an-application-to-amazon-eks-id7\/#%D8%AE%D9%88%D8%B4%D9%87_%D8%B1%D8%A7_%D8%AD%D8%B0%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\" >\u062e\u0648\u0634\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1_%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_AWS_%D8%AA%D9%88%D8%AC%D9%87_%D8%AF%D8%A7%D8%B4%D8%AA%D9%87_%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF\"><\/span>\n<p>  \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 AWS \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 MFA \u0631\u0627 \u062f\u0631 \u062d\u0633\u0627\u0628 \u062e\u0648\u062f \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648 \u0647\u0634\u062f\u0627\u0631\u0647\u0627\u06cc \u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628 \u0631\u0627 \u062f\u0631 AWS \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0648\u06cc\u062f\u06cc\u0648\u06cc \u06cc\u0648\u062a\u06cc\u0648\u0628 \u062e\u0648\u0628 \u062f\u0631 \u0645\u0648\u0631\u062f \u0635\u0648\u0631\u062a\u062d\u0633\u0627\u0628 \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_%D8%AE%D9%88%D8%B4%D9%87_Kubernetes_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06cc\u06a9 \u062e\u0648\u0634\u0647 Kubernetes \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0627 \u0627\u0632 eksctl \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc EKS \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u06cc\u0646 \u0645\u062d\u0628\u0648\u0628 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0645.<\/p>\n<blockquote>\n<p>eksctl \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u0633\u0627\u062f\u0647 CLI \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u0634\u0647 \u0647\u0627 \u062f\u0631 EKS &#8211; \u0633\u0631\u0648\u06cc\u0633 \u0645\u062f\u06cc\u0631\u06cc\u062a Kubernetes \u0622\u0645\u0627\u0632\u0648\u0646 \u0628\u0631\u0627\u06cc EC2 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u062f\u0631 Go \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u0632 CloudFormation \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u062a\u0648\u0633\u0637 Weaveworks \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a \u0648 \u0627\u0632 \u0645\u0634\u0627\u0631\u06a9\u062a \u0647\u0627\u06cc \u062c\u0627\u0645\u0639\u0647 \u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<\/blockquote>\n<p>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062f\u0644\u06cc\u0644 <code>eksctl<\/code> \u0627\u0632 CloudFormation \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u0646 \u0628\u0647 \u0634\u062f\u062a \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645 \u0627\u0632 \u06a9\u0646\u0633\u0648\u0644 AWS \u0628\u0631\u0627\u06cc \u0627\u0635\u0644\u0627\u062d \u0645\u0646\u0627\u0628\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f. \u0645\u0646 \u0642\u0635\u062f \u062f\u0627\u0631\u0645 \u0627\u0632 ChatGPT \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u0641\u06cc\u062f \u062f\u0631 \u062d\u06cc\u0646 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>eksctl create cluster <span class=\"se\">\\<\/span>\n  <span class=\"nt\">--name<\/span> finansy <span class=\"se\">\\<\/span>\n  <span class=\"nt\">--version<\/span> 1.30 <span class=\"se\">\\<\/span>\n  <span class=\"nt\">--nodes<\/span> 1 <span class=\"se\">\\<\/span>\n  <span class=\"nt\">--node-type<\/span> t2.micro <span class=\"se\">\\<\/span>\n  <span class=\"nt\">--region<\/span> us-west-2\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\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0628\u0647 15 \u062f\u0642\u06cc\u0642\u0647 \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a. \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 t2.micro \u0648\u0627\u062c\u062f \u0634\u0631\u0627\u06cc\u0637 \u0644\u0627\u06cc\u0647 \u0631\u0627\u06cc\u06af\u0627\u0646 \u0627\u0633\u062a. \u0647\u062f\u0641 \u0645\u0646 \u06a9\u0627\u0647\u0634 \u0647\u0632\u06cc\u0646\u0647 \u0647\u0627 \u062a\u0627 \u062d\u062f \u0627\u0645\u06a9\u0627\u0646 \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84_%D8%A8%D9%87_EKS_Cluster_%D8%A7%D8%B2_%D8%AA%D8%B1%D9%85%DB%8C%D9%86%D8%A7%D9%84\"><\/span>\n<p>  \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 EKS Cluster \u0627\u0632 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u062e\u0648\u0634\u0647 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0632 CLI \u0628\u0647 \u0622\u0646 \u0645\u062a\u0635\u0644 \u0634\u0648\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>aws eks update-kubeconfig <span class=\"nt\">--region<\/span> us-west-2 <span class=\"nt\">--name<\/span> finansy\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\u0646 \u0645\u0627 \u0631\u0627 \u0642\u0627\u062f\u0631 \u0645\u06cc \u0633\u0627\u0632\u062f \u062a\u0627 \u0627\u0632 \u062a\u0639\u0627\u0645\u0644 kubectl \u0628\u0627 \u0635\u0641\u062d\u0647 \u06a9\u0646\u062a\u0631\u0644\u06cc \u062e\u0648\u0634\u0647 Kubernetes \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0632 \u062e\u0648\u062f \u0628\u067e\u0631\u0633\u06cc\u062f \u06a9\u0647 \u0686\u0631\u0627 \u062f\u0631 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0627\u0634\u062a\u06cc\u0645 \u0628\u0647 CLI \u062f\u06cc\u06af\u0631\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 <code>eksctl<\/code> \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 <code>eksctl<\/code> \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 AWS \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0644\u0627\u0633\u062a\u0631 EKS \u0634\u0645\u0627 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f K8S \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f. <code>eksctl<\/code>. \u0645\u0627 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 <code>kubectl<\/code> \u0628\u0631\u0627\u06cc \u0622\u0646<\/p>\n<p><em>\u062a\u0648\u062c\u0647:<\/em> \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u062c\u0631\u06cc\u0627\u0646 <code>kubectl<\/code> \u0632\u0645\u06cc\u0646\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0628\u0647 \u062e\u0648\u0634\u0647 \u0647\u0627 \u0645\u062a\u0635\u0644 \u0647\u0633\u062a\u06cc\u062f (<em>\u0645\u062a\u0627\u0633\u0641\u0645<\/em>) \u0648 \u0627\u0632 \u0631\u0627\u0647 \u062f\u0648\u0631 (<em>EX<\/em>).<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>kubectl config current-context\nkubectl config get-contexts\nkubectl config use-context <your-eks-context-name>\n<\/your-eks-context-name><\/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<h3><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%AC%D8%A7%D9%88%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u062c\u0627\u0648\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0627 \u06cc\u06a9 API \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u062c\u0627\u0648\u0627 \u0631\u0627 \u062f\u0631 Spring Boot \u062f\u0631 EKS \u0645\u0633\u062a\u0642\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0648\u0628\u0644\u0627\u06af \u0628\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0633\u062a. \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u06cc\u06a9 API \u062f\u0631 \u067e\u0648\u0631\u062a \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f <code>8080<\/code>.<\/p>\n<p>\u0628\u0647 \u0632\u0648\u062f\u06cc \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u0628 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u062e\u0648\u0627\u0647\u0645 \u06af\u0630\u0627\u0634\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%DB%8C%DA%A9_JAR\"><\/span>\n<p>  \u062a\u0648\u0644\u06cc\u062f \u06cc\u06a9 JAR<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><em>\u0648 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u067e\u0631\u0648\u0698\u0647 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a<\/em><\/p>\n<p>\u0631\u0627 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u06cc\u062f <code>build<\/code> \u0628\u0647 \u062e\u0648\u062f \u062a\u06af \u06a9\u0646\u06cc\u062f <code>pom.xml<\/code> \u0641\u0627\u06cc\u0644\u06cc \u06a9\u0647 \u0627\u0632 maven \u0645\u06cc \u062e\u0648\u0627\u0647\u062f \u06a9\u0647 a \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f <code>jar<\/code> \u0641\u0627\u06cc\u0644 \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 <code>copy<\/code> \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f <code>jar<\/code> \u062f\u0631 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a k8s infra\u060c \u0627\u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0645\u0644\u0627 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight xml\"><code>  <span class=\"nt\"><build\/><\/span>\n    <span class=\"nt\"><plugins\/><\/span>\n      <span class=\"nt\"><plugin\/><\/span>\n        <span class=\"nt\"><groupid\/><\/span>org.springframework.boot<span class=\"nt\"\/>\n        <span class=\"nt\"><artifactid\/><\/span>spring-boot-maven-plugin<span class=\"nt\"\/>\n         <span class=\"nt\"><executions\/><\/span>\n            <span class=\"nt\"><execution\/><\/span>\n              <span class=\"nt\"><goals\/><\/span>\n                  <span class=\"nt\"><goal\/><\/span>repackage<span class=\"nt\"\/>\n              <span class=\"nt\"\/>\n            <span class=\"nt\"\/>\n          <span class=\"nt\"\/>\n      <span class=\"nt\"\/>\n      <span class=\"nt\"><plugin\/><\/span>\n        <span class=\"nt\"><groupid\/><\/span>org.apache.maven.plugins<span class=\"nt\"\/>\n        <span class=\"nt\"><artifactid\/><\/span>maven-antrun-plugin<span class=\"nt\"\/>\n        <span class=\"nt\"><version\/><\/span>1.8<span class=\"nt\"\/>\n        <span class=\"nt\"><executions\/><\/span>\n            <span class=\"nt\"><execution\/><\/span>\n                <span class=\"nt\"><phase\/><\/span>package<span class=\"nt\"\/>\n                <span class=\"nt\"><goals\/><\/span>\n                    <span class=\"nt\"><goal\/><\/span>run<span class=\"nt\"\/>\n                <span class=\"nt\"\/>\n                <span class=\"nt\"><configuration\/><\/span>\n                    <span class=\"nt\"><target\/><\/span>\n                        <span class=\"nt\"><copy> <span class=\"na\">file=<\/span><span class=\"s\">\"${project.build.directory}\/${project.artifactId}.jar\"<\/span>\n                              <span class=\"na\">tofile=<\/span><span class=\"s\">\"app\/${project.artifactId}.jar\"<\/span><span class=\"nt\">\/&gt;<\/span>\n                    <span class=\"nt\"\/>\n                <span class=\"nt\"\/>\n            <span class=\"nt\"\/>\n        <span class=\"nt\"\/>\n      <span class=\"nt\"\/>\n    <span class=\"nt\"\/>\n\n    <span class=\"nt\"><finalname\/><\/span>${project.artifactId}<span class=\"nt\"\/>\n  <span class=\"nt\"\/>\n<\/copy><\/span><\/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<h3><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_Dockerfile_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06cc\u06a9 Dockerfile \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0646\u0627\u0645 \u0641\u0627\u06cc\u0644: <code>Dockerfile<\/code><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Use an official OpenJDK 21 runtime as a parent image\nFROM openjdk:21\n\n# Set the working directory in the container\nWORKDIR \/app\n\n# Copy the executable JAR file to the container\nCOPY app\/portfolio-service.jar \/app\/portfolio-service.jar\n\nCMD [\"java\", \"-jar\", \"\/app\/portfolio-service.jar\"]\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>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0627 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 jar \u062a\u0648\u0644\u06cc\u062f \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 maven \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc \u0631\u0648\u062f \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>docker build -t finansy\/portfolio-service:1.1 .\ndocker run -d -p 8080:8080 --name portfolio-service finansy\/portfolio-service:1.1\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><code>curl http:\/\/localhost:8080\/<path\/><\/code>  \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u067e\u0627\u0633\u062e \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B5%D9%88%DB%8C%D8%B1_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%A2%D9%85%D8%A7%D8%B2%D9%88%D9%86_ECR_%D8%A8%D8%A7%D8%B1%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631 \u0622\u0645\u0627\u0632\u0648\u0646 ECR \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062b\u0628\u062a \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0627\u0644\u0627\u0633\u062a\u06cc\u06a9 \u0622\u0645\u0627\u0632\u0648\u0646 \u0686\u06cc\u0633\u062a\u061f<\/p>\n<blockquote>\n<p>\u062a\u0635\u0627\u0648\u06cc\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0631\u0627 \u0628\u062f\u0648\u0646 \u0646\u0635\u0628 \u06cc\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0628\u0647 Amazon ECR \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0631 \u0627\u0628\u0632\u0627\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0631\u0627 \u0628\u06a9\u0634\u06cc\u062f.<\/p>\n<\/blockquote>\n<p>\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u062a\u0635\u0648\u06cc\u0631 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 ECR \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u0645 \u062a\u0627 EKS \u0628\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0622\u0646 \u0631\u062c\u0648\u0639 \u06a9\u0646\u062f.<\/p>\n<ul>\n<li>\u0628\u0647 \u06a9\u0646\u0633\u0648\u0644 \u0622\u0645\u0627\u0632\u0648\u0646 ECR \u0628\u0631\u0648\u06cc\u062f <\/li>\n<li>\u06cc\u06a9 \u0645\u062e\u0632\u0646 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 View push commands \u062f\u0631 \u062c\u0632\u0626\u06cc\u0627\u062a \u0645\u062e\u0632\u0646 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f <\/li>\n<li>\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a Docker \u0628\u0627 \u0631\u062c\u06cc\u0633\u062a\u0631\u06cc ECR \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f <\/li>\n<li>\u062a\u0635\u0648\u06cc\u0631 \u062f\u0627\u06a9\u0631 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f<\/li>\n<li>uri \u062a\u0635\u0648\u06cc\u0631 docker \u0631\u0627 \u06a9\u067e\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f <code>image<\/code> \u0645\u0633\u06cc\u0631 \u0632\u06cc\u0631 \u062f\u0631 <code>k8s.yaml<\/code>.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85_Kubernetes_%D8%A8%D9%87_%D8%B7%D9%88%D8%B1_%D8%AE%D9%84%D8%A7%D8%B5%D9%87\"><\/span>\n<p>  \u0645\u0641\u0627\u0647\u06cc\u0645 Kubernetes \u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0631\u0648\u0631\u06cc \u06a9\u0648\u062a\u0627\u0647 \u0628\u0631 \u0645\u0641\u0627\u0647\u06cc\u0645 Kubernetes \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0642\u06cc\u0647 \u067e\u0633\u062a \u0645\u0641\u06cc\u062f \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u0637\u0631\u06cc\u0642 ChatGPT \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u0634\u0648\u062f \ud83d\ude42<\/p>\n<h4><span class=\"ez-toc-section\" id=\"1_Kubernetes_Pod\"><\/span>\n<p>  <strong>1. Kubernetes Pod<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u0644\u0641 <strong>\u063a\u0644\u0627\u0641<\/strong> \u06a9\u0648\u0686\u06a9\u062a\u0631\u06cc\u0646 \u0648 \u0633\u0627\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0634\u06cc \u06a9\u0648\u0628\u0631\u0646\u062a\u0633 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0648\u0627\u062d\u062f \u0627\u0632 \u06cc\u06a9 \u0641\u0631\u0622\u06cc\u0646\u062f \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u062f\u0631 \u062e\u0648\u0634\u0647 \u0634\u0645\u0627 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u06cc\u06a9 Pod \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 (\u0645\u062b\u0644\u0627\u064b \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc Docker) \u0631\u0627 \u06a9\u0647 \u0641\u0636\u0627\u06cc \u0646\u0627\u0645 \u0634\u0628\u06a9\u0647\u060c \u0622\u062f\u0631\u0633 IP \u0648 \u062d\u062c\u0645\u200c\u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u06cc\u06a9\u0633\u0627\u0646\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u0646\u062f\u060c \u06a9\u067e\u0633\u0648\u0644\u0647 \u06a9\u0646\u062f. \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627 \u062f\u0631 \u06cc\u06a9 Pod \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0647 \u0637\u0648\u0631 \u0645\u062d\u06a9\u0645 \u0628\u0647 \u0647\u0645 \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f \u0648 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u0646\u0627\u0628\u0639 \u0645\u0627\u0646\u0646\u062f \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u06cc\u0627 \u0634\u0628\u06a9\u0647 \u062f\u0627\u0631\u0646\u062f.<\/p>\n<p><strong>\u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0622\u062f\u0631\u0633 IP \u0648\u0627\u062d\u062f<\/strong>: \u0647\u0631 Pod \u06cc\u06a9 \u0622\u062f\u0631\u0633 IP \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u062f\u0627\u0631\u062f.<\/li>\n<li>\n<strong>\u0641\u0636\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0645\u0634\u062a\u0631\u06a9<\/strong>: \u0638\u0631\u0648\u0641 \u062f\u0631 \u0647\u0645\u0627\u0646 Pod \u062d\u062c\u0645 \u0647\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647 \u0633\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0645\u06cc \u06af\u0630\u0627\u0631\u0646\u062f.<\/li>\n<li>\n<strong>\u0686\u0631\u062e\u0647 \u0632\u0646\u062f\u06af\u06cc<\/strong>: \u063a\u0644\u0627\u0641 \u0647\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f \u06a9\u0647 \u0632\u0648\u062f\u06af\u0630\u0631 \u0628\u0627\u0634\u0646\u062f. \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u062f.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"2_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_Kubernetes\"><\/span>\n<p>  <strong>2. \u0627\u0633\u062a\u0642\u0631\u0627\u0631 Kubernetes<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u0644\u0641 <strong>\u0627\u0633\u062a\u0642\u0631\u0627\u0631<\/strong> \u06cc\u06a9 \u0627\u0646\u062a\u0632\u0627\u0639 \u0633\u0637\u062d \u0628\u0627\u0644\u0627\u062a\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0648 \u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc Pods \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062a\u0639\u062f\u0627\u062f \u0645\u0634\u062e\u0635\u06cc \u0627\u0632 \u067e\u0627\u062f\u0647\u0627 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0647\u0633\u062a\u0646\u062f \u0648 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0646\u062a\u0631\u0644 \u0634\u062f\u0647 \u0628\u0647 \u0631\u0648\u0632 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p><strong>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u0645\u0642\u06cc\u0627\u0633 \u0628\u0646\u062f\u06cc<\/strong>: \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u062a\u0639\u062f\u0627\u062f Pods \u0631\u0627 \u0628\u0627\u0644\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\n<strong>\u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0627\u06cc \u0686\u0631\u062e\u0634\u06cc<\/strong>: \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc Pods \u0628\u062f\u0648\u0646 \u062a\u0648\u0642\u0641\u060c \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0645\u062a\u062d\u0631\u06a9 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.<\/li>\n<li>\n<strong>\u0628\u0627\u0632\u06af\u0634\u062a \u0628\u0647 \u0639\u0642\u0628<\/strong>: \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc\u060c \u0628\u0647 \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc \u0628\u0631\u06af\u0631\u062f\u06cc\u062f.<\/li>\n<\/ul>\n<p><strong>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0639\u0645\u0648\u0644\u06cc<\/strong>: \u0627\u0632 Deployments \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0628\u062f\u0648\u0646 \u062d\u0627\u0644\u062a \u0648 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u062d\u0641\u0638 \u0648\u0636\u0639\u06cc\u062a \u0645\u0637\u0644\u0648\u0628 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"3_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_Kubernetes\"><\/span>\n<p>  <strong>3. \u0633\u0631\u0648\u06cc\u0633 Kubernetes<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u0644\u0641 <strong>\u062e\u062f\u0645\u0627\u062a<\/strong> \u06cc\u06a9 \u0627\u0646\u062a\u0632\u0627\u0639 \u0627\u0633\u062a \u06a9\u0647 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0645\u0646\u0637\u0642\u06cc \u0627\u0632 Pods \u0648 \u062e\u0637 \u0645\u0634\u06cc \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0622\u0646\u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 (\u0622\u062f\u0631\u0633 IP \u0648 \u0646\u0627\u0645 DNS) \u0628\u0631\u0627\u06cc Pods \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0637\u0648\u0644 \u0632\u0645\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0646\u062f.<\/p>\n<p><strong>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u06a9\u0634\u0641 \u062e\u062f\u0645\u0627\u062a<\/strong>: \u06cc\u06a9 \u0646\u0627\u0645 DNS \u067e\u0627\u06cc\u062f\u0627\u0631 \u0628\u0631\u0627\u06cc \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0632 Pods \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<li>\n<strong>\u062a\u0639\u0627\u062f\u0644 \u0628\u0627\u0631<\/strong>: \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u0628\u06cc\u0646 \u067e\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0633\u062a\u0646\u062f \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u067e\u0648\u0631\u062a \u0641\u0648\u0631\u0648\u0627\u0631\u062f\u06cc\u0646\u06af<\/strong>: \u06cc\u06a9 \u067e\u0648\u0631\u062a \u062f\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u0648\u0631\u062a \u062f\u0631 Pods \u0646\u06af\u0627\u0634\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p><strong>\u0627\u0646\u0648\u0627\u0639<\/strong>:<\/p>\n<ul>\n<li>\n<strong>ClusterIP<\/strong>: \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 IP \u062f\u0627\u062e\u0644\u06cc \u062e\u0648\u0634\u0647 \u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f. \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.<\/li>\n<li>\n<strong>NodePort<\/strong>: \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 IP \u0647\u0631 \u06af\u0631\u0647 \u062f\u0631 \u06cc\u06a9 \u067e\u0648\u0631\u062a \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0627\u062c\u0627\u0632\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0627\u0631\u062c\u06cc \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f.<\/li>\n<li>\n<strong>LoadBalancer<\/strong>: \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06cc\u06a9 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u0628\u0631\u0627\u06cc \u0627\u0641\u0634\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0628\u0631.<\/li>\n<li>\n<strong>\u0633\u0631\u0648\u06cc\u0633 \u0628\u06cc \u0633\u0631<\/strong>: IP \u062e\u0648\u0634\u0647 \u0627\u06cc \u0631\u0627 \u0627\u062e\u062a\u0635\u0627\u0635 \u0646\u0645\u06cc \u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062d\u0627\u0644\u062a \u062f\u0627\u0631 \u0645\u0641\u06cc\u062f \u0627\u0633\u062a.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"4_Kubernetes_Load_Balancer\"><\/span>\n<p>  <strong>4. Kubernetes Load Balancer<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u0644\u0641 <strong>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631<\/strong> \u062e\u0648\u062f \u06cc\u06a9 \u0645\u0646\u0628\u0639 Kubernetes \u0646\u06cc\u0633\u062a\u060c \u0627\u0645\u0627 \u0627\u063a\u0644\u0628 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062e\u062f\u0645\u0627\u062a Kubernetes \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0632 \u0646\u0648\u0639 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f <code>LoadBalancer<\/code>\u060c Kubernetes \u06cc\u06a9 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0645\u0628\u062a\u0646\u06cc \u0628\u0631 \u0627\u0628\u0631 (\u0627\u06af\u0631 \u062a\u0648\u0633\u0637 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u0634\u0645\u0627 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc \u0634\u0648\u062f) \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0627\u0631\u062c\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p><strong>\u062a\u0648\u0627\u0628\u0639 \u06a9\u0644\u06cc\u062f\u06cc:<\/strong><\/p>\n<ul>\n<li>\n<strong>\u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0627\u0631\u062c\u06cc<\/strong>: \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062e\u062f\u0645\u0627\u062a \u0631\u0627 \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 Kubernetes \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u062a\u0648\u0632\u06cc\u0639 \u062a\u0631\u0627\u0641\u06cc\u06a9<\/strong>: \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u062f\u0631 \u0686\u0646\u062f \u067e\u0627\u062f \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0627\u0631 \u0631\u0627 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D8%A8%D8%B7%D9%87_%D8%A8%DB%8C%D9%86_%D8%A8%D8%A7%D8%B1_%D9%85%D8%AA%D8%B9%D8%A7%D8%AF%D9%84_%DA%A9%D9%86%D9%86%D8%AF%D9%87_%D9%88_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3\"><\/span>\n<p>  <strong>\u0631\u0627\u0628\u0637\u0647 \u0628\u06cc\u0646 \u0628\u0627\u0631 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0648 \u0633\u0631\u0648\u06cc\u0633<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>\n<strong>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631<\/strong>: \u0645\u0646\u0628\u0639\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062a\u0648\u0633\u0637 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0627\u0628\u0631 (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c AWS ELB\u060c GCP Load Balancer) \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0648\u0631\u0648\u062f\u06cc \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0646\u0642\u0627\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0645\u0646\u0627\u0633\u0628 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>\n<strong>\u0633\u0631\u0648\u06cc\u0633 (\u0646\u0648\u0639: LoadBalancer)<\/strong>: \u0648\u0642\u062a\u06cc \u06cc\u06a9 \u0633\u0631\u0648\u06cc\u0633 Kubernetes \u0627\u0632 \u0646\u0648\u0639 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u062f <code>LoadBalancer<\/code>\u060c Kubernetes \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0627\u0631 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u0646\u062f\u0647 \u0627\u0628\u0631 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0631\u062f. \u0633\u067e\u0633 \u0633\u0631\u0648\u06cc\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631 \u0628\u0631\u0627\u06cc \u0647\u062f\u0627\u06cc\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u062e\u0627\u0631\u062c\u06cc \u0628\u0647 \u067e\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0633\u062a\u0646\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<\/ul>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u062e\u0644\u0627\u0635\u0647\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 <strong>\u062e\u062f\u0645\u0627\u062a<\/strong> \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062f\u0627\u062e\u0644\u06cc \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u0648 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062e\u0648\u0634\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u062f <strong>\u0645\u062a\u0639\u0627\u062f\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0631<\/strong> (\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0628\u0627 a <code>LoadBalancer<\/code> \u0646\u0648\u0639 \u0633\u0631\u0648\u06cc\u0633) \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u062e\u0627\u0631\u062c\u06cc \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u062a\u0648\u0632\u06cc\u0639 \u062a\u0631\u0627\u0641\u06cc\u06a9 \u0631\u0627 \u0627\u0632 \u062e\u0627\u0631\u062c \u0627\u0632 \u062e\u0648\u0634\u0647 \u0628\u0647 Pods \u0645\u0646\u0627\u0633\u0628 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_K8S_%D8%B1%D8%A7_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc K8S \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>k8s.yaml<\/code> \u0641\u0627\u06cc\u0644<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">apps\/v1<\/span>\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service-deployment<\/span>\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3<\/span>\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">matchLabels<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service<\/span>\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service<\/span>\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service<\/span>\n          <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\"><aws-account-id>.dkr.ecr.us-west-2.amazonaws.com\/finansy\/portfolio-service:latest<\/aws-account-id><\/span>\n          <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n            <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\n\n<span class=\"nn\">---<\/span>\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Service<\/span>\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service<\/span>\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">portfolio-service<\/span>\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n    <span class=\"pi\">-<\/span> <span class=\"na\">protocol<\/span><span class=\"pi\">:<\/span> <span class=\"s\">TCP<\/span>\n      <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">80<\/span>\n      <span class=\"na\">targetPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">8080<\/span>\n  <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LoadBalancer<\/span>\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\u0646 \u0632\u0645\u0627\u0646 \u062e\u0648\u0628\u06cc \u0628\u0631\u0627\u06cc \u067e\u06cc\u06af\u06cc\u0631\u06cc \u0627\u0646\u0648\u0627\u0639 \u0627\u062c\u0632\u0627\u06cc Deployment \u0648 LoadBalancer Kuberntes \u0627\u0633\u062a.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AE%D9%88%D8%B4%D9%87_%D8%B1%D8%A7_%D8%A8%D8%A7_%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D9%88_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D9%85%D8%A7_%D8%A8%D9%87_%D8%B1%D9%88%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062e\u0648\u0634\u0647 \u0631\u0627 \u0628\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0631\u0648\u06cc\u0633 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u062f.<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\u279c  portfolio-service kubectl apply <span class=\"nt\">-f<\/span> k8s.yaml \ndeployment.apps\/portfolio-service-deployment created\nservice\/portfolio-service created\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<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%AE%D8%AF%D9%85%D8%A7%D8%AA\"><\/span>\n<p>  \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u062e\u062f\u0645\u0627\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\u279c  portfolio-service kubectl get svc\nNAME                TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT<span class=\"o\">(<\/span>S<span class=\"o\">)<\/span>        AGE\nkubernetes          ClusterIP      10.100.0.1      <none>                                                                    443\/TCP        26m\nportfolio-service   LoadBalancer   10.100.177.55   a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com   80:31295\/TCP   4m14s\n\n<\/none><\/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<h4><span class=\"ez-toc-section\" id=\"%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D9%BE%D8%A7%D8%AF_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u062f \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>\u279c  portfolio-service kubectl get pods\nNAME                                            READY   STATUS    RESTARTS   AGE\nportfolio-service-deployment-6b6b4b6c4c-6dm8w   0\/1     Pending   0          5m6s\nportfolio-service-deployment-6b6b4b6c4c-jtpnq   0\/1     Pending   0          5m6s\nportfolio-service-deployment-6b6b4b6c4c-r9xps   0\/1     Pending   0          5m6s\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>\u0622\u0646\u0647\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u062d\u0627\u0644\u062a Running \u0628\u0627\u0634\u0646\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u0635\u0641\u062d\u0647 EKS \u062e\u0648\u062f \u062f\u0631 AWS \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DA%86%D8%B1%D8%A7_%D8%BA%D9%84%D8%A7%D9%81_%D9%87%D8%A7_%D8%AF%D8%B1_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D9%85%D8%B9%D9%84%D9%82_%D9%87%D8%B3%D8%AA%D9%86%D8%AF\"><\/span>\n<p>  \u0686\u0631\u0627 \u063a\u0644\u0627\u0641 \u0647\u0627 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0645\u0639\u0644\u0642 \u0647\u0633\u062a\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u06a9\u0647 \u0627\u0632 \u062d\u062f\u0627\u06a9\u062b\u0631 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a IP \u062f\u0631 \u0647\u0631 \u06af\u0631\u0647 \u0641\u0631\u0627\u062a\u0631 \u0631\u0641\u062a\u0647 \u0627\u06cc\u0645.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062c\u0627\u0644\u0628 \u0631\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f Stack Overflow \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>The formula for defining the maximum number of Pods per EC2 Node instance is as follows:\n\nN * (M-1) + 2\n\nWhere:\n\nN is the number of Elastic Network Interfaces (ENI) of the instance type\n\nM is the number of IP addresses per ENI\n\nSo for the instance you used which is t3.micro the number of pods that can be deployed are:\n\n2 * (2-1) + 2 = 4 Pods, the 4 pods capacity is already used by pods in kube-system namespace\n\nHere you can find the calculated max number of pods for each instance type\nhttps:\/\/github.com\/aws\/amazon-vpc-cni-k8s\/blob\/master\/misc\/eni-max-pods.txt\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<h3><span class=\"ez-toc-section\" id=\"%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C_%D9%86%D9%88%D8%B9_%D9%86%D9%85%D9%88%D9%86%D9%87_%D9%85%D9%86%D8%A7%D8%B3%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D9%85%D9%88%D8%B1%D8%AF_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%85%D8%A7\"><\/span>\n<p>  \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0646\u0648\u0639 \u0646\u0645\u0648\u0646\u0647 \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0627 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 15-20 \u067e\u0627\u062f \u0631\u0627 \u062f\u0631 \u0647\u0631 \u0646\u0645\u0648\u0646\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645.<br \/>\u0645\u0627 \u0644\u06cc\u0633\u062a \u0628\u0627\u0644\u0627 \u0631\u0627 \u0628\u0647 ChatGPT \u062f\u0627\u062f\u06cc\u0645 \u0648 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u06af\u0648\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>Given these options, c5.large and m5.large are suitable as they provide enough IPs to support 15-20 pods and are relatively affordable. Between these two, the c5.large instance is slightly cheaper.\n\nCheapest instance for 15-20 pods:\n\nc5.large: 29 IPs, approximately $0.085 per hour.\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<h3><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_%DA%AF%D8%B1%D9%88%D9%87_%DA%AF%D8%B1%D9%87_%D8%AC%D8%AF%DB%8C%D8%AF_%D8%AF%D8%B1_%D8%AE%D9%88%D8%B4%D9%87\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u062c\u062f\u06cc\u062f \u062f\u0631 \u062e\u0648\u0634\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\u279c  portfolio-service eksctl create nodegroup \\\n  --cluster finansy \\\n  --name c5LargeNg \\\n  --node-type c5.large \\\n  --nodes 1 \\\n  --nodes-min 1 \\\n  --nodes-max 1\n\n\n2024-09-02 12:02:22 [\u2139]  will use version 1.30 for new nodegroup(s) based on control plane version\n2024-09-02 12:02:24 [\u2139]  nodegroup \"c5LargeNg\" will use \"\" [AmazonLinux2\/1.30]\n2024-09-02 12:02:24 [\u2139]  2 existing nodegroup(s) (new-node-group,ng-9e92b41d) will be excluded\n2024-09-02 12:02:24 [\u2139]  1 nodegroup (c5LargeNg) was included (based on the include\/exclude rules)\n2024-09-02 12:02:24 [\u2139]  will create a CloudFormation stack for each of 1 managed nodegroups in cluster \"finansy\"\n2024-09-02 12:02:24 [\u2139]\n2 sequential tasks: { fix cluster compatibility, 1 task: { 1 task: { create managed nodegroup \"c5LargeNg\" } }\n}\n2024-09-02 12:02:24 [\u2139]  checking cluster stack for missing resources\n2024-09-02 12:02:25 [\u2139]  cluster stack has all required resources\n2024-09-02 12:02:25 [\u2139]  building managed nodegroup stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:02:25 [\u2139]  deploying stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:02:25 [\u2139]  waiting for CloudFormation stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:02:55 [\u2139]  waiting for CloudFormation stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:03:52 [\u2139]  waiting for CloudFormation stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:05:17 [\u2139]  waiting for CloudFormation stack \"eksctl-finansy-nodegroup-c5LargeNg\"\n2024-09-02 12:05:17 [\u2139]  no tasks\n2024-09-02 12:05:17 [\u2714]  created 0 nodegroup(s) in cluster \"finansy\"\n2024-09-02 12:05:18 [\u2139]  nodegroup \"c5LargeNg\" has 1 node(s)\n2024-09-02 12:05:18 [\u2139]  node \"ip-192-168-3-155.us-west-2.compute.internal\" is ready\n2024-09-02 12:05:18 [\u2139]  waiting for at least 1 node(s) to become ready in \"c5LargeNg\"\n2024-09-02 12:05:18 [\u2139]  nodegroup \"c5LargeNg\" has 1 node(s)\n2024-09-02 12:05:18 [\u2139]  node \"ip-192-168-3-155.us-west-2.compute.internal\" is ready\n2024-09-02 12:05:18 [\u2714]  created 1 managed nodegroup(s) in cluster \"finansy\"\n2024-09-02 12:05:18 [\u2139]  checking security group configuration for all nodegroups\n2024-09-02 12:05:18 [\u2139]  all nodegroups have up-to-date cloudformation templates\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<h3><span class=\"ez-toc-section\" id=\"%DA%AF%D8%B1%D9%88%D9%87_%DA%AF%D8%B1%D9%87_%D9%82%D8%AF%DB%8C%D9%85%DB%8C_%D8%B1%D8%A7_%D8%AD%D8%B0%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06af\u0631\u0648\u0647 \u06af\u0631\u0647 \u0642\u062f\u06cc\u0645\u06cc \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\u279c  ~ eksctl delete nodegroup --cluster finansy --name ng-9e92b41d\n2024-09-02 12:06:03 [\u2139]  1 nodegroup (ng-9e92b41d) was included (based on the include\/exclude rules)\n2024-09-02 12:06:03 [\u2139]  will drain 1 nodegroup(s) in cluster \"finansy\"\n2024-09-02 12:06:03 [\u2139]  starting parallel draining, max in-flight of 1\n2024-09-02 12:06:03 [\u2139]  cordon node \"ip-192-168-88-252.us-west-2.compute.internal\"\n2024-09-02 12:06:30 [\u2714]  drained all nodes: [ip-192-168-88-252.us-west-2.compute.internal]\n2024-09-02 12:06:30 [\u2716]  failed to acquire semaphore while waiting for all routines to finish: context canceled\n2024-09-02 12:06:30 [\u2139]  will delete 1 nodegroups from cluster \"finansy\"\n2024-09-02 12:06:30 [\u2139]  1 task: { 1 task: { delete nodegroup \"ng-9e92b41d\" [async] } }\n2024-09-02 12:06:31 [\u2139]  will delete stack \"eksctl-finansy-nodegroup-ng-9e92b41d\"\n2024-09-02 12:06:31 [\u2714]  deleted 1 nodegroup(s) from cluster \"finansy\"\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<h3><span class=\"ez-toc-section\" id=\"%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4_%D9%87%D8%A7%DB%8C_Pod_%D8%B1%D8%A7_%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u06af\u0632\u0627\u0631\u0634 \u0647\u0627\u06cc Pod \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\u279c  ~ kubectl logs portfolio-service-deployment-6b6b4b6c4c-cslnw\n\n  .   ____          _            __ _ _\n \/\\\\ \/ ___'_ __ _ _(_)_ __  __ _ \\ \\ \\ \\\n( ( )\\___ | '_ | '_| | '_ \\\/ _` | \\ \\ \\ \\\n \\\\\/  ___)| |_)| | | | | || (_| |  ) ) ) )\n  '  |____| .__|_| |_|_| |_\\__, | \/ \/ \/ \/\n =========|_|==============|___\/=\/_\/_\/_\/\n\n :: Spring Boot ::                (v3.3.2)\n\n2024-09-02T19:08:16.805Z  INFO 1 --- [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : Starting FinansyPortfolioServiceApplication using Java 21 with PID 1 (\/app\/portfolio-service.jar started by root in \/app)\n2024-09-02T19:08:16.828Z  INFO 1 --- [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : No active profile set, falling back to 1 default profile: \"default\"\n2024-09-02T19:08:20.090Z  INFO 1 --- [Finansy Portfolio Service] [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.\n2024-09-02T19:08:20.940Z  INFO 1 --- [Finansy Portfolio Service] [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 828 ms. Found 1 R2DBC repository interface.\n2024-09-02T19:08:24.691Z DEBUG 1 --- [Finansy Portfolio Service] [           main] s.w.r.r.m.a.RequestMappingHandlerMapping : 5 mappings in 'requestMappingHandlerMapping'\n2024-09-02T19:08:24.728Z DEBUG 1 --- [Finansy Portfolio Service] [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Patterns [\/webjars\/**, \/**] in 'resourceHandlerMapping'\n2024-09-02T19:08:24.824Z DEBUG 1 --- [Finansy Portfolio Service] [           main] o.s.w.r.r.m.a.ControllerMethodResolver   : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 @ExceptionHandler\n2024-09-02T19:08:24.907Z DEBUG 1 --- [Finansy Portfolio Service] [           main] o.s.w.s.adapter.HttpWebHandlerAdapter    : enableLoggingRequestDetails=\"false\": form data and headers will be masked to prevent unsafe logging of potentially sensitive data\n2024-09-02T19:08:26.568Z  INFO 1 --- [Finansy Portfolio Service] [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port 8080 (http)\n2024-09-02T19:08:26.615Z  INFO 1 --- [Finansy Portfolio Service] [           main] f.p.s.FinansyPortfolioServiceApplication : Started FinansyPortfolioServiceApplication in 11.949 seconds (process running for 13.818)\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<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D9%88%D8%A8%D8%A7%D8%B1%D9%87_%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86_%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%B1%D8%A7_%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062f\u0648\u0628\u0627\u0631\u0647 \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\u279c  ~ kubectl get svc\n\nNAME                TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)        AGE\nkubernetes          ClusterIP      10.100.0.1      <none>                                                                    443\/TCP        88m\nportfolio-service   LoadBalancer   10.100.177.55   a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com   80:31295\/TCP   66m\n<\/none><\/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<h3><span class=\"ez-toc-section\" id=\"%D9%86%D9%82%D8%B7%D9%87_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%DB%8C_%D8%B1%D8%A7_%D9%BE%D8%B1%D8%B3_%D9%88_%D8%AC%D9%88_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0646\u0642\u0637\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0631\u0627 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>\u279c  ~  curl http:\/\/a39b306d52a8b44fbbedcf670da443f6-1356185046.us-west-2.elb.amazonaws.com\/api\/v1\/user-assets\n[]%\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>\u0633\u0631\u0648\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AE%D9%88%D8%B4%D9%87_%D8%B1%D8%A7_%D8%AD%D8%B0%D9%81_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062e\u0648\u0634\u0647 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062a\u0627 \u0627\u0632 \u062a\u062d\u0645\u06cc\u0644 \u0647\u0631\u06af\u0648\u0646\u0647 \u0647\u0632\u06cc\u0646\u0647 \u0627\u0636\u0627\u0641\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>eksctl delete cluster --name finansy\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><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u06cc\u06a9 \u0631\u0648\u0632 \u0635\u0628\u062d \u0627\u0632 \u062e\u0648\u0627\u0628 \u0628\u06cc\u062f\u0627\u0631 \u0634\u062f\u06cc\u062f \u0648 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u06cc\u062f Kubernetes \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f. \u0634\u0645\u0627 \u06a9\u0645\u06cc \u062c\u0633\u062a\u200c\u0648\u062c\u0648 \u06a9\u0631\u062f\u06cc\u062f \u0648 \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0647 \u062f\u0627\u0646\u0634 \u0646\u0638\u0631\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0634\u0645\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0627\u0647\u0644 \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631 \u0647\u0633\u062a\u06cc\u062f. \u0645\u0646 \u062f\u0631 \u0647\u0645\u0627\u0646 \u0642\u0627\u06cc\u0642 \u062a\u0648 \u0647\u0633\u062a\u0645. \u0648 \u0628\u0631\u062e\u0644\u0627\u0641 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":75545,"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-75543","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\/75543","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=75543"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/75543\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/75545"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=75543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=75543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=75543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}