GA์˜ Amazon EKS Windows์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค.

GA์˜ Amazon EKS Windows์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค.

์ข‹์€ ์˜คํ›„์ž…๋‹ˆ๋‹ค. Windows ์ปจํ…Œ์ด๋„ˆ์šฉ AWS EKS(Elastic Kubernetes Service) ์„œ๋น„์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด๋‚˜ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ์„ฑ๊ณผ AWS ์‹œ์Šคํ…œ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฐœ๊ฒฌ๋œ ๋ฒ„๊ทธ์— ๋Œ€ํ•ด ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. Windows ์ปจํ…Œ์ด๋„ˆ์šฉ ์ด ์„œ๋น„์Šค์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„์€ cat ์•„๋ž˜์— ๋ฌธ์˜ํ•˜์„ธ์š”.

Windows ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ธ๊ธฐ ์žˆ๋Š” ์ฃผ์ œ๊ฐ€ ์•„๋‹ˆ๋ฉฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ฑฐ์˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ, kubernetes ๋ฐ Windows์— ๋Œ€ํ•œ Habrรฉ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์‚ฌ๊ฐ€ ์žˆ์—ˆ๊ณ  ์—ฌ์ „ํžˆ ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ๋“ค์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ์‚ฌ๋ฅผ ์“ฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ

๋ชจ๋“  ๊ฒƒ์€ ์šฐ๋ฆฌ ํšŒ์‚ฌ์˜ ์„œ๋น„์Šค๋ฅผ Windows 70%, Linux 30%์ธ kubernetes๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์„ ๋•Œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด AWS EKS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋กœ ๊ฐ„์ฃผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 8๋…„ 2019์›” 1.11์ผ๊นŒ์ง€ AWS EKS Windows๋Š” ํผ๋ธ”๋ฆญ ํ”„๋ฆฌ๋ทฐ ์ƒํƒœ์˜€๊ณ , ๊ฑฐ๊ธฐ์„œ๋Š” ์ด์ „ XNUMX ๋ฒ„์ „์˜ kubernetes๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์ง€๋งŒ ์–ด์จŒ๋“  ํ™•์ธํ•˜๊ณ  ์ด ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์–ด๋Š ๋‹จ๊ณ„์— ์žˆ๋Š”์ง€, ์ž‘๋™ ์ค‘์ธ์ง€ ํ™•์ธํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ์š”, ํฌ๋“œ ์ œ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ์ด์ „ ํฌ๋“œ๋Š” Windows ์ž‘์—…์ž ๋…ธ๋“œ์™€ ๋™์ผํ•œ ์„œ๋ธŒ๋„ท์˜ ๋‚ด๋ถ€ IP๋ฅผ ํ†ตํ•ด ์‘๋‹ต์„ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋™์ผํ•œ EC2์˜ kubernetes์— ์žˆ๋Š” ์ž์ฒด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ ํ˜ธํ•˜์—ฌ AWS EKS ์‚ฌ์šฉ์„ ํฌ๊ธฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. CloudFormation์„ ํ†ตํ•ด ๋ชจ๋“  ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ HA๋ฅผ ์ง์ ‘ ์„ค๋ช…ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Amazon EKS Windows ์ปจํ…Œ์ด๋„ˆ ์ง€์›, ์ด์ œ ์ •์‹ ์ถœ์‹œ๋จ

๋งˆํ‹ด ๋น„๋น„ | 08๋…„ 2019์›” XNUMX์ผ

๋‚ด ํด๋Ÿฌ์Šคํ„ฐ์˜ CloudFormation์— ํ…œํ”Œ๋ฆฟ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ๋‰ด์Šค๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. Amazon EKS Windows ์ปจํ…Œ์ด๋„ˆ ์ง€์›, ์ด์ œ ์ •์‹ ์ถœ์‹œ๋จ

