{"id":1230,"date":"2024-03-09T23:20:46","date_gmt":"2024-03-09T14:20:46","guid":{"rendered":"https:\/\/www.gyuroot.com\/wordpress\/?p=1230"},"modified":"2024-03-17T00:54:58","modified_gmt":"2024-03-16T15:54:58","slug":"01-aews-amazon-eks-%ea%b8%b0%eb%b3%b8%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.gyuroot.com\/wordpress\/?p=1230","title":{"rendered":"01-[AEWS]-Amazon EKS \uae30\ubcf8\uae30"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\ubaa9\ucc28<\/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-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#1_EKSElastic_Kubernetes_Service\" title=\"1. EKS(Elastic Kubernetes Service)\">1. EKS(Elastic Kubernetes Service)<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#EKS_Components\" title=\"EKS Components\">EKS Components<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#EKS_Deploy\" title=\"EKS Deploy\">EKS Deploy<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#Host_Server_Deploy\" title=\"Host Server Deploy\">Host Server Deploy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#Worker_Node_Deploy\" title=\"Worker Node Deploy\">Worker Node Deploy<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#eksctl_deploy\" title=\"eksctl deploy\">eksctl deploy<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#Pod_Deploy\" title=\"Pod Deploy\">Pod Deploy<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#Sample_pod_deploy\" title=\"Sample pod deploy\">Sample pod deploy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#docker-supermario_pod_deploy\" title=\"docker-supermario pod deploy\">docker-supermario pod deploy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#marioyaml\" title=\"mario.yaml\">mario.yaml<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#%EB%85%B8%EB%93%9C%EC%97%90_%EB%B0%B0%ED%8F%AC%EB%90%9C_%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88_%EC%A0%95%EB%B3%B4_%ED%99%95%EC%9D%B8\" title=\"\ub178\ub4dc\uc5d0 \ubc30\ud3ec\ub41c \ucee8\ud14c\uc774\ub108 \uc815\ubcf4 \ud655\uc778\">\ub178\ub4dc\uc5d0 \ubc30\ud3ec\ub41c \ucee8\ud14c\uc774\ub108 \uc815\ubcf4 \ud655\uc778<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#ctr\" title=\"ctr\">ctr<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#nerdctl\" title=\"nerdctl\">nerdctl<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\/#crictl\" title=\"crictl\">crictl<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_EKSElastic_Kubernetes_Service\"><\/span>1. EKS(Elastic Kubernetes Service)<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\ud83d\udd20EKS\ub780?<\/p>\n<cite>AWS\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc11c\ube44\uc2a4\ub85c \uc815\ud655\ud55c \uba85\uce6d\uc740 Elastic Kubernetes Service\uc774\ub2e4. On-premise\uc5d0\uc11c Kubernetes\ub97c \ub3d9\uc791\ud558\ub294\uac83\uacfc \ub2e4\ub974\uac8c AWS\uc5d0\uc11c \ud074\ub7ec\uc2a4\ud130 \uad00\ub9ac, \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8, \uc790\ub3d9 \ud655\uc7a5, \ub85c\ub4dc \ubc38\ub7f0\uc2f1\uc744 \uc790\ub3d9\uc73c\ub85c \ud560 \uc218 \uc788\uc5b4\uc11c \uc0ac\uc6a9\uc790\uac00 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc9d1\uc911\ud558\uace0 Kubernetes \ud074\ub7ec\uc2a4\ud130\uc758 \uc6b4\uc601 \ubd80\ub2f4\uc744 \ucd5c\uc18c\ud654\ud560 \uc218 \uc788\ub294 \uc7a5\uc810\uc774 \uc788\ub2e4.<\/cite><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"EKS_Components\"><\/span>EKS Components<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol>\n<li><strong>Control Plane (\ub9c8\uc2a4\ud130 \ub178\ub4dc)<\/strong>: AWS Managed\n<ul>\n<li><strong>API Server<\/strong>: Kubernetes API \uc694\uccad\uc744 \ubc1b\uc544\ub4e4\uc774\uace0 \ucc98\ub9ac\ud558\ub294 \uc911\uc559 \uc81c\uc5b4 \uc694\uc18c\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>Controller Manager<\/strong>: \ud074\ub7ec\uc2a4\ud130\uc758 \uc0c1\ud0dc\ub97c \uac10\uc2dc\ud558\uace0 \uc870\uc815\ud558\ub294 \ucee8\ud2b8\ub864\ub7ec\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>Scheduler<\/strong>: \uc0c8\ub85c\uc6b4 \ud30c\ub4dc\uac00 \uc5b4\ub5a4 \uc6cc\ucee4 \ub178\ub4dc\uc5d0\uc11c \uc2e4\ud589\ub420\uc9c0 \uacb0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>etcd<\/strong>: \ud074\ub7ec\uc2a4\ud130\uc758 \uc0c1\ud0dc\uc640 \uad6c\uc131\uc744 \uc800\uc7a5\ud558\ub294 \ubd84\uc0b0 \ub370\uc774\ud130 \uc2a4\ud1a0\uc5b4\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Worker Nodes (\uc6cc\ucee4 \ub178\ub4dc)<\/strong>: User Managed\n<ul>\n<li><strong>kubelet<\/strong>: \uac01 \ub178\ub4dc\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc5d0\uc774\uc804\ud2b8\ub85c, API \uc11c\ubc84\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uc5ec \ub178\ub4dc\uc758 \uc0c1\ud0dc\ub97c \ubcf4\uace0\ud558\uace0 \ud30c\ub4dc\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>kube-proxy<\/strong>: \ub124\ud2b8\uc6cc\ud06c \ud504\ub85d\uc2dc\ub85c, \uc11c\ube44\uc2a4 \ubc0f \ud30c\ub4dc\uc758 \ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d\uc744 \ub85c\ub4dc \ubc38\ub7f0\uc2f1\ud558\uace0 \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>container runtime<\/strong>: \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ub7f0\ud0c0\uc784 \ud658\uacbd\uc785\ub2c8\ub2e4. Amazon EKS\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c <code>containerd<\/code>\uac00 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Networking<\/strong>:\n<ul>\n<li><strong>Amazon VPC (Virtual Private Cloud)<\/strong>: Amazon EKS \ud074\ub7ec\uc2a4\ud130\uac00 \ubc30\ud3ec\ub418\ub294 \uac00\uc0c1 \ub124\ud2b8\uc6cc\ud06c \ud658\uacbd\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>VPC CNI (Container Networking Interface)<\/strong>: Kubernetes \ud074\ub7ec\uc2a4\ud130 \ub0b4\uc758 \ud30c\ub4dc \uac04 \ud1b5\uc2e0 \ubc0f \uc778\ud130\ub137\uc5d0 \ub300\ud55c \ub124\ud2b8\uc6cc\ud06c \uad6c\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>AWS Load Balancer Controller<\/strong>: \uc11c\ube44\uc2a4\ub97c \uc678\ubd80\uc5d0 \ub178\ucd9c\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \ub85c\ub4dc \ubc38\ub7f0\uc11c\ub97c \uc790\ub3d9\uc73c\ub85c \uad6c\uc131\ud558\uace0 \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Storage<\/strong>:\n<ul>\n<li><strong>Amazon EBS (Elastic Block Store)<\/strong>: Kubernetes \ubcfc\ub968\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uc601\uad6c \uc2a4\ud1a0\ub9ac\uc9c0\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>Amazon EFS (Elastic File System)<\/strong>: \uc5ec\ub7ec \ud30c\ub4dc\uc5d0\uc11c \uacf5\uc720\ud558\ub294 \uacf5\uc720 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Authentication &amp; Authorization<\/strong>:\n<ul>\n<li><strong>AWS IAM (Identity and Access Management)<\/strong>: \ud074\ub7ec\uc2a4\ud130 \ubc0f \ub9ac\uc18c\uc2a4\uc5d0 \ub300\ud55c \uc778\uc99d \ubc0f \uad8c\ud55c \ubd80\uc5ec\ub97c \ucc98\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>Kubernetes RBAC (Role-Based Access Control)<\/strong>: Kubernetes \ub0b4\uc758 \ub9ac\uc18c\uc2a4\uc5d0 \ub300\ud55c \uc5d1\uc138\uc2a4\ub97c \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"EKS_Deploy\"><\/span>EKS Deploy<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Host_Server_Deploy\"><\/span>Host Server Deploy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\ubc30\ud3ec \ubc29\ubc95\uc740 \ub300\ud45c\uc801\uc73c\ub85c \uc6f9 \ucf58\uc194, eksctl, IaC(CDK, CloudFormation, Terraform)\ub4f1\uc774 \uc788\uc73c\uba70 \uadf8 \uc911\uc5d0 \ud15c\ud50c\ub9bf\uc744 \uc774\uc6a9\ud55c CloudFormation \ubc30\ud3ec\ub97c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-accordion-toggle-accordion-toggle\"><div class=\"eb-parent-wrapper eb-parent-eb-accordion-og0yy \"><div class=\"eb-accordion-container eb-accordion-og0yy\" data-accordion-type=\"toggle\" data-tab-icon=\"fas fa-angle-right\" data-expanded-icon=\"fas fa-angle-down\" data-transition-duration=\"500\"><div class=\"eb-accordion-inner\">\n<div class=\"eb-accordion-item-bfim9 eb-accordion-wrapper\" data-clickable=\"false\"><div class=\"eb-accordion-title-wrapper\" tabindex=\"0\"><span class=\"eb-accordion-icon-wrapper\"><span class=\"fas fa-angle-right eb-accordion-icon\"><\/span><\/span><p class=\"eb-accordion-title\">myeks-1week.yaml<\/p><\/div><div class=\"eb-accordion-content-wrapper\"><div class=\"eb-accordion-content\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"AWSTemplateFormatVersion: '2010-09-09'\n\nMetadata:\n  AWS::CloudFormation::Interface:\n    ParameterGroups:\n      - Label:\n          default: &quot;&lt;&lt;&lt;&lt;&lt; EKSCTL MY EC2 &gt;&gt;&gt;&gt;&gt;&quot;\n        Parameters:\n          - ClusterBaseName\n          - KeyName\n          - SgIngressSshCidr\n          - MyInstanceType\n          - LatestAmiId\n      - Label:\n          default: &quot;&lt;&lt;&lt;&lt;&lt; Region AZ &gt;&gt;&gt;&gt;&gt;&quot;\n        Parameters:\n          - TargetRegion\n          - AvailabilityZone1\n          - AvailabilityZone2\n      - Label:\n          default: &quot;&lt;&lt;&lt;&lt;&lt; VPC Subnet &gt;&gt;&gt;&gt;&gt;&quot;\n        Parameters:\n          - VpcBlock\n          - PublicSubnet1Block\n          - PublicSubnet2Block\n          - PrivateSubnet1Block\n          - PrivateSubnet2Block\n\nParameters:\n  ClusterBaseName:\n    Type: String\n    Default: myeks\n    AllowedPattern: &quot;[a-zA-Z][-a-zA-Z0-9]*&quot;\n    Description: must be a valid Allowed Pattern '[a-zA-Z][-a-zA-Z0-9]*'\n    ConstraintDescription: ClusterBaseName - must be a valid Allowed Pattern\n\n  KeyName:\n    Description: Name of an existing EC2 KeyPair to enable SSH access to the instances. Linked to AWS Parameter\n    Type: AWS::EC2::KeyPair::KeyName\n    ConstraintDescription: must be the name of an existing EC2 KeyPair.\n\n  SgIngressSshCidr:\n    Description: The IP address range that can be used to communicate to the EC2 instances\n    Type: String\n    MinLength: '9'\n    MaxLength: '18'\n    Default: 0.0.0.0\/0\n    AllowedPattern: (\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\/(\\d{1,2})\n    ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x\/x.\n\n  MyInstanceType:\n    Description: Enter t2.micro, t2.small, t2.medium, t3.micro, t3.small, t3.medium. Default is t2.micro.\n    Type: String\n    Default: t3.medium\n    AllowedValues: \n      - t2.micro\n      - t2.small\n      - t2.medium\n      - t3.micro\n      - t3.small\n      - t3.medium\n\n  LatestAmiId:\n    Description: (DO NOT CHANGE)\n    Type: 'AWS::SSM::Parameter::Value&lt;AWS::EC2::Image::Id&gt;'\n    Default: '\/aws\/service\/ami-amazon-linux-latest\/amzn2-ami-hvm-x86_64-gp2'\n    AllowedValues:\n      - \/aws\/service\/ami-amazon-linux-latest\/amzn2-ami-hvm-x86_64-gp2\n\n  TargetRegion:\n    Type: String\n    Default: ap-northeast-2\n\n  AvailabilityZone1:\n    Type: String\n    Default: ap-northeast-2a\n\n  AvailabilityZone2:\n    Type: String\n    Default: ap-northeast-2c\n\n  VpcBlock:\n    Type: String\n    Default: 192.168.0.0\/16\n\n  PublicSubnet1Block:\n    Type: String\n    Default: 192.168.1.0\/24\n\n  PublicSubnet2Block:\n    Type: String\n    Default: 192.168.2.0\/24\n\n  PrivateSubnet1Block:\n    Type: String\n    Default: 192.168.3.0\/24\n\n  PrivateSubnet2Block:\n    Type: String\n    Default: 192.168.4.0\/24\n\nResources:\n# VPC\n  EksVPC:\n    Type: AWS::EC2::VPC\n    Properties:\n      CidrBlock: !Ref VpcBlock\n      EnableDnsSupport: true\n      EnableDnsHostnames: true\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-VPC\n\n# PublicSubnets\n  PublicSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      AvailabilityZone: !Ref AvailabilityZone1\n      CidrBlock: !Ref PublicSubnet1Block\n      VpcId: !Ref EksVPC\n      MapPublicIpOnLaunch: true\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PublicSubnet1\n        - Key: kubernetes.io\/role\/elb\n          Value: 1\n\n  PublicSubnet2:\n    Type: AWS::EC2::Subnet\n    Properties:\n      AvailabilityZone: !Ref AvailabilityZone2\n      CidrBlock: !Ref PublicSubnet2Block\n      VpcId: !Ref EksVPC\n      MapPublicIpOnLaunch: true\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PublicSubnet2\n        - Key: kubernetes.io\/role\/elb\n          Value: 1\n\n  InternetGateway:\n    Type: AWS::EC2::InternetGateway\n\n  VPCGatewayAttachment:\n    Type: AWS::EC2::VPCGatewayAttachment\n    Properties:\n      InternetGatewayId: !Ref InternetGateway\n      VpcId: !Ref EksVPC\n\n  PublicSubnetRouteTable:\n    Type: AWS::EC2::RouteTable\n    Properties:\n      VpcId: !Ref EksVPC\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PublicSubnetRouteTable\n\n  PublicSubnetRoute:\n    Type: AWS::EC2::Route\n    Properties:\n      RouteTableId: !Ref PublicSubnetRouteTable\n      DestinationCidrBlock: 0.0.0.0\/0\n      GatewayId: !Ref InternetGateway\n\n  PublicSubnet1RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PublicSubnet1\n      RouteTableId: !Ref PublicSubnetRouteTable\n\n  PublicSubnet2RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PublicSubnet2\n      RouteTableId: !Ref PublicSubnetRouteTable\n\n# PrivateSubnets\n  PrivateSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      AvailabilityZone: !Ref AvailabilityZone1\n      CidrBlock: !Ref PrivateSubnet1Block\n      VpcId: !Ref EksVPC\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PrivateSubnet1\n        - Key: kubernetes.io\/role\/internal-elb\n          Value: 1\n\n  PrivateSubnet2:\n    Type: AWS::EC2::Subnet\n    Properties:\n      AvailabilityZone: !Ref AvailabilityZone2\n      CidrBlock: !Ref PrivateSubnet2Block\n      VpcId: !Ref EksVPC\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PrivateSubnet2\n        - Key: kubernetes.io\/role\/internal-elb\n          Value: 1\n\n  PrivateSubnetRouteTable:\n    Type: AWS::EC2::RouteTable\n    Properties:\n      VpcId: !Ref EksVPC\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-PrivateSubnetRouteTable\n\n  PrivateSubnet1RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PrivateSubnet1\n      RouteTableId: !Ref PrivateSubnetRouteTable\n\n  PrivateSubnet2RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PrivateSubnet2\n      RouteTableId: !Ref PrivateSubnetRouteTable\n\n# EKSCTL-Host\n  EKSEC2SG:\n    Type: AWS::EC2::SecurityGroup\n    Properties:\n      GroupDescription: eksctl-host Security Group\n      VpcId: !Ref EksVPC\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-HOST-SG\n      SecurityGroupIngress:\n      - IpProtocol: '-1'\n        CidrIp: !Ref SgIngressSshCidr\n\n  EKSEC2:\n    Type: AWS::EC2::Instance\n    Properties:\n      InstanceType: !Ref MyInstanceType\n      ImageId: !Ref LatestAmiId\n      KeyName: !Ref KeyName\n      Tags:\n        - Key: Name\n          Value: !Sub ${ClusterBaseName}-host\n      NetworkInterfaces:\n        - DeviceIndex: 0\n          SubnetId: !Ref PublicSubnet1\n          GroupSet:\n          - !Ref EKSEC2SG\n          AssociatePublicIpAddress: true\n          PrivateIpAddress: 192.168.1.100\n      BlockDeviceMappings:\n        - DeviceName: \/dev\/xvda\n          Ebs:\n            VolumeType: gp3\n            VolumeSize: 30\n            DeleteOnTermination: true\n      UserData:\n        Fn::Base64:\n          !Sub |\n            #!\/bin\/bash\n            hostnamectl --static set-hostname &quot;${ClusterBaseName}-host&quot;\n\n            # Config Root account\n            echo 'root:qwe123' | chpasswd\n            sed -i &quot;s\/^#PermitRootLogin yes\/PermitRootLogin yes\/g&quot; \/etc\/ssh\/sshd_config\n            sed -i &quot;s\/^PasswordAuthentication no\/PasswordAuthentication yes\/g&quot; \/etc\/ssh\/sshd_config\n            rm -rf \/root\/.ssh\/authorized_keys\n            systemctl restart sshd\n\n            # Config convenience\n            echo 'alias vi=vim' &gt;&gt; \/etc\/profile\n            echo &quot;sudo su -&quot; &gt;&gt; \/home\/ec2-user\/.bashrc\n            sed -i &quot;s\/UTC\/Asia\\\/Seoul\/g&quot; \/etc\/sysconfig\/clock\n            ln -sf \/usr\/share\/zoneinfo\/Asia\/Seoul \/etc\/localtime\n\n            # Install Packages\n            yum -y install tree jq git htop\n\n            # Install kubectl &amp; helm\n            cd \/root\n            curl -O https:\/\/s3.us-west-2.amazonaws.com\/amazon-eks\/1.28.5\/2024-01-04\/bin\/linux\/amd64\/kubectl\n            install -o root -g root -m 0755 kubectl \/usr\/local\/bin\/kubectl\n            curl -s https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3 | bash\n\n            # Install eksctl\n            curl -sL &quot;https:\/\/github.com\/eksctl-io\/eksctl\/releases\/latest\/download\/eksctl_Linux_amd64.tar.gz&quot; | tar xz -C \/tmp\n            mv \/tmp\/eksctl \/usr\/local\/bin\n\n            # Install aws cli v2\n            curl &quot;https:\/\/awscli.amazonaws.com\/awscli-exe-linux-x86_64.zip&quot; -o &quot;awscliv2.zip&quot;\n            unzip awscliv2.zip &gt;\/dev\/null 2&gt;&amp;1\n            .\/aws\/install\n            complete -C '\/usr\/local\/bin\/aws_completer' aws\n            echo 'export AWS_PAGER=&quot;&quot;' &gt;&gt;\/etc\/profile\n            export AWS_DEFAULT_REGION=${AWS::Region}\n            echo &quot;export AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION&quot; &gt;&gt; \/etc\/profile\n\n            # Install YAML Highlighter\n            wget https:\/\/github.com\/andreazorzetto\/yh\/releases\/download\/v0.4.0\/yh-linux-amd64.zip\n            unzip yh-linux-amd64.zip\n            mv yh \/usr\/local\/bin\/\n\n            # Install krew\n            curl -L https:\/\/github.com\/kubernetes-sigs\/krew\/releases\/download\/v0.4.4\/krew-linux_amd64.tar.gz -o \/root\/krew-linux_amd64.tar.gz\n            tar zxvf krew-linux_amd64.tar.gz\n            .\/krew-linux_amd64 install krew\n            export PATH=&quot;$PATH:\/root\/.krew\/bin&quot;\n            echo 'export PATH=&quot;$PATH:\/root\/.krew\/bin&quot;' &gt;&gt; \/etc\/profile\n\n            # Install kube-ps1\n            echo 'source &lt;(kubectl completion bash)' &gt;&gt; \/etc\/profile\n            echo 'alias k=kubectl' &gt;&gt; \/etc\/profile\n            echo 'complete -F __start_kubectl k' &gt;&gt; \/etc\/profile\n\n            git clone https:\/\/github.com\/jonmosco\/kube-ps1.git \/root\/kube-ps1\n            cat &lt;&lt;&quot;EOT&quot; &gt;&gt; \/root\/.bash_profile\n            source \/root\/kube-ps1\/kube-ps1.sh\n            KUBE_PS1_SYMBOL_ENABLE=false\n            function get_cluster_short() {\n              echo &quot;$1&quot; | cut -d . -f1\n            }\n            KUBE_PS1_CLUSTER_FUNCTION=get_cluster_short\n            KUBE_PS1_SUFFIX=') '\n            PS1='$(kube_ps1)'$PS1\n            EOT\n\n            # Install krew plugin\n            kubectl krew install ctx ns get-all neat # ktop df-pv mtail tree\n\n            # Install Docker\n            amazon-linux-extras install docker -y\n            systemctl start docker &amp;&amp; systemctl enable docker\n\n            # CLUSTER_NAME\n            export CLUSTER_NAME=${ClusterBaseName}\n            echo &quot;export CLUSTER_NAME=$CLUSTER_NAME&quot; &gt;&gt; \/etc\/profile\n\n            # Create SSH Keypair\n            ssh-keygen -t rsa -N &quot;&quot; -f \/root\/.ssh\/id_rsa\n\nOutputs:\n  eksctlhost:\n    Value: !GetAtt EKSEC2.PublicIp\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #8FBCBB\">AWSTemplateFormatVersion<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">2010-09-09<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">Metadata<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">AWS::CloudFormation::Interface<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">ParameterGroups<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Label<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;&lt;&lt;&lt;&lt; EKSCTL MY EC2 &gt;&gt;&gt;&gt;&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">Parameters<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ClusterBaseName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">KeyName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">SgIngressSshCidr<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">MyInstanceType<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">LatestAmiId<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Label<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;&lt;&lt;&lt;&lt; Region AZ &gt;&gt;&gt;&gt;&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">Parameters<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">TargetRegion<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Label<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">&lt;&lt;&lt;&lt;&lt; VPC Subnet &gt;&gt;&gt;&gt;&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">Parameters<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">VpcBlock<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet1Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet2Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet1Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet2Block<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">Parameters<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">ClusterBaseName<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">myeks<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">AllowedPattern<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">[a-zA-Z][-a-zA-Z0-9]*<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">must be a valid Allowed Pattern &#39;[a-zA-Z][-a-zA-Z0-9]*&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">ConstraintDescription<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ClusterBaseName - must be a valid Allowed Pattern<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">KeyName<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name of an existing EC2 KeyPair to enable SSH access to the instances. Linked to AWS Parameter<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::KeyPair::KeyName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">ConstraintDescription<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">must be the name of an existing EC2 KeyPair.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">SgIngressSshCidr<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">The IP address range that can be used to communicate to the EC2 instances<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">MinLength<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">9<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">MaxLength<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">18<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">0.0.0.0\/0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">AllowedPattern<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\/(\\d{1,2})<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">ConstraintDescription<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">must be a valid IP CIDR range of the form x.x.x.x\/x.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">MyInstanceType<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Enter t2.micro, t2.small, t2.medium, t3.micro, t3.small, t3.medium. Default is t2.micro.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t3.medium<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">AllowedValues<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t2.micro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t2.small<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t2.medium<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t3.micro<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t3.small<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">t3.medium<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">LatestAmiId<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">(DO NOT CHANGE)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">AWS::SSM::Parameter::Value&lt;AWS::EC2::Image::Id&gt;<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">\/aws\/service\/ami-amazon-linux-latest\/amzn2-ami-hvm-x86_64-gp2<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">AllowedValues<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/aws\/service\/ami-amazon-linux-latest\/amzn2-ami-hvm-x86_64-gp2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">TargetRegion<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ap-northeast-2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">AvailabilityZone1<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ap-northeast-2a<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">AvailabilityZone2<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ap-northeast-2c<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">VpcBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">192.168.0.0\/16<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet1Block<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">192.168.1.0\/24<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet2Block<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">192.168.2.0\/24<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet1Block<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">192.168.3.0\/24<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet2Block<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">String<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Default<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">192.168.4.0\/24<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">Resources<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># VPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">EksVPC<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::VPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">VpcBlock<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">EnableDnsSupport<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">EnableDnsHostnames<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-VPC<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># PublicSubnets<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet1<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Subnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">AvailabilityZone<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet1Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">MapPublicIpOnLaunch<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PublicSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">kubernetes.io\/role\/elb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet2<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Subnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">AvailabilityZone<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet2Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">MapPublicIpOnLaunch<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PublicSubnet2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">kubernetes.io\/role\/elb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">InternetGateway<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::InternetGateway<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">VPCGatewayAttachment<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::VPCGatewayAttachment<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">InternetGatewayId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">InternetGateway<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnetRouteTable<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::RouteTable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PublicSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnetRoute<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Route<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">RouteTableId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">DestinationCidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">0.0.0.0\/0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">GatewayId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">InternetGateway<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet1RouteTableAssociation<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::SubnetRouteTableAssociation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">SubnetId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">RouteTableId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PublicSubnet2RouteTableAssociation<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::SubnetRouteTableAssociation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">SubnetId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">RouteTableId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># PrivateSubnets<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet1<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Subnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">AvailabilityZone<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet1Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PrivateSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">kubernetes.io\/role\/internal-elb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet2<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Subnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">AvailabilityZone<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AvailabilityZone2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CidrBlock<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet2Block<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PrivateSubnet2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">kubernetes.io\/role\/internal-elb<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnetRouteTable<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::RouteTable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-PrivateSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet1RouteTableAssociation<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::SubnetRouteTableAssociation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">SubnetId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">RouteTableId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">PrivateSubnet2RouteTableAssociation<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::SubnetRouteTableAssociation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">SubnetId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnet2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">RouteTableId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PrivateSubnetRouteTable<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># EKSCTL-Host<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">EKSEC2SG<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::SecurityGroup<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">GroupDescription<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">eksctl-host Security Group<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">VpcId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EksVPC<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-HOST-SG<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">SecurityGroupIngress<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">IpProtocol<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">-1<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">CidrIp<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">SgIngressSshCidr<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">EKSEC2<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Type<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">AWS::EC2::Instance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Properties<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">InstanceType<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">MyInstanceType<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">ImageId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">LatestAmiId<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">KeyName<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">KeyName<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">Tags<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Key<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">${ClusterBaseName}-host<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">NetworkInterfaces<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">DeviceIndex<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">SubnetId<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">PublicSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">GroupSet<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!Ref<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EKSEC2SG<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">AssociatePublicIpAddress<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">PrivateIpAddress<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">192.168.1.100<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">BlockDeviceMappings<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">DeviceName<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/dev\/xvda<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #8FBCBB\">Ebs<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">VolumeType<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">gp3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">VolumeSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #8FBCBB\">DeleteOnTermination<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">UserData<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">Fn::Base64<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #81A1C1\">!Sub<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            #!\/bin\/bash<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            hostnamectl --static set-hostname &quot;${ClusterBaseName}-host&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Config Root account<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;root:qwe123&#39; | chpasswd<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            sed -i &quot;s\/^#PermitRootLogin yes\/PermitRootLogin yes\/g&quot; \/etc\/ssh\/sshd_config<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            sed -i &quot;s\/^PasswordAuthentication no\/PasswordAuthentication yes\/g&quot; \/etc\/ssh\/sshd_config<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            rm -rf \/root\/.ssh\/authorized_keys<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            systemctl restart sshd<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Config convenience<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;alias vi=vim&#39; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &quot;sudo su -&quot; &gt;&gt; \/home\/ec2-user\/.bashrc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            sed -i &quot;s\/UTC\/Asia\\\/Seoul\/g&quot; \/etc\/sysconfig\/clock<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            ln -sf \/usr\/share\/zoneinfo\/Asia\/Seoul \/etc\/localtime<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install Packages<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            yum -y install tree jq git htop<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install kubectl &amp; helm<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            cd \/root<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            curl -O https:\/\/s3.us-west-2.amazonaws.com\/amazon-eks\/1.28.5\/2024-01-04\/bin\/linux\/amd64\/kubectl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            install -o root -g root -m 0755 kubectl \/usr\/local\/bin\/kubectl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            curl -s https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3 | bash<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install eksctl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            curl -sL &quot;https:\/\/github.com\/eksctl-io\/eksctl\/releases\/latest\/download\/eksctl_Linux_amd64.tar.gz&quot; | tar xz -C \/tmp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            mv \/tmp\/eksctl \/usr\/local\/bin<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install aws cli v2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            curl &quot;https:\/\/awscli.amazonaws.com\/awscli-exe-linux-x86_64.zip&quot; -o &quot;awscliv2.zip&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            unzip awscliv2.zip &gt;\/dev\/null 2&gt;&amp;1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            .\/aws\/install<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            complete -C &#39;\/usr\/local\/bin\/aws_completer&#39; aws<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;export AWS_PAGER=&quot;&quot;&#39; &gt;&gt;\/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            export AWS_DEFAULT_REGION=${AWS::Region}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &quot;export AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION&quot; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install YAML Highlighter<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            wget https:\/\/github.com\/andreazorzetto\/yh\/releases\/download\/v0.4.0\/yh-linux-amd64.zip<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            unzip yh-linux-amd64.zip<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            mv yh \/usr\/local\/bin\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install krew<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            curl -L https:\/\/github.com\/kubernetes-sigs\/krew\/releases\/download\/v0.4.4\/krew-linux_amd64.tar.gz -o \/root\/krew-linux_amd64.tar.gz<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            tar zxvf krew-linux_amd64.tar.gz<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            .\/krew-linux_amd64 install krew<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            export PATH=&quot;$PATH:\/root\/.krew\/bin&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;export PATH=&quot;$PATH:\/root\/.krew\/bin&quot;&#39; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install kube-ps1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;source &lt;(kubectl completion bash)&#39; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;alias k=kubectl&#39; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &#39;complete -F __start_kubectl k&#39; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            git clone https:\/\/github.com\/jonmosco\/kube-ps1.git \/root\/kube-ps1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            cat &lt;&lt;&quot;EOT&quot; &gt;&gt; \/root\/.bash_profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            source \/root\/kube-ps1\/kube-ps1.sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            KUBE_PS1_SYMBOL_ENABLE=false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            function get_cluster_short() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">              echo &quot;$1&quot; | cut -d . -f1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            KUBE_PS1_CLUSTER_FUNCTION=get_cluster_short<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            KUBE_PS1_SUFFIX=&#39;) &#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            PS1=&#39;$(kube_ps1)&#39;$PS1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            EOT<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install krew plugin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            kubectl krew install ctx ns get-all neat # ktop df-pv mtail tree<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Install Docker<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            amazon-linux-extras install docker -y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            systemctl start docker &amp;&amp; systemctl enable docker<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # CLUSTER_NAME<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            export CLUSTER_NAME=${ClusterBaseName}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            echo &quot;export CLUSTER_NAME=$CLUSTER_NAME&quot; &gt;&gt; \/etc\/profile<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            # Create SSH Keypair<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A3BE8C\">            ssh-keygen -t rsa -N &quot;&quot; -f \/root\/.ssh\/id_rsa<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">Outputs<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #8FBCBB\">eksctlhost<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">Value<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">!GetAtt<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">EKSEC2.PublicIp<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div><\/div>\n\n\n\n<p><strong>\uc704\uc758 \ud15c\ud50c\ub9bf\uc73c\ub85c Cloud Formation \uacb0\uacfc<\/strong><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-3\">\n<div class=\"wp-block-column is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"804\" height=\"647\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-364.png\" alt=\"\" class=\"wp-image-1240\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-364.png 804w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-364-300x241.png 300w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-364-768x618.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\">\n<ul>\n<li>VPC \uc0dd\uc131\n<ul>\n<li>myeks-VPC<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc11c\ube0c\ub137 \uc0dd\uc131\n<ul>\n<li>myeks-PublicSubnet1 &#8211; 192.168.1.0\/24 (ap-northeast-2a)<\/li>\n\n\n\n<li>myeks-PublicSubnet2 &#8211; 192.168.2.0\/24 (ap-northeast-2c)<\/li>\n\n\n\n<li>myeks-PrivateSubnet3 &#8211; 192.168.3.0\/24 (ap-northeast-2a)<\/li>\n\n\n\n<li>myeks-PrivateSubnet4 &#8211; 192.168.4.0\/24 (ap-northeast-2c)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc778\ud130\ub137\uac8c\uc774\ud2b8\uc6e8\uc774 \uc0dd\uc131<\/li>\n\n\n\n<li>\ub77c\uc6b0\ud305 \ud14c\uc774\ube14 \uc0dd\uc131\n<ul>\n<li>[\uc778\ud130\ub137\uac8c\uc774\ud2b8\uc6e8\uc774] &#8211; [myeks-PublicSubnet1 &#8211; 192.168.1.0\/24 (ap-northeast-2a)]<\/li>\n\n\n\n<li>[\uc778\ud130\ub137\uac8c\uc774\ud2b8\uc6e8\uc774] &#8211; [myeks-PublicSubnet2 &#8211; 192.168.2.0\/24 (ap-northeast-2c)]<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>EC2 \uc0dd\uc131\n<ul>\n<li>instancetype : t3.medium<\/li>\n\n\n\n<li>AMI : \/aws\/service\/ami-amazon-linux-latest\/amzn2-ami-hvm-x86_64-gp2<\/li>\n\n\n\n<li>IP address : 192.168.1.100<\/li>\n\n\n\n<li>EBS volume : gp3 \/ 30GB<\/li>\n\n\n\n<li>\uc0dd\uc131 \ud6c4 shell script \uc9c4\ud589\n<ul>\n<li>\ud638\uc2a4\ud2b8\uba85 : myeks-host<\/li>\n\n\n\n<li>\ud328\ud0a4\uc9c0 \uc124\uce58 : tree, jq, git, htop, kubectl, helm, eksctl, aws_cli_v2, yh(yaml highlighter), krew, krew plugin, kube-ps1, docker<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Worker_Node_Deploy\"><\/span>Worker Node Deploy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\ud83d\udd20Node<\/p>\n<cite>Kubernetes\uc5d0\uc11c\ub294 Docker, containerd, CRI-O \ub4f1\uacfc \uac19\uc740 \ucee8\ud14c\uc774\ub108 \ub7f0\ud0c0\uc784\uc744 \uc0ac\uc6a9\ud558\uc5ec \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774 \ub7f0\ud0c0\uc784\uc740 kubelet\uc5d0 \uc758\ud574 \uad00\ub9ac\ub418\uba70, Pod \ub0b4\uc758 \ucee8\ud14c\uc774\ub108\ub97c \uc0dd\uc131\ud558\uace0 \uad00\ub9ac<\/cite><\/blockquote>\n\n\n\n<div class=\"wp-block-accordion-toggle-accordion-toggle\"><div class=\"eb-parent-wrapper eb-parent-eb-accordion-mzdel \"><div class=\"eb-accordion-container eb-accordion-mzdel\" data-accordion-type=\"accordion\" data-tab-icon=\"fas fa-angle-right\" data-expanded-icon=\"fas fa-angle-down\" data-transition-duration=\"500\"><div class=\"eb-accordion-inner\">\n<div class=\"eb-accordion-item-03sjc eb-accordion-wrapper\" data-clickable=\"false\"><div class=\"eb-accordion-title-wrapper\" tabindex=\"0\"><span class=\"eb-accordion-icon-wrapper\"><span class=\"fas fa-angle-right eb-accordion-icon\"><\/span><\/span><h3 class=\"eb-accordion-title\"><span class=\"ez-toc-section\" id=\"eksctl_deploy\"><\/span>eksctl deploy<span class=\"ez-toc-section-end\"><\/span><\/h3><\/div><div class=\"eb-accordion-content-wrapper\"><div class=\"eb-accordion-content\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# \uc790\uaca9 \uad6c\uc131 \uc124\uc815 \uc5c6\uc774 \ud655\uc778\naws ec2 describe-instances\n\n# IAM User \uc790\uaca9 \uad6c\uc131 : \uc2e4\uc2b5 \ud3b8\ub9ac\ub97c \uc704\ud574 administrator \uad8c\ud55c\uc744 \uac00\uc9c4 IAM User \uc758 \uc790\uaca9 \uc99d\uba85 \uc785\ub825\naws configure\nAWS Access Key ID [None]: AKIA5...\nAWS Secret Access Key [None]: CVNa2...\nDefault region name [None]: ap-northeast-2\nDefault output format [None]: json\n\n# \uc790\uaca9 \uad6c\uc131 \uc801\uc6a9 \ud655\uc778 : \ub178\ub4dc IP \ud655\uc778\naws ec2 describe-instances\n\n# EKS \ubc30\ud3ec\ud560 VPC \uc815\ubcf4 \ud655\uc778\nexport VPCID=$(aws ec2 describe-vpcs --filters &quot;Name=tag:Name,Values=$CLUSTER_NAME-VPC&quot; | jq -r .Vpcs[].VpcId)\necho &quot;export VPCID=$VPCID&quot; &gt;&gt; \/etc\/profile\necho $VPCID\n\n# EKS \ubc30\ud3ec\ud560 VPC\uc5d0 \uc18d\ud55c Subnet \uc815\ubcf4 \ud655\uc778\naws ec2 describe-subnets --filters &quot;Name=vpc-id,Values=$VPCID&quot; --output json | jq\naws ec2 describe-subnets --filters &quot;Name=vpc-id,Values=$VPCID&quot; --output yaml\n\n## \ud37c\ube14\ub9ad \uc11c\ube0c\ub137 ID \ud655\uc778\naws ec2 describe-subnets --filters Name=tag:Name,Values=&quot;$CLUSTER_NAME-PublicSubnet1&quot; | jq\naws ec2 describe-subnets --filters Name=tag:Name,Values=&quot;$CLUSTER_NAME-PublicSubnet1&quot; --query &quot;Subnets[0].[SubnetId]&quot; --output text\nexport PubSubnet1=$(aws ec2 describe-subnets --filters Name=tag:Name,Values=&quot;$CLUSTER_NAME-PublicSubnet1&quot; --query &quot;Subnets[0].[SubnetId]&quot; --output text)\nexport PubSubnet2=$(aws ec2 describe-subnets --filters Name=tag:Name,Values=&quot;$CLUSTER_NAME-PublicSubnet2&quot; --query &quot;Subnets[0].[SubnetId]&quot; --output text)\necho &quot;export PubSubnet1=$PubSubnet1&quot; &gt;&gt; \/etc\/profile\necho &quot;export PubSubnet2=$PubSubnet2&quot; &gt;&gt; \/etc\/profile\necho $PubSubnet1\necho $PubSubnet2\n\neksctl create cluster --name $CLUSTER_NAME --region=$AWS_DEFAULT_REGION --nodegroup-name=$CLUSTER_NAME-nodegroup --node-type=t3.medium \\\n--node-volume-size=30 --vpc-public-subnets &quot;$PubSubnet1,$PubSubnet2&quot; --version 1.28 --ssh-access --external-dns-access --verbose 4\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># \uc790\uaca9 \uad6c\uc131 \uc124\uc815 \uc5c6\uc774 \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-instances<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># IAM User \uc790\uaca9 \uad6c\uc131 : \uc2e4\uc2b5 \ud3b8\ub9ac\ub97c \uc704\ud574 administrator \uad8c\ud55c\uc744 \uac00\uc9c4 IAM User \uc758 \uc790\uaca9 \uc99d\uba85 \uc785\ub825<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">configure<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">AWS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Key<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ID<\/span><span style=\"color: #D8DEE9FF\"> [None]: AKIA5...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">AWS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Secret<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Key<\/span><span style=\"color: #D8DEE9FF\"> [None]: CVNa2...<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Default<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">region<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">name<\/span><span style=\"color: #D8DEE9FF\"> [None]: ap-northeast-2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">Default<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">output<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">format<\/span><span style=\"color: #D8DEE9FF\"> [None]: json<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \uc790\uaca9 \uad6c\uc131 \uc801\uc6a9 \ud655\uc778 : \ub178\ub4dc IP \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-instances<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># EKS \ubc30\ud3ec\ud560 VPC \uc815\ubcf4 \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">VPCID<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">$(<\/span><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #A3BE8C\"> ec2 describe-vpcs --filters <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Name=tag:Name,Values=<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-VPC<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #A3BE8C\"> <\/span><span style=\"color: #88C0D0\">jq<\/span><span style=\"color: #A3BE8C\"> -r .Vpcs[].VpcId<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">export VPCID=<\/span><span style=\"color: #D8DEE9\">$VPCID<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">$VPCID<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># EKS \ubc30\ud3ec\ud560 VPC\uc5d0 \uc18d\ud55c Subnet \uc815\ubcf4 \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-subnets<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--filters<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Name=vpc-id,Values=<\/span><span style=\"color: #D8DEE9\">$VPCID<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--output<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">json<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">jq<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-subnets<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--filters<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Name=vpc-id,Values=<\/span><span style=\"color: #D8DEE9\">$VPCID<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--output<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">yaml<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\">## \ud37c\ube14\ub9ad \uc11c\ube0c\ub137 ID \ud655\uc778<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-subnets<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--filters<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name=tag:Name,Values=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-PublicSubnet1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">jq<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ec2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">describe-subnets<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--filters<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Name=tag:Name,Values=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-PublicSubnet1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--query<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Subnets[0].[SubnetId]<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--output<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">text<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PubSubnet1<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">$(<\/span><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #A3BE8C\"> ec2 describe-subnets --filters Name=tag:Name,Values=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-PublicSubnet1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> --query <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Subnets[0].[SubnetId]<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> --output text<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PubSubnet2<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">$(<\/span><span style=\"color: #88C0D0\">aws<\/span><span style=\"color: #A3BE8C\"> ec2 describe-subnets --filters Name=tag:Name,Values=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-PublicSubnet2<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> --query <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Subnets[0].[SubnetId]<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\"> --output text<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">export PubSubnet1=<\/span><span style=\"color: #D8DEE9\">$PubSubnet1<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">export PubSubnet2=<\/span><span style=\"color: #D8DEE9\">$PubSubnet2<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">\/etc\/profile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">$PubSubnet1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">$PubSubnet2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">eksctl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">create<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">cluster<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--name<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--region=<\/span><span style=\"color: #D8DEE9\">$AWS_DEFAULT_REGION<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--nodegroup-name=<\/span><span style=\"color: #D8DEE9\">$CLUSTER_NAME<\/span><span style=\"color: #A3BE8C\">-nodegroup<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--node-type=t3.medium<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #EBCB8B\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">--node-volume-size=30 <\/span><span style=\"color: #A3BE8C\">--vpc-public-subnets<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9\">$PubSubnet1<\/span><span style=\"color: #A3BE8C\">,<\/span><span style=\"color: #D8DEE9\">$PubSubnet2<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--version<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1.28<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--ssh-access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--external-dns-access<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--verbose<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">4<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-6\">\n<div class=\"wp-block-column is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"752\" height=\"639\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-368.png\" alt=\"\" class=\"wp-image-1251\" srcset=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-368.png 752w, https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/image-368-300x255.png 300w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\">\n<ul>\n<li><strong>\ud074\ub7ec\uc2a4\ud130 \uc774\ub984 \ubc0f \uc9c0\uc5ed \uc124\uc815<\/strong>\n<ul>\n<li>cluster name : myeks<\/li>\n\n\n\n<li>region : ap-northeast-2<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub178\ub4dc \uadf8\ub8f9 \uc124\uc815<\/strong>\n<ul>\n<li>nodegroup name : myeks-nodegroup <\/li>\n\n\n\n<li>node type : t3.medium<\/li>\n\n\n\n<li>volume size : 30GB<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>VPC \ubc0f \uc11c\ube0c\ub137 \uc124\uc815<\/strong>\n<ul>\n<li>\uac01 public subnet\uc5d0\uc11c \uc6cc\ucee4 \ub178\ub4dc \ubc30\ud3ec<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>EKS \ubc84\uc804 \uc124\uc815<\/strong>\n<ul>\n<li>v1.28 <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SSH \ubc0f \uc678\ubd80 DNS \uc561\uc138\uc2a4 \uc124\uc815<\/strong>\n<ul>\n<li>SSH \uc561\uc138\uc2a4<\/li>\n\n\n\n<li>\uc678\ubd80 DNS \uc561\uc138\uc2a4<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verbose \ubaa8\ub4dc \uc124\uc815<\/strong>\n<ul>\n<li>&#8211;verbose 4 \ud50c\ub798\uadf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc790\uc138\ud55c \uc815\ubcf4\ucd9c\ub825<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pod_Deploy\"><\/span>Pod Deploy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\ud83d\udd20pod<\/p>\n<cite>Kubernetes\uc5d0\uc11c \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \ubc30\ud3ec \ub2e8\uc704\uc785\ub2c8\ub2e4. Pod\uc740 Kubernetes \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ud558\ub098 \uc774\uc0c1\uc758 \ucee8\ud14c\uc774\ub108 \uadf8\ub8f9\uc785\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \ud55c Pod\uc5d0\ub294 \uc8fc\ub85c \ud568\uaed8 \ub3d9\uc791\ud558\ub294 \uc5ec\ub7ec \ucee8\ud14c\uc774\ub108\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ucee8\ud14c\uc774\ub108\ub294 \ub124\ud2b8\uc6cc\ud06c\uc640 \uc2a4\ud1a0\ub9ac\uc9c0 \ub4f1\uc744 \uacf5\uc720\ud558\uba70 \ub3d9\uc77c\ud55c \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc2e4\ud589<\/cite><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sample_pod_deploy\"><\/span>Sample pod deploy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"kubectl create deployment my-webs --image=gcr.io\/google-samples\/kubernetes-bootcamp:v1 --replicas=3\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">kubectl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">create<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">deployment<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">my-webs<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--image=gcr.io\/google-samples\/kubernetes-bootcamp:v1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--replicas=3<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul>\n<li>kubectl\uc744 \ud1b5\ud574 Deployment \ub85c pod 3\uac1c \ubc30\ud3ec<\/li>\n\n\n\n<li>\uac15\uc81c \uc0ad\uc81c \ud558\uba74\uc11c Kubernetes\uc758 \uc7a5\uc810\uc911 \ud558\ub098\uc778 <span class='tooltipsall tooltipsincontent classtoolTips2'>\uba71\ub4f1\uc131<\/span>(Idempotence)\uc744 \ud655\uc778<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1290\" height=\"227\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/k8s_idempotent.gif\" alt=\"\" class=\"wp-image-1255\"\/><\/figure><\/div>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-9\">\n<div class=\"wp-block-column is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1188\" height=\"1042\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/idempotent.gif\" alt=\"\" class=\"wp-image-1254\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow\" style=\"flex-basis:66.66%\">\n<pre class=\"wp-block-preformatted\">\ud83d\udca1\uba71\ub4f1\uc131(<span class='tooltipsall tooltipsincontent classtoolTips2'>idempotent<\/span>) : \uc5f0\uc0b0\uc744 \uc5ec\ub7ec \ubc88 \uc801\uc6a9\ud558\ub354\ub77c\ub3c4 \uacb0\uacfc\uac00 \ub2ec\ub77c\uc9c0\uc9c0 \uc54a\ub294 \uc131\uc9c8<\/pre>\n\n\n\n<p><strong>Example<\/strong><\/p>\n\n\n\n<ol>\n<li><strong>HTTP \uba54\uc11c\ub4dc<\/strong>:\n<ul>\n<li>HTTP \uba54\uc11c\ub4dc \uc911 PUT\uacfc DELETE\ub294 <span class='tooltipsall tooltipsincontent classtoolTips2'>\uba71\ub4f1\uc131<\/span>\uc744 \uac00\uc9d1\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uac19\uc740 PUT \uc694\uccad\uc744 \uc5ec\ub7ec \ubc88 \uc2e4\ud589\ud558\ub354\ub77c\ub3c4 \ub3d9\uc77c\ud55c \ub9ac\uc18c\uc2a4\uac00 \uc0dd\uc131\ub418\uba70, \uac19\uc740 DELETE \uc694\uccad\uc744 \uc5ec\ub7ec \ubc88 \uc2e4\ud589\ud558\ub354\ub77c\ub3c4 \ub3d9\uc77c\ud55c \ub9ac\uc18c\uc2a4\uac00 \uc0ad\uc81c\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc218\ud559\uc801 \uc5f0\uc0b0<\/strong>:\n<ul>\n<li>\uc608\ub97c \ub4e4\uc5b4, \uc815\uc218\uc5d0 \ub300\ud55c \uc808\ub300\uac12\uc744 \uacc4\uc0b0\ud558\ub294 \uc5f0\uc0b0\uc740 <span class='tooltipsall tooltipsincontent classtoolTips2'>\uba71\ub4f1\uc131<\/span>\uc744 \uac00\uc9d1\ub2c8\ub2e4. \uc5b4\ub5a4 \uc815\uc218\uc5d0 \ub300\ud55c \uc808\ub300\uac12\uc744 \uc5ec\ub7ec \ubc88 \uacc4\uc0b0\ud558\ub354\ub77c\ub3c4 \uacb0\uacfc\ub294 \ud56d\uc0c1 \ub3d9\uc77c\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc2dc\uc2a4\ud15c \uc124\uc815 \ubcc0\uacbd<\/strong>:\n<ul>\n<li>\uc2dc\uc2a4\ud15c \uc124\uc815\uc744 \ubcc0\uacbd\ud558\ub294 \uc791\uc5c5 \uc911\uc5d0\ub3c4 <span class='tooltipsall tooltipsincontent classtoolTips2'>\uba71\ub4f1\uc131<\/span>\uc744 \uace0\ub824\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \uc124\uc815 \ud30c\uc77c\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uc791\uc5c5\uc774 \uc788\uc744 \ub54c, \ub3d9\uc77c\ud55c \uc124\uc815\uc744 \uc5ec\ub7ec \ubc88 \uc801\uc6a9\ud574\ub3c4 \uc2dc\uc2a4\ud15c \uc0c1\ud0dc\ub294 \ub3d9\uc77c\ud558\uac8c \uc720\uc9c0\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"docker-supermario_pod_deploy\"><\/span>docker-supermario pod deploy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-accordion-toggle-accordion-toggle\"><div class=\"eb-parent-wrapper eb-parent-eb-accordion-xntt4 \"><div class=\"eb-accordion-container eb-accordion-xntt4\" data-accordion-type=\"accordion\" data-tab-icon=\"fas fa-angle-right\" data-expanded-icon=\"fas fa-angle-down\" data-transition-duration=\"500\"><div class=\"eb-accordion-inner\">\n<div class=\"eb-accordion-item-vu3vt eb-accordion-wrapper\" data-clickable=\"false\"><div class=\"eb-accordion-title-wrapper\" tabindex=\"0\"><span class=\"eb-accordion-icon-wrapper\"><span class=\"fas fa-angle-right eb-accordion-icon\"><\/span><\/span><h3 class=\"eb-accordion-title\"><span class=\"ez-toc-section\" id=\"marioyaml\"><\/span>mario.yaml<span class=\"ez-toc-section-end\"><\/span><\/h3><\/div><div class=\"eb-accordion-content-wrapper\"><div class=\"eb-accordion-content\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# mario.yaml\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: mario\n  labels:\n    app: mario\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: mario\n  template:\n    metadata:\n      labels:\n        app: mario\n    spec:\n      containers:\n      - name: mario\n        image: pengbai\/docker-supermario\n---\napiVersion: v1\nkind: Service\nmetadata:\n   name: mario\nspec:\n  selector:\n    app: mario\n  ports:\n  - port: 80\n    protocol: TCP\n    targetPort: 8080\n  type: LoadBalancer\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># mario.yaml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">apiVersion:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">apps\/v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kind:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Deployment<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">metadata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">name:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">labels:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">app:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">spec:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">replicas:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">selector:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">matchLabels:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #88C0D0\">app:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">template:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">metadata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #88C0D0\">labels:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">app:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">spec:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #88C0D0\">containers:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #88C0D0\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">name:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">image:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">pengbai\/docker-supermario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">---<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">apiVersion:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">v1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kind:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">Service<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">metadata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #88C0D0\">name:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">spec:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">selector:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">app:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">mario<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">port:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">80<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">protocol:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">TCP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">targetPort:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">8080<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">type<\/span><span style=\"color: #D8DEE9FF\">: <\/span><span style=\"color: #A3BE8C\">LoadBalancer<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"(gyuroot@myeks:default) [root@myeks-host ~]# kubectl apply -f mario.yaml\n(gyuroot@myeks:default) [root@myeks-host ~]# k get deploy\nNAME    READY   UP-TO-DATE   AVAILABLE   AGE\nmario   1\/1     1            1           63m\n(gyuroot@myeks:default) [root@myeks-host ~]# k get svc\nNAME         TYPE           CLUSTER-IP      EXTERNAL-IP                                                                    PORT(S)        AGE\nkubernetes   ClusterIP      10.100.0.1      &lt;none&gt;                                                                         443\/TCP        9h\nmario        LoadBalancer   10.100.101.35   xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-2.elb.amazonaws.com   80:32385\/TCP   63m\n(gyuroot@myeks:default) [root@myeks-host ~]# k get ep\nNAME         ENDPOINTS                           AGE\nmario        192.168.2.138:8080                  63m\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">gyuroot@myeks:default<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-host <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># kubectl apply -f mario.yaml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">gyuroot@myeks:default<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-host <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># k get deploy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #A3BE8C\">READY<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">UP-TO-DATE<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AVAILABLE<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">mario<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #A3BE8C\">\/1<\/span><span style=\"color: #D8DEE9FF\">     <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\">           <\/span><span style=\"color: #B48EAD\">63<\/span><span style=\"color: #A3BE8C\">m<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">gyuroot@myeks:default<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-host <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># k get svc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #A3BE8C\">TYPE<\/span><span style=\"color: #D8DEE9FF\">           <\/span><span style=\"color: #A3BE8C\">CLUSTER-IP<\/span><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #A3BE8C\">EXTERNAL-IP<\/span><span style=\"color: #D8DEE9FF\">                                                                    <\/span><span style=\"color: #A3BE8C\">PORT<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">S<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">kubernetes<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">ClusterIP<\/span><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #B48EAD\">10.100<\/span><span style=\"color: #A3BE8C\">.0.1<\/span><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #A3BE8C\">non<\/span><span style=\"color: #D8DEE9FF\">e<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\">                                                                         <\/span><span style=\"color: #B48EAD\">443<\/span><span style=\"color: #A3BE8C\">\/TCP<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #B48EAD\">9<\/span><span style=\"color: #A3BE8C\">h<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">mario<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #A3BE8C\">LoadBalancer<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">10.100<\/span><span style=\"color: #A3BE8C\">.101.35<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #A3BE8C\">xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-2.elb.amazonaws.com<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">80<\/span><span style=\"color: #A3BE8C\">:32385\/TCP<\/span><span style=\"color: #D8DEE9FF\">   <\/span><span style=\"color: #B48EAD\">63<\/span><span style=\"color: #A3BE8C\">m<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">gyuroot@myeks:default<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">root@myeks-host <\/span><span style=\"color: #81A1C1\">~<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"># k get ep<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">NAME<\/span><span style=\"color: #D8DEE9FF\">         <\/span><span style=\"color: #A3BE8C\">ENDPOINTS<\/span><span style=\"color: #D8DEE9FF\">                           <\/span><span style=\"color: #A3BE8C\">AGE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">mario<\/span><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #B48EAD\">192.168<\/span><span style=\"color: #A3BE8C\">.2.138:8080<\/span><span style=\"color: #D8DEE9FF\">                  <\/span><span style=\"color: #B48EAD\">63<\/span><span style=\"color: #A3BE8C\">m<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"469\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/mario_game.gif\" alt=\"\" class=\"wp-image-1262\"\/><figcaption class=\"wp-element-caption\">\uc624\ud508\ub41c \ub85c\ub4dc\ubc38\ub7f0\uc11c <span class='tooltipsall tooltipsincontent classtoolTips11'>URL<\/span>\ub85c \uc811\uc18d \ud6c4 \ud654\uba74<\/figcaption><\/figure><\/div>\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%85%B8%EB%93%9C%EC%97%90_%EB%B0%B0%ED%8F%AC%EB%90%9C_%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88_%EC%A0%95%EB%B3%B4_%ED%99%95%EC%9D%B8\"><\/span>\ub178\ub4dc\uc5d0 \ubc30\ud3ec\ub41c \ucee8\ud14c\uc774\ub108 \uc815\ubcf4 \ud655\uc778<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ctr\"><\/span>ctr<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>Containerd \ucee8\ud14c\uc774\ub108 \ub7f0\ud0c0\uc784\uc758 CLI \ub3c4\uad6c<\/li>\n\n\n\n<li>ctr\uc744 \uc0ac\uc6a9\ud558\uba74 \ucee8\ud14c\uc774\ub108\uc758 \uc0dd\uc131, \uc2e4\ud589, \uc911\uc9c0 \ubc0f \uad00\ub9ac\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \uc791\uc5c5\uc744 \uc218\ud589\uac00\ub2a5<\/li>\n\n\n\n<li><strong>\uc8fc\ub85c Containerd\uc758 API\ub97c \ud65c\uc6a9\ud558\uc5ec \ub354 \ub0ae\uc740 \uc218\uc900\uc758 \ucee8\ud14c\uc774\ub108 \uad00\ub9ac\ub97c \uc6d0\ud560 \ub54c \uc0ac\uc6a9<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# \ucee8\ud14c\uc774\ub108 \uc2e4\ud589\nctr run --rm --tty docker.io\/library\/alpine:latest echo &quot;Hello, World!&quot;\n\n# \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c\nctr containers list\n\n# \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c\nctr images list\n\n# Containerd\uc5d0\uc11c \uc9c1\uc811 \ucee8\ud14c\uc774\ub108 \uc0dd\uc131\nctr container create --snapshotter=overlayfs alpine-container\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \uc2e4\ud589<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">ctr<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">run<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--rm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--tty<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">docker.io\/library\/alpine:latest<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Hello, World!<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">ctr<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">containers<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">ctr<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">images<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># Containerd\uc5d0\uc11c \uc9c1\uc811 \ucee8\ud14c\uc774\ub108 \uc0dd\uc131<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">ctr<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">container<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">create<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--snapshotter=overlayfs<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">alpine-container<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"nerdctl\"><\/span>nerdctl<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>Docker CLI\uc640 \uc720\uc0ac\ud55c \uba85\ub839\uc5b4\ub97c \uc81c\uacf5\ud558\uba74\uc11c\ub3c4 Docker Daemon\uc744 \ud544\uc694\ub85c \ud558\uc9c0 \uc54a\uace0, \ub300\uc2e0\uc5d0 Containerd\ub97c \uc9c1\uc811 \uc870\uc791\ud558\uc5ec \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589<\/li>\n\n\n\n<li>nerdctl\uc740 Docker\uc640 \ud638\ud658\ub418\ub294 \ud658\uacbd\uc5d0\uc11c Docker CLI \ub300\uc2e0\uc5d0 \uc0ac\uc6a9\uac00\ub2a5<\/li>\n\n\n\n<li><strong>\uc8fc\ub85c Docker Daemon\uc774 \uc2e4\ud589 \uc911\uc774\uc9c0 \uc54a\uc740 \ud658\uacbd\uc774\uac70\ub098 \ub3c5\ub9bd\uc801\uc778 \ucee8\ud14c\uc774\ub108 \uad00\ub9ac\ub97c \uc6d0\ud560 \ub54c \uc0ac\uc6a9<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# \ucee8\ud14c\uc774\ub108 \uc2e4\ud589\nnerdctl run --rm docker.io\/library\/alpine:latest echo &quot;Hello, World!&quot;\n\n# \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c\nnerdctl ps\n\n# \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c\nnerdctl images\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \uc2e4\ud589<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">nerdctl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">run<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">--rm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">docker.io\/library\/alpine:latest<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Hello, World!<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">nerdctl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ps<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">nerdctl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">images<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"crictl\"><\/span>crictl<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>Kubernetes\uc640 \uac19\uc740 CRI\ub97c \uad6c\ud604\ud558\ub294 \ucee8\ud14c\uc774\ub108 \ub7f0\ud0c0\uc784\uacfc \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \uc704\ud55c CLI \ub3c4\uad6c<\/li>\n\n\n\n<li>Kubernetes\uac00 \ucee8\ud14c\uc774\ub108 \ub7f0\ud0c0\uc784\uacfc \ud1b5\uc2e0\ud560 \ub54c \uc0ac\uc6a9<\/li>\n\n\n\n<li>crictl\uc744 \uc0ac\uc6a9\ud558\uba74 Kubernetes \ud074\ub7ec\uc2a4\ud130 \ub0b4\uc758 \ucee8\ud14c\uc774\ub108 \ub7f0\ud0c0\uc784\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uc870\ud68c\ud558\uace0, \ucee8\ud14c\uc774\ub108\ub97c \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\uc744 \uc218\ud589<\/li>\n\n\n\n<li><strong>\uc8fc\ub85c Kubernetes \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c\uc758 \ucee8\ud14c\uc774\ub108 \uad00\ub9ac \ubc0f \ub514\ubc84\uae45\uc5d0 \uc0ac\uc6a9<\/strong><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c\ncrictl ps\n\n# \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c\ncrictl images\n\n# \ucee8\ud14c\uc774\ub108 \uc0dd\uc131\ncrictl runp &lt;sandbox-id&gt; echo &quot;Hello, World!&quot;\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">crictl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">ps<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \uc774\ubbf8\uc9c0 \ubaa9\ub85d \uc870\ud68c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">crictl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">images<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \ucee8\ud14c\uc774\ub108 \uc0dd\uc131<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">crictl<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">runp<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #A3BE8C\">sandbox-i<\/span><span style=\"color: #D8DEE9FF\">d<\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">echo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Hello, World!<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n<script type=\"text\/javascript\"> toolTips('.classtoolTips2','\uba71\ub4f1\uc131\uc744 \uac00\uc9c0\ub294 \uacbd\uc6b0\uc5d0\ub294 \uac19\uc740 \uc5f0\uc0b0\uc744 \uc5ec\ub7ec \ubc88 \uc218\ud589\ud558\ub354\ub77c\ub3c4 \uacb0\uacfc\uac00 \ub2ec\ub77c\uc9c0\uc9c0 \uc54a\ub294 \uc131\uc9c8'); <\/script><script type=\"text\/javascript\"> toolTips('.classtoolTips2','\uba71\ub4f1\uc131\uc744 \uac00\uc9c0\ub294 \uacbd\uc6b0\uc5d0\ub294 \uac19\uc740 \uc5f0\uc0b0\uc744 \uc5ec\ub7ec \ubc88 \uc218\ud589\ud558\ub354\ub77c\ub3c4 \uacb0\uacfc\uac00 \ub2ec\ub77c\uc9c0\uc9c0 \uc54a\ub294 \uc131\uc9c8'); <\/script><script type=\"text\/javascript\"> toolTips('.classtoolTips3','\uc5ec\ub7ec \uac1c\uc758 \ud504\ub85c\uadf8\ub7a8 \ud568\uc218\ub4e4\uc744 \ubaa8\uc544 \ud558\ub098\uc758 \ud2b9\uc815\ud55c \uae30\ub2a5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uad6c\uc131\ud55c \uc791\uc740 \uae30\ub2a5\uc801 \ub2e8\uc704'); <\/script><script type=\"text\/javascript\">jQuery(\"document\").ready(function(){ if (typeof(bulletscreentoolTips3content) == 'undefined'){ var bulletscreentoolTips3content  = [\"\\ucef4\\ud3ec\\ub10c\\ud2b8\"] ; var bulletscreenindex3content = 0;jQuery(document).ready(function($) {\t$('.classtoolTips3').mouseout(function(e) {\t\tvar x = e.pageX,\t\ty = e.pageY; bulletscreenindex3content = (bulletscreenindex3content + 1) % bulletscreentoolTips3content.length; $(\"<span class='bulletscreenfortoolTips' \/>\").text(bulletscreentoolTips3content[bulletscreenindex3content]).css({\"z-index\": \"555555\",\"top\": y - 10,\"left\": x+10,\"color\": \"#bf316f\",\"font-size\": \"24px\",  \"font-weight\": \"bolder\",\"position\": \"absolute\"}).appendTo(\"body\").animate({\"top\": y - 380,\"opacity\": 1},2500,function() {this.remove();});});});}}); <\/script><script type=\"text\/javascript\"> toolTips('.classtoolTips11','<span class=\"notion-enable-hover\" data-token-index=\"0\">Uniform Resource Locator<br\/><\/span><br\/><br\/><a href=\"\/wordpress\/?p=65\">Detail<\/a>'); <\/script>","protected":false},"excerpt":{"rendered":"<p>1. EKS(Elastic Kubernetes Service) \ud83d\udd20EKS\ub780? AWS\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc11c\ube44\uc2a4\ub85c \uc815\ud655\ud55c \uba85\uce6d\uc740 Elastic Kubernetes Service\uc774\ub2e4. On-premise\uc5d0\uc11c Kubernetes\ub97c \ub3d9\uc791\ud558\ub294\uac83\uacfc \ub2e4\ub974\uac8c AWS\uc5d0\uc11c \ud074\ub7ec\uc2a4\ud130 \uad00\ub9ac, \ubcf4\uc548 \uc5c5\ub370\uc774\ud2b8, \uc790\ub3d9 \ud655\uc7a5, \ub85c\ub4dc \ubc38\ub7f0\uc2f1\uc744 \uc790\ub3d9\uc73c\ub85c \ud560 \uc218 \uc788\uc5b4\uc11c \uc0ac\uc6a9\uc790\uac00 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc9d1\uc911\ud558\uace0 Kubernetes \ud074\ub7ec\uc2a4\ud130\uc758 \uc6b4\uc601 \ubd80\ub2f4\uc744 \ucd5c\uc18c\ud654\ud560 \uc218 \uc788\ub294 \uc7a5\uc810\uc774 \uc788\ub2e4. EKS Components EKS Deploy Host Server Deploy \ubc30\ud3ec \ubc29\ubc95\uc740 \ub300\ud45c\uc801\uc73c\ub85c \uc6f9 \ucf58\uc194, eksctl, &#8230; <a title=\"01-[AEWS]-Amazon EKS \uae30\ubcf8\uae30\" class=\"read-more\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=1230\" aria-label=\"More on 01-[AEWS]-Amazon EKS \uae30\ubcf8\uae30\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":""},"categories":[46],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1230"}],"collection":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1230"}],"version-history":[{"count":22,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1230\/revisions"}],"predecessor-version":[{"id":1263,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1230\/revisions\/1263"}],"wp:attachment":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}