25๋ ๋ AWS EKS Hands-on Study ์คํฐ๋ ์ ๋ฆฌ ๋ด์ฉ์ ๋๋ค.
aws ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ ๋ฐฐํฌ ์ค์ต
AWS ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ๋ ์ฟ ๋ฒ๋คํฐ์ค์์ AWS์ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ์๋์ผ๋ก ํ๋ก๋น์ ๋ํ๊ณ ๊ด๋ฆฌํ๋ ์ปจํธ๋กค๋ฌ์ด๋ค.
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์์ ํ๋๋ก ํธ๋ํฝ์ ์ ๋ฌํ๊ธฐ ์ํด aws ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ณ ์ค์ ํ๋ ์ญํ ์ ์ํํ๋ค.
๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ ๋ฐฐํฌ
kubectl get crd
NAME CREATED AT
cninodes.vpcresources.k8s.aws 2025-02-15T17:37:19Z
eniconfigs.crd.k8s.amazonaws.com 2025-02-15T17:41:54Z
policyendpoints.networking.k8s.aws 2025-02-15T17:37:19Z
securitygrouppolicies.vpcresources.k8s.aws 2025-02-15T17:37:19Z
helm repo add eks https://aws.github.io/eks-charts
helm repo update
helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=myeks
kubectl get crd
NAME CREATED AT
cninodes.vpcresources.k8s.aws 2025-02-15T17:37:19Z
eniconfigs.crd.k8s.amazonaws.com 2025-02-15T17:41:54Z
ingressclassparams.elbv2.k8s.aws 2025-02-16T05:56:45Z <- ์ถ๊ฐ
policyendpoints.networking.k8s.aws 2025-02-15T17:37:19Z
securitygrouppolicies.vpcresources.k8s.aws 2025-02-15T17:37:19Z
targetgroupbindings.elbv2.k8s.aws 2025-02-16T05:56:45Z <- ์ถ๊ฐ
aws ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ฐฐํฌํ๋ฉด ์๋์ ์ธ๊ทธ๋ ์ค์ ํ๊ฒ ๊ทธ๋ฃน ๋ฐ์ธ๋ฉ์ด ์ถ๊ฐ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ingressclassparams.elbv2.k8s.aws๋ aws ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ๊ฐ ์ธ๊ทธ๋ ์ค ๋ฆฌ์์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ค์ ํ์ฌ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ค.
loadBalancerType์ application ๋๋ network๋ก ์ค์ ํ์ฌ ALB๋ NLB๋ฅผ ์ ํํ ์ ์๊ณ , scheme์ internal๋ก ์ง์ ํ๋ฉด ๋ด๋ถ ๋คํธ์ํฌ์์๋ง ์ ๊ทผํ ์ ์๋๋ก ์ค์ ํ ์๋ ์๋ค. ๋ํ ip ์ฃผ์ ์ ํ์ ์ง์ ํ ์ ์์ผ๋ฉฐ ๊ทธ๋ฃน์ ํ์ฉํ์ฌ ์ฌ๋ฌ ๊ฐ์ ์ธ๊ทธ๋ ์ค ๋ฆฌ์์ค๋ฅผ ๋์ผํ ๋ก๋๋ฐธ๋ฐ์์์ ์๋น์คํ ์๋ ์๋ค. ๊ทธ๋ฆฌ๊ณ AWS์ firewall์ธ WAF๋ฅผ ์ ์ฉํ ์ ์๋๋ก wafACL ์ต์ ์ ์ค์ ํ ์ ์๋ค.
targetgroupbindings.elbv2.k8s.aws๋ aws ํ๊ฒ ๊ทธ๋ฃน๊ณผ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฆฌ์์ค์ด๋ค. ALB ๋๋ NLB๋ฅผ ์ฌ์ฉํ ๋, ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๊ฐ ์ด๋ค ํ๊ฒ ๊ทธ๋ฃน์ ๋ฐ์ธ๋ฉ๋ ์ง๋ฅผ ์ ์ํ๋ ์ญํ ์ ํ๋ค.
์ผ๋ฐ์ ์ผ๋ก aws ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ๊ฐ ์๋์ผ๋ก Target Group์ ์์ฑํ๊ณ ๊ด๋ฆฌํ์ง๋ง, ํน์ Target Group์ ์๋์ผ๋ก ๋ฐ์ธ๋ฉํด์ผ ํ ๊ฒฝ์ฐ ์ง์ ์ค์ ํ ์ ์๋ค. ์ด ๋ฆฌ์์ค์์๋ targetGroupARN์ ์ง์ ํ์ฌ ์ฐ๊ฒฐํ AWS Target Group์ ์ ์ํ๊ณ serviceRef๋ฅผ ํตํด ์ด๋ค ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค์ ์ฐ๊ฒฐํ ์ง๋ฅผ ์ค์ ํ ์ ์๋ค.
๋ํ ๋คํธ์ํน ์ต์ ์ ํ์ฉํด ์ธ๊ทธ๋ ์ค ํธ๋ํฝ์ ๋คํธ์ํฌ ๊ท์น์ ์ค์ ํ๊ณ ํฌ์ค์ฒดํฌ๋ฅผ ํตํด ํ๊ฒ ๊ทธ๋ฃน๊ณผ ์ฟ ๋ฒ๋คํฐ์ค์ ์๋น์ค ์ํ๋ฅผ ์ง์์ ์ผ๋ก ํ์ธํ ์ ์๋ค.
NLB ๊ธฐ๋ฐ ๋ก๋๋ฐธ๋ฐ์ฑ ์ธ๋ถ ํธ๋ํฝ ๋ชจ๋ํฐ๋งํ๊ธฐ
aws elbv2 describe-load-balancers --query 'LoadBalancers[*].State.Code' --output text
provisioning
kubectl get deploy,pod
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/deploy-echo 2/2 2 2 69s
NAME READY STATUS RESTARTS AGE
pod/deploy-echo-bf9bdb8bc-j8nv2 1/1 Running 0 69s
pod/deploy-echo-bf9bdb8bc-k8rfm 1/1 Running 0 69s
kubectl get svc,ep,ingressclassparams,targetgroupbindings
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 12h
service/svc-nlb-ip-type LoadBalancer 10.100.211.196 k8s-default-svcnlbip-23bdb42a5b-60cc42917afec8f6.elb.ap-northeast-2.amazonaws.com 80:30732/TCP 74s
NAME ENDPOINTS AGE
endpoints/kubernetes 192.168.1.30:443,192.168.2.73:443 12h
endpoints/svc-nlb-ip-type 192.168.2.14:8080,192.168.3.84:8080 74s
NAME GROUP-NAME SCHEME IP-ADDRESS-TYPE AGE
ingressclassparams.elbv2.k8s.aws/alb 7m39s
NAME SERVICE-NAME SERVICE-PORT TARGET-TYPE AGE
targetgroupbinding.elbv2.k8s.aws/k8s-default-svcnlbip-126fcb8e49 svc-nlb-ip-type 80 ip 69s
๋ํ๋ก์ด๋จผํธ๋ฅผ ์์ฑํ์ฌ 2๊ฐ์ ์น ์๋ฒ ํ๋๋ฅผ ์คํํ๋ค. ์๋น์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ aws ๋ก๋๋ฐธ๋ฐ์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํด์ NLB์ ์ฐ๊ฒฐํ๋ค.
์ ๋ด์ฉ์ ๋ฐฐํฌ๋ ํ๋, ์๋น์ค, ํ๊ฒ ๊ทธ๋ฃน ๋ฐ์ธ๋ฉ์ ๋ํ ์ ๋ณด์ด๋ค.
์น ๋ธ๋ผ์ฐ์ ์์ ์๋ก๊ณ ์นจํ ๋๋ง๋ค NLB๋ฅผ ํตํด ์์ฒญ์ด ๋ค์ด์ค๋ฉด์ ํ๋๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
NLB=$(kubectl get svc svc-nlb-ip-type -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
curl -s $NLB
for i in {1..100}; do curl -s $NLB | grep Hostname ; done | sort | uniq -c | sort -nr
56 Hostname: deploy-echo-bf9bdb8bc-k8rfm
44 Hostname: deploy-echo-bf9bdb8bc-j8nv2
NLB๊ฐ ์์ฒญ์ ์ด๋ค ํ๋์ ์ผ๋งํผ ๋ณด๋๋์ง๋ฅผ ํ์ธํ๋ค.
ํ์ฌ 100๊ฐ์ HTTP ์์ฒญ์ NLB๋ฅผ ํตํด ๋ณด๋๊ณ ํธ๋ํฝ์ด 2๊ฐ์ ํ๋๋ก ๋ถ์ฐ๋ ๊ฒ์ ํ์ธํ๋ ๊ณผ์ ์ ์ ์ ์๋ค.
๋ง์ฝ ํ๋์ ๋ ํ๋ฆฌ์นด๋ฅผ ๋๋ฆฌ๊ฒ ๋๋ฉด ๋ถํ ๋ถ์ฐ์ ์ฒ๋ฆฌ ๋ฐ๋ ํ๋๊ฐ ๋์ด๋๊ฒ ๋์ด ํธ๋ํฝ์ ์ฒ๋ฆฌํ๊ฒ ๋๋ค.
์ธ๊ทธ๋ ์ค๋ฅผ ํ์ฉํ ๊ฒ์ ํ๋ ๋ฐฐํฌ
ingress-2048๋ ALB๋ฅผ ํตํด ์ธ๋ถ ํธ๋ํฝ์ ๋ฐ์ Kubernetes ๋ด๋ถ์ ์๋น์ค๋ก ์ ๋ฌํ๋ ๋ด์ฉ์ ์ค์ตํด๋ณธ๋ค. ALB๋ ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ , ALB๊ฐ ์ฟ ๋ฒ๋คํฐ์ค ๋ ธ๋๊ฐ ์๋ ํ๋ IP๋ฅผ ์ง์ Target์ผ๋ก ์ฌ์ฉํ๋ค.
kubectl get ingress,svc,ep,pod -n game-2048
NAME CLASS HOSTS ADDRESS PORTS AGE
ingress.networking.k8s.io/ingress-2048 alb * k8s-game2048-ingress2-70d50ce3fd-302175647.ap-northeast-2.elb.amazonaws.com 80 32s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/service-2048 NodePort 10.100.179.206 <none> 80:32004/TCP 32s
NAME ENDPOINTS AGE
endpoints/service-2048 192.168.1.205:80,192.168.3.250:80 32s
NAME READY STATUS RESTARTS AGE
pod/deployment-2048-7df5f9886b-f9kkk 1/1 Running 0 32s
pod/deployment-2048-7df5f9886b-zczdc 1/1 Running 0 32s
kubectl describe ingress -n game-2048 ingress-2048
Name: ingress-2048
Labels: <none>
Namespace: game-2048
Address: k8s-game2048-ingress2-70d50ce3fd-302175647.ap-northeast-2.elb.amazonaws.com
Ingress Class: alb
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/ service-2048:80 (192.168.3.250:80,192.168.1.205:80)
Annotations: alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfullyReconciled 3m35s ingress Successfully reconciled
kubectl get pod,ingress,svc,ep,endpointslices -n game-2048 Sun Feb 16 15:38:50 2025
NAME READY STATUS RESTARTS AGE
pod/deployment-2048-7df5f9886b-f9kkk 1/1 Running 0 11m
pod/deployment-2048-7df5f9886b-zczdc 1/1 Running 0 11m
NAME CLASS HOSTS ADDRESS PORTS A
GE
ingress.networking.k8s.io/ingress-2048 alb * k8s-game2048-ingress2-70d50ce3fd-302175647.ap-northeast-2.elb.amazonaws.com 80 1
1m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/service-2048 NodePort 10.100.179.206 <none> 80:32004/TCP 11m
NAME ENDPOINTS AGE
endpoints/service-2048 192.168.1.205:80,192.168.3.250:80 11m
NAME ADDRESSTYPE PORTS ENDPOINTS AGE
endpointslice.discovery.k8s.io/service-2048-4lzmp IPv4 80 192.168.3.250,192.168.1.205 11m
๋ฆฌ์์ค๋งต์ ๋ณด๋ฉด ALB๊ฐ HTTP ์์ฒญ์ ๋ฐ์์ ์ง์ ๋ ํ๊ฒ ๊ทธ๋ฃน์ผ๋ก ์ ๋ฌํ๋ค. ์์ฑ๋ ํ๊ฒ ๊ทธ๋ฃน์๋ 2๊ฐ์ ip๊ฐ ๋ฑ๋ก๋ผ์๋๋ฐ ์ด๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์คํ ์ค์ธ 2048 ๊ฒ์์ ํ๋ ip์ด๋ค.
ALB๊ฐ ํธ๋ํฝ์ ๋ฐ์ ํ๊ฒ ๊ทธ๋ฃน์ ํตํด Game 2048 Pod๋ก ์ ๋ฌํ๋ ๊ตฌ์กฐ์์ ํ์ธํ ์ ์๋ค.
ALB -> ํ๋ ํธ๋ํฝ ํ์ธ
ALB์์ ๋ค์ด์ค๋ ํธ๋ํฝ์ด ec2์ ๋์ฐฉํ๋์ง ํ์ธ
sudo iptables -v --numeric --table nat --list PREROUTING
Chain PREROUTING (policy ACCEPT 515 packets, 31632 bytes)
pkts bytes target prot opt in out source destination
1281 81886 KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes service portals */
22 1748 AWS-CONNMARK-CHAIN-0 all -- eni+ * 0.0.0.0/0 0.0.0.0/0 /* AWS, outbound connections */
514 31572 CONNMARK all -- * * 0.0.0.0/0 0.0.0.0/0 /* AWS, CONNMARK */ CONNMARK restore mask 0x80
ALB์์ ๋ค์ด์จ ํธ๋ํฝ์ด KUBE-SERVICES ์ฒด์ธ์ผ๋ก ์ ๋ฌ๋๋ ๊ฒ์ ์ ์ ์๋ค.
AWS-CONNMARK-CHAIN-0: AWS์์ ๊ด๋ฆฌํ๋ ์ฐ๊ฒฐ ์ถ์ , ์ธ๋ถ ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๋ ์ญํ ์ ์ํํ๋ค.
KUBE-SERVICES ์ฒด์ธ์์ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๋ก ์ ๋ฌ
sudo iptables -t nat -L KUBE-SERVICES -n -v
Chain KUBE-SERVICES (2 references)
pkts bytes target prot opt in out source destination
0 0 KUBE-SVC-TCOU7JCQXEZGVUNU udp -- * * 0.0.0.0/0 10.100.0.10 /* kube-system/kube-dns:dns cluster IP */ udp dpt:53
0 0 KUBE-SVC-V7WHPSTR7G6YHTBY tcp -- * * 0.0.0.0/0 10.100.179.206 /* game-2048/service-2048 cluster IP */ tcp dpt:80
ALB์์ ๋ค์ด์จ HTTP ์์ฒญ(ํฌํธ 80)์ด game-2048/service-2048์ผ๋ก ์ ๋ฌ๋๋๋ฐ,
ALB → Ingress → Kubernetes Service (10.100.179.206)๋ก ํธ๋ํฝ์ด ์ด๋ํ๊ฒ๋๋ค.
KUBE-SVC-* ์ฒด์ธ์์ ํน์ Pod์ผ๋ก ํธ๋ํฝ ๋ถ๋ฐฐ
sudo iptables -v --numeric --table nat --list KUBE-SVC-V7WHPSTR7G6YHTBY
Chain KUBE-SVC-V7WHPSTR7G6YHTBY (2 references)
pkts bytes target prot opt in out source destination
0 0 KUBE-SEP-OBK75HIRYFJMGQNA all -- * * 0.0.0.0/0 0.0.0.0/0 /* game-2048/service-2048 -> 192.168.1.205:80 */ statistic mode random probability 0.50000000000
0 0 KUBE-SEP-CG6NLPOJTSMBSPCP all -- * * 0.0.0.0/0 0.0.0.0/0 /* game-2048/service-2048 -> 192.168.3.250:80 */
์ด ์ฒด์ธ์ Kubernetes Service(game-2048/service-2048)๊ฐ ํธ๋ํฝ์ ํน์ Pod์ผ๋ก ๋ผ์ฐํ ํ๋ ์ญํ ์ ํ๋๋ฐ, 2๊ฐ์ KUBE-SEP-* ์ฒด์ธ์ ์ฌ์ฉํ์ฌ Pod(192.168.1.205:80, 192.168.3.250:80)์ผ๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ค.
statistic mode random probability 0.50000000000 → ๋ ๊ฐ์ Pod์ ๋ํด 50% ํ๋ฅ ๋ก ํธ๋ํฝ์ ๋ถ๋ฐฐํ๋ ๋ผ์ด๋ ๋ก๋น ๋ฐฉ์์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๊ฐ ๋ ๊ฐ์ Pod์ผ๋ก ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
KUBE-SEP-* ์ฒด์ธ์์ ํน์ ํ๋๋ก DNAT ๋ณํ
[ec2-user@ip-192-168-1-112 ~]$ sudo iptables -v --numeric --table nat --list KUBE-SEP-OBK75HIRYFJMGQNA
Chain KUBE-SEP-OBK75HIRYFJMGQNA (1 references)
pkts bytes target prot opt in out source destination
0 0 KUBE-MARK-MASQ all -- * * 192.168.1.205 0.0.0.0/0 /* game-2048/service-2048 */
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* game-2048/service-2048 */ tcp to:192.168.1.205:80
[ec2-user@ip-192-168-1-112 ~]$ sudo iptables -v --numeric --table nat --list KUBE-SEP-CG6NLPOJTSMBSPCP
Chain KUBE-SEP-CG6NLPOJTSMBSPCP (1 references)
pkts bytes target prot opt in out source destination
0 0 KUBE-MARK-MASQ all -- * * 192.168.3.250 0.0.0.0/0 /* game-2048/service-2048 */
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* game-2048/service-2048 */ tcp to:192.168.3.250:80
๊ฐ ํ๋๋ง๋ค KUBE-SEP-* ์ฒด์ธ์ด ์์ฑ๋๊ณ , ์๋น์ค๋ก ๋ค์ด์จ ํธ๋ํฝ์ด ํ๋(192.168.1.205:80, 192.168.1.250:80)์ผ๋ก DNAT ๋ณํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ๋์์ ์๋ต ์ POSTROUTING์์ SNAT ์ ์ฉ
sudo iptables -t nat -L POSTROUTING -n -v
Chain POSTROUTING (policy ACCEPT 7250 packets, 446K bytes)
pkts bytes target prot opt in out source destination
12029 742K KUBE-POSTROUTING all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes postrouting rules */
11239 694K AWS-SNAT-CHAIN-0 all -- * * 0.0.0.0/0 0.0.0.0/0 /* AWS SNAT CHAIN */
์ด ์ฒด์ธ์ ํจํท์ด ๋
ธ๋๋ฅผ ๋ ๋๊ธฐ ์ ์ ๋ง์ง๋ง์ผ๋ก ๊ฑฐ์น๋ ์ฒด์ธ์ผ๋ก, ํ๋๊ฐ ์๋ต์ ๋ณด๋ผ ๋ NAT(SNAT) ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ฑฐ์น๊ฒ ๋๋๋ฐ
AWS-SNAT-CHAIN-0์ด ์ฌ์ฉํ์ฌ ํจํท์ ์ถ๋ฐ์ง IP๋ฅผ ๋ณ๊ฒฝํ๋ค.
ํด๋ฌ์คํฐ ๋ด๋ถ ํธ๋ํฝ์ด๋ฉด NAT๋ฅผ ์ ์ฉํ์ง ์๊ณ , ์ธ๋ถ ํธ๋ํฝ์ด๋ฉด SNAT ๋ณํ (AWS-SNAT-CHAIN-0)๋์ด ๋๊ฐ๋ค.
ALB์์ ํ๋๋ก ๋ค์ด์ค๋ ํธ๋ํฝ ํ๋ฆ์ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
- ALB์์ HTTP ์์ฒญ ๋ฐ์ → ec2๋ก ์ ๋ฌ
- PREROUTING ์ฒด์ธ์ด ALB์์ ์จ ํธ๋ํฝ์ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๋ก ๋ผ์ฐํ
- KUBE-SERVICES ์ฒด์ธ์์ ์์ฒญ์ ์ ์ ํ ์ฟ ๋ฒ ์๋น์ค๋ก ๋ณด๋
- KUBE-SVC-* ์ฒด์ธ์์ ํน์ ํ๋๋ก ํธ๋ํฝ์ ๋ถ๋ฐฐ
- KUBE-SEP-* ์ฒด์ธ์์ ํ๋๋ก ์ต์ข DNAT(๋ชฉ์ ์ง ๋ณ๊ฒฝ) ์ํ
- ํ๋์์ ์๋ต์ ๋ณด๋ผ ๋ POSTROUTING์์ SNAT ์ฒ๋ฆฌ ํ ALB๋ก ์๋ต ๋ฐํ
'Infra > AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AEWS] #3์ฃผ์ฐจ EFS, ACM ์ ์ฉํ ALB Ingress๋ก kube-ops-view ๋ฐฐํฌ (2) (0) | 2025.02.20 |
---|---|
[AEWS] # 3์ฃผ์ฐจ ๋ก์ปฌ ๋ณผ๋ฅจ ์ค์ต : emptyDir, hostPath, Local Path Provisioner (1) (0) | 2025.02.18 |
[AEWS] # 2์ฃผ์ฐจ eks vpc cni ์ดํดํ๊ธฐ (3) (0) | 2025.02.16 |
[AEWS] # 2์ฃผ์ฐจ eks vpc cni ์ดํดํ๊ธฐ (2) (0) | 2025.02.16 |
[AEWS] # 2์ฃผ์ฐจ eks vpc cni ์ดํดํ๊ธฐ (1) (1) | 2025.02.16 |