๋ฌผ๋ก  ์ €๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์ œ์ณ๋‘๊ณ  GA๋ฅผ ์œ„ํ•ด ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  Public Preview๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ์—ฐ๊ตฌํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, AWS๋Š” Windows ์ž‘์—…์ž ๋…ธ๋“œ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ฒ„์ „ 1.14๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์œผ๋ฉฐ EKS์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ž์ฒด ๋ฒ„์ „ 1.14๋Š” ์ด์ œ Windows ๋…ธ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ”„๋กœ์ ํŠธ ๊ธฐํƒ€๋ฒ  ๊ทธ๋“ค์€ ๊ทธ๊ฒƒ์„ ์€ํํ•˜๊ณ  ์ด์ œ ์—ฌ๊ธฐ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. EKS ์œˆ๋„์šฐ ์ง€์›

EKS ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ˜„์žฌ VPC ๋ฐ ์„œ๋ธŒ๋„ท์— ํ†ตํ•ฉ

๋ชจ๋“  ์†Œ์Šค, ๋ฐœํ‘œ ๋ฐ ๋ฌธ์„œ์˜ ์œ„ ๋งํฌ์—์„œ ๋…์  eksctl ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋˜๋Š” CloudFormation + kubectl์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  Amazon์˜ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๋ณ„๋„์˜ VPC.

์ด ์˜ต์…˜์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ณ„๋„์˜ VPC๋Š” โ€‹โ€‹๋น„์šฉ + ํ˜„์žฌ VPC์— ๋Œ€ํ•œ ํ”ผ์–ด๋ง ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๋น„์šฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ AWS์— ์ž์ฒด ๋‹ค์ค‘ AWS ๊ณ„์ •, VPC, ์„œ๋ธŒ๋„ท, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”, ์ „์†ก ๊ฒŒ์ดํŠธ์›จ์ด ๋“ฑ์„ ๊ฐ–์ถ˜ ์ธํ”„๋ผ๊ฐ€ ์ด๋ฏธ ๊ตฌ์ถ•๋˜์–ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋ฌผ๋ก  ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์œผ๋ฉฐ ๊ธฐ์กด VPC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ EKS ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ˜„์žฌ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ์— ํ†ตํ•ฉํ•ด์•ผ ํ•˜๋ฉฐ, ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ธฐ๊ปํ•ด์•ผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ƒˆ ์„œ๋ธŒ๋„ท์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” ์ด ๊ฒฝ๋กœ๊ฐ€ ์„ ํƒ๋˜์—ˆ๊ณ  ๊ธฐ์กด VPC๋ฅผ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ์— ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท 2๊ฐœ์™€ ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท 2๊ฐœ๋งŒ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฌธ์„œ์— ๋”ฐ๋ผ ๋ชจ๋“  ๊ทœ์น™์ด ๊ณ ๋ ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Amazon EKS ํด๋Ÿฌ์Šคํ„ฐ VPC ์ƒ์„ฑ.

๋˜ํ•œ ํ•œ ๊ฐ€์ง€ ์กฐ๊ฑด์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. EIP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์ž‘์—…์ž ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

eksctl ๋Œ€ CloudFormation

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ์‹œ๋„ํ–ˆ๋‹ค๊ณ  ์ฆ‰์‹œ ์˜ˆ์•ฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ๊ทธ๋ฆผ์ด ๋™์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์ฝ”๋“œ๊ฐ€ ๋” ์งง๊ธฐ ๋•Œ๋ฌธ์— eksctl๋งŒ ์‚ฌ์šฉํ•œ ์˜ˆ๋ฅผ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. eksctl์„ ์‚ฌ์šฉํ•˜์—ฌ 3๋‹จ๊ณ„๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

1. ๋‚˜์ค‘์— ์‹œ์Šคํ…œ ์ปจํ…Œ์ด๋„ˆ์™€ ๋™์ผํ•œ ๋ถˆ์šดํ•œ vpc-controller๋ฅผ ํ˜ธ์ŠคํŒ…ํ•  ํด๋Ÿฌ์Šคํ„ฐ ์ž์ฒด + Linux ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

eksctl create cluster 
--name yyy 
--region www 
--version 1.14 
--vpc-private-subnets=subnet-xxxxx,subnet-xxxxx 
--vpc-public-subnets=subnet-xxxxx,subnet-xxxxx 
--asg-access 
--nodegroup-name linux-workers 
--node-type t3.small 
--node-volume-size 20 
--ssh-public-key wwwwwwww 
--nodes 1 
--nodes-min 1 
--nodes-max 2 
--node-ami auto 
--node-private-networking

๊ธฐ์กด VPC์— ๋ฐฐํฌํ•˜๋ ค๋ฉด ์„œ๋ธŒ๋„ท์˜ ID๋งŒ ์ง€์ •ํ•˜๋ฉด eksctl์ด VPC ์ž์ฒด๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—…์ž ๋…ธ๋“œ๊ฐ€ ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์—๋งŒ ๋ฐฐํฌ๋˜๋„๋ก ํ•˜๋ ค๋ฉด ๋…ธ๋“œ ๊ทธ๋ฃน์— --node-private-networking์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. ํด๋Ÿฌ์Šคํ„ฐ์— vpc-controller๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฌด๋ฃŒ IP ์ฃผ์†Œ ์ˆ˜์™€ ์ธ์Šคํ„ด์Šค์˜ ENI ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

eksctl utils install-vpc-controllers --name yyy --approve

3. vpc-controller๋ฅผ ํฌํ•จํ•˜์—ฌ Linux ์ž‘์—…์ž ๋…ธ๋“œ์—์„œ ์‹œ์Šคํ…œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์ž‘๋œ ํ›„ ๋‚จ์€ ์ž‘์—…์€ Windows ์ž‘์—…์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ๋…ธ๋“œ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

eksctl create nodegroup 
--region www 
--cluster yyy 
--version 1.14 
--name windows-workers 
--node-type t3.small 
--ssh-public-key wwwwwwwwww 
--nodes 1 
--nodes-min 1 
--nodes-max 2 
--node-ami-family WindowsServer2019CoreContainer 
--node-ami ami-0573336fc96252d05 
--node-private-networking

๋…ธ๋“œ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์— ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฉด ์ค€๋น„ ์ƒํƒœ๊ฐ€ ๋˜์ง€๋งŒ ์•„๋‹ˆ์š”์ž…๋‹ˆ๋‹ค.

vpc ์ปจํŠธ๋กค๋Ÿฌ ์˜ค๋ฅ˜

Windows ์ž‘์—…์ž ๋…ธ๋“œ์—์„œ Pod๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

NetworkPlugin cni failed to teardown pod "windows-server-iis-7dcfc7c79b-4z4v7_default" network: failed to parse Kubernetes args: pod does not have label vpc.amazonaws.com/PrivateIPv4Address]

๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด AWS์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GA์˜ Amazon EKS Windows์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค:

GA์˜ Amazon EKS Windows์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด vpc-controller๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ ํ•ด๋‹น ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ–ˆ๊ณ  ํฌ๋“œ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒˆ IP ์ฃผ์†Œ๋ฅผ ์ธ์Šคํ„ด์Šค์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

vpc-controller ํฌ๋“œ์˜ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

kubectl ๋กœ๊ทธ -n kube-์‹œ์Šคํ…œ

I1011 06:32:03.910140       1 watcher.go:178] Node watcher processing node ip-10-xxx.ap-xxx.compute.internal.
I1011 06:32:03.910162       1 manager.go:109] Node manager adding node ip-10-xxx.ap-xxx.compute.internal with instanceID i-088xxxxx.
I1011 06:32:03.915238       1 watcher.go:238] Node watcher processing update on node ip-10-xxx.ap-xxx.compute.internal.
E1011 06:32:08.200423       1 manager.go:126] Node manager failed to get resource vpc.amazonaws.com/CIDRBlock  pool on node ip-10-xxx.ap-xxx.compute.internal: failed to find the route table for subnet subnet-0xxxx
E1011 06:32:08.201211       1 watcher.go:183] Node watcher failed to add node ip-10-xxx.ap-xxx.compute.internal: failed to find the route table for subnet subnet-0xxx
I1011 06:32:08.201229       1 watcher.go:259] Node watcher adding key ip-10-xxx.ap-xxx.compute.internal (0): failed to find the route table for subnet subnet-0xxxx
I1011 06:32:08.201302       1 manager.go:173] Node manager updating node ip-10-xxx.ap-xxx.compute.internal.
E1011 06:32:08.201313       1 watcher.go:242] Node watcher failed to update node ip-10-xxx.ap-xxx.compute.internal: node manager: failed to find node ip-10-xxx.ap-xxx.compute.internal.

Google์—์„œ ๊ฒ€์ƒ‰ํ•ด๋„ ์•„๋ฌด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์•„์ง ๊ทธ๋Ÿฌํ•œ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•œ ์‚ฌ๋žŒ์ด ์—†๊ฑฐ๋‚˜ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒŒ์‹œํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ์˜ต์…˜์„ ์Šค์Šค๋กœ ์ƒ๊ฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ๋– ์˜ค๋ฅธ ๊ฒƒ์€ ์•„๋งˆ๋„ vpc-controller๊ฐ€ ip-10-xxx.ap-xxx.compute.internal์„ ํ™•์ธํ•˜๊ณ  ์ด์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์–ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ, ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๋Š” VPC์—์„œ ์‚ฌ์šฉ์ž ์ง€์ • DNS ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์›์น™์ ์œผ๋กœ Amazon ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด ap-xxx.compute.internal ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ „๋‹ฌ์กฐ์ฐจ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•˜๊ณ  ํ…Œ์ŠคํŠธ๊ฐ€ ๊นจ๋—ํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ์ˆ  ์ง€์›๊ณผ ๋Œ€ํ™”ํ•  ๋•Œ ๊ทธ๋“ค์˜ ์•„์ด๋””์–ด์— ๊ตด๋ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์•„์ด๋””์–ด๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ณด์•ˆ ๊ทธ๋ฃน์€ eksctl ์ž์ฒด์—์„œ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์„œ๋น„์Šค ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ์˜์‹ฌ์˜ ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์œผ๋ฉฐ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”๋„ ์ •ํ™•ํ–ˆ๊ณ  nat, dns, ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ํ†ตํ•œ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ โ€”node-private-networking์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๋…ธ๋“œ๋Š” vpc-controller์— ์˜ํ•ด ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์‹œ๊ณ„์ฒ˜๋Ÿผ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํฌ๊ธฐํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ AWS์—์„œ ์ด ๋ฒ„๊ทธ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์ˆ˜์ •๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋ฉด AWS EKS Windows๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows๋Š” ๋ฐฉ๊ธˆ GA๋กœ ์ถœ์‹œ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(์ด ๊ธฐ์‚ฌ๋ฅผ ์“ฐ๋Š” ์‹œ์ ์—์„œ 8์ผ์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค). ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์•„๋งˆ๋„ ๊ทธ๋Ÿด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜์™€ ๊ฐ™์€ ๊ธธ์„ ๋”ฐ๋ผ ๊ฐ€์„ธ์š”.
  2. AWS Support์— ๊ธ€์„ ์“ฐ๊ณ  ๋ชจ๋“  ๊ณณ์—์„œ ์ˆ˜์ง‘๋œ ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ์˜ ๋ณธ์งˆ์„ ์•Œ๋ฆฌ๊ณ  VPC์™€ ์„œ๋ธŒ๋„ท์„ ์‚ฌ์šฉํ•  ๋•Œ ํ•ด๋‹น ์„œ๋น„์Šค๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜์‹ญ์‹œ์˜ค. ์šฐ๋ฆฌ๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ์ง€์›์„ ๋ฐ›์€ ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ์•„๋‹ˆ๋ฏ€๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ํ•œ ๋ฒˆ์€ :)

AWS ์—”์ง€๋‹ˆ์–ด์™€์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

ํฌํ„ธ์—์„œ ํ‹ฐ์ผ“์„ ์ƒ์„ฑํ•œ ํ›„ ์‹ค์ˆ˜๋กœ ์›น(์ด๋ฉ”์ผ ๋˜๋Š” ์ง€์› ์„ผํ„ฐ)์„ ํ†ตํ•ด ์‘๋‹ตํ•˜๊ธฐ๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ํ†ตํ•ด ๋‚ด ํ‹ฐ์ผ“์— ์‹ฌ๊ฐ๋„ - ์‹œ์Šคํ…œ ์†์ƒ์ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฉฐ์น  ํ›„์— ์‘๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 12์‹œ๊ฐ„ ์ด๋‚ด ์‘๋‹ต์„ ์˜๋ฏธํ–ˆ์œผ๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ์ง€์› ๊ณ„ํš์—๋Š” ์—ฐ์ค‘๋ฌดํœด 24์‹œ๊ฐ„ ์ง€์›์ด ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์„ ์„ ๋‹คํ•˜๊ธธ ๋ฐ”๋ž์ง€๋งŒ ์–ธ์ œ๋‚˜์ฒ˜๋Ÿผ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

๋‚ด ํ‹ฐ์ผ“์€ ๊ธˆ์š”์ผ๋ถ€ํ„ฐ ์›”์š”์ผ๊นŒ์ง€ ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์—ˆ๊ณ , ๋‹ค์‹œ ํŽธ์ง€๋ฅผ ์“ฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  ์ฑ„ํŒ… ์‘๋‹ต ์˜ต์…˜์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฐ ํ›„ Harshad Madhav๊ฐ€ ๋‚˜๋ฅผ ๋งŒ๋‚˜๋„๋ก ์•ฝ์†๋˜์—ˆ๊ณ  ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค ...

์šฐ๋ฆฌ๋Š” 3์‹œ๊ฐ„ ์—ฐ์† ์˜จ๋ผ์ธ์œผ๋กœ ๋””๋ฒ„๊น…ํ•˜๊ณ , ๋กœ๊ทธ๋ฅผ ์ „์†กํ•˜๊ณ , ๋ฌธ์ œ๋ฅผ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด AWS ์‹คํ—˜์‹ค์— ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๊ณ , ๋‚ด ๋ถ€๋ถ„์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด resol์ด ์œ„์—์„œ ์ž‘์„ฑํ•œ AWS ๋‚ด๋ถ€ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ–ˆ๊ณ  Harshad Madhav๊ฐ€ ๋‚˜์—๊ฒŒ ์ „๋‹ฌ ์ƒ์„ฑ์„ ์š”์ฒญํ–ˆ๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • DNS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์†ก

ap-xxx.compute.internal  -> 10.x.x.2 (VPC CIDRBlock)
amazonaws.com -> 10.x.x.2 (VPC CIDRBlock)

๊ทธ๊ฒƒ์ด ๋๋‚ฌ๊ณ  ํ•˜๋ฃจ๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. Harshad Madhav๊ฐ€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ต์žฅ์„ ๋ณด๋ƒˆ๊ณ  ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ด์•ผ ํ–ˆ์ง€๋งŒ ์•„๋‹ˆ์š”, ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ „ํ˜€ ๋„์›€์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ 2๋ช…์˜ ์—”์ง€๋‹ˆ์–ด์™€ ์ถ”๊ฐ€๋กœ ์˜์‚ฌ์†Œํ†ต์ด ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ช…์€ ๋‹จ์ˆœํžˆ ์ฑ„ํŒ…์—์„œ ๋‚˜๊ฐ”๊ณ  ๋ถ„๋ช…ํžˆ ๊ทธ๋Š” ๋ณต์žกํ•œ ์‚ฌ๋ก€๋ฅผ ๋‘๋ ค์›Œํ–ˆ์œผ๋ฉฐ ๋‘ ๋ฒˆ์งธ๋Š” ๋””๋ฒ„๊น…, ๋กœ๊ทธ ์ „์†ก, ์–‘์ชฝ์— ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์˜ ์ „์ฒด ์ฃผ๊ธฐ์— ๋‹ค์‹œ ํ•˜๋ฃจ๋ฅผ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๊ทธ๋Š” ๋ฐฉ๊ธˆ ์ž˜ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹น์‹ ๊ณผ ๋‹น์‹ ์€ ์„ฑ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์–ด๋””์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋ฉด ๋– ๋‚˜๊ณ  ๋‚ด ํ‹ฐ์ผ“์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ํ• ๋‹นํ•˜๋ผ๊ณ  ์ •์ค‘ํ•˜๊ฒŒ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ์Šน

์…‹์งธ ๋‚ , ์ƒˆ๋กœ์šด ์—”์ง€๋‹ˆ์–ด Arun B.๊ฐ€ ๋‚˜์—๊ฒŒ ๋ฐฐ์ •๋˜์—ˆ๊ณ , ๊ทธ์™€์˜ ์˜์‚ฌ์†Œํ†ต์ด ์‹œ์ž‘๋  ๋•Œ๋ถ€ํ„ฐ ์ด ์‚ฌ๋žŒ์ด ์ด์ „ ์—”์ง€๋‹ˆ์–ด 3๋ช…์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด ์ฆ‰์‹œ ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ „์ฒด ๊ธฐ๋ก์„ ์ฝ๊ณ  ์ฆ‰์‹œ ์ž์‹ ์˜ github์— ์žˆ๋Š” ps1์—์„œ ์ž์‹ ์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋„๋ก ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋‹ค์‹œ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ, ๋ช…๋ น ๊ฒฐ๊ณผ ์ถœ๋ ฅ, ๋กœ๊ทธ ์ˆ˜์ง‘์˜ ๋ชจ๋“  ๋ฐ˜๋ณต์ด ์ด์–ด์กŒ์ง€๋งŒ Arun B.๋Š” ๋‚˜์—๊ฒŒ ๋ฌป๋Š” ์งˆ๋ฌธ์— ๋”ฐ๋ผ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

vpc-controller์—์„œ -stderrthreshold=debug๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ์ง€์ ์— ๋„๋‹ฌํ•œ ์‹œ์ ์€ ์–ธ์ œ์˜€์œผ๋ฉฐ, ๊ทธ ๋‹ค์Œ์—๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ์Šต๋‹ˆ๊นŒ? ๋ฌผ๋ก  ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค) ํฌ๋“œ๋Š” ์ด ์˜ต์…˜์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ณ  -stderrthreshold=info๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ ๋๋ƒˆ๊ณ  Arun B.๋Š” ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด ๋‹จ๊ณ„๋ฅผ ์žฌํ˜„ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ด๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๋‚  Arun B๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ด ์‚ฌ๊ฑด์„ ํฌ๊ธฐํ•˜์ง€ ์•Š์•˜์ง€๋งŒ vpc-controller์˜ ๋ฆฌ๋ทฐ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€ ๊ทธ๊ฒƒ์ด ์žˆ๋Š” ์œ„์น˜์™€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

GA์˜ Amazon EKS Windows์—๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ VPC์—์„œ ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ vpc-controller์— ๊ผญ ํ•„์š”ํ•œ ํ•„์ˆ˜ ์„œ๋ธŒ๋„ท๊ณผ์˜ ์—ฐ๊ฒฐ์ด ์—†์œผ๋ฉฐ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์ง€์ • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ์„œ๋ธŒ๋„ท์ด ํฌํ•จ๋œ ๊ธฐ๋ณธ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ๋…ธ๋“œ ๊ทธ๋ฃน์„ ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

Arun B.๊ฐ€ ์‹ค์ œ๋กœ ์ด ๋ฒ„๊ทธ๋ฅผ EKS ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ณด๊ณ ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ฆ‰์‹œ ์ž‘๋™ํ•˜๋Š” ์ƒˆ ๋ฒ„์ „์˜ vpc-controller๋ฅผ ๋ณด๊ฒŒ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ˜„์žฌ ์ตœ์‹  ๋ฒ„์ „์€ 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/eks/vpc-resource-controller:0.2.1์ž…๋‹ˆ๋‹ค.
์ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋๊นŒ์ง€ ์ฝ์–ด์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๊ตฌํ˜„์— ์•ž์„œ ํ”„๋กœ๋•์…˜์—์„œ ์‚ฌ์šฉํ•  ๋ชจ๋“  ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•ด ๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€