μΏ λ²λ€ν°μ€μμ μ€ν μ€μΈ νλμ λ΄μ©μ μμ νλ €λ©΄ kubectl exec -it pod -- ... λ₯Ό ν΅ν΄ μμ ν©λλ€. λ§μ½ nginx λ₯Ό μ€ν μ€μΈ νλκ° μκ³ , nginx μ index.html μ μμ νκ³ μΆλ€λ©΄, μλμ κ°μ΄ μ§νμ ν κ²μ λλ€. # pod λΌλ μ΄λ¦μ κ°μ§ νλλ₯Ό nginx μ΄λ―Έμ§λ₯Ό μ΄μ©ν΄μ μμ± kubectl run pod --image nginx # bash λ₯Ό ν΅ν΄ 컨ν μ΄λ λ΄λΆ μ μ kubectl exec -it pod -- bash # index.html μ κ²μ find ./ -type f -iname "*.html" # μμΉλ₯Ό μ°Ύμ ν vim μ ν΅ν΄ μμ vim ./usr/share/nginx/html/index.html index.html μ I'm kingbj..
μΏ λ²λ€ν°μ€μμλ νκ²½ λ³μλ μλ‘κ² μμ±ν νμΌμ 컨ν μ΄λ λ΄λΆμ μ λ¬ν΄μ£ΌκΈ° μν΄μ Configmap, Secret μ μ¬μ©ν©λλ€. μ΄λ¦μμ μ μΆν μ μλ― Configmap μ 보μμ μΌλ‘ μ€μμΉ μμ λ°μ΄ν°λ€μ μ¬μ©ν λ, Secret μ 보μμ μΌλ‘ μ€μν λ°μ΄ν°λ₯Ό μ¬μ©ν λ μ¬μ©ν©λλ€. λ°λΌμ Configmap μ Plain Text λ‘ λ°μ΄ν°κ° μ μ₯λλ λ°λ©΄, Secret μ μΈμ½λ© λμ΄ μ μ₯λ©λλ€. κ·Έλμ μ΄λ² κΈμμλ Secret μ μμ± ν μ΄λ»κ² νλμκ² μ λ¬νλ μ§λ₯Ό μμλ³΄λ €κ³ ν©λλ€. μ¬λ΄μΌλ‘ Secret μ μΈμ½λ© λλ λ°©λ²μ μ¬μ€ λμ½λ© νλ©΄ μ΄λ€ κ°μΈμ§ μ μ μκΈ° λλ¬Έμ 보μμ μΌλ‘ μμ νμ§λ μμ΅λλ€. μΏ λ²λ€ν°μ€λ μ΄λ κ² κ΅³μ΄ Secret μ κ°μ μΈμ½λ©ν΄μ μ μ₯νλ μ΄μ λ ν΄μ»€μ..
μΏ λ²λ€ν°μ€ 보μ κ΄λ ¨ λͺ¨λ² μ¬λ‘λ₯Ό μ΄ν΄λ³΄λ©΄ μλ§ κ°μ₯ κΈ°λ³Έμ μ΄κ³ , κ°μ₯ λ§μ΄ 보μ΄λ κ²μ΄ νλ μμ΅λλ€. μλ§ μΏ λ²λ€ν°μ€ λΏλ§ μλλΌ μ»¨ν μ΄λλ₯Ό μ¬μ©νλ νκ²½μ΄λΌλ©΄ λͺ¨λκ° μ κ²½μ¨μΌ νλ λΆλΆμ΄μ£ . λ°λ‘ λ£¨νΈ κ³μ λΉνμ±ν μ λλ€. μ¦, 컨ν μ΄λ λ΄ νλ‘μΈμ€μμ λ£¨νΈ κΆνμ λͺ¨λ λΉνμ±ν νλ κ²μ΄μ£ . 컨ν μ΄λ λ΄λΆμμ μ무λ λ£¨νΈ κΆνμ μ¬μ©νκ² νλ€λ κ²μ λͺ¨λ₯΄λ μ¬λμκ² μ§ λΉλ°λ²νΈλ₯Ό μλ €μ£Όλ κ²κ³Ό λ€λ¦μ΄ μμ΅λλ€. μλ₯Ό λ€μ΄ 컨ν μ΄λμ μ μν ν uname -a λͺ λ Ήμ΄λ₯Ό μ³λ³΄λ©΄ νΈμ€νΈμ OS λ²μ μ λ³Ό μ μμ΅λλ€. λ£¨νΈ κΆν λΉνμ±νλ μ΄λ―Έμ§λ₯Ό λ§λ€ λλ μ€μ ν μ μκ³ , k8s λ‘ νλλ₯Ό λ°°ν¬ν λλ μ€μ ν μ μμ΅λλ€. μ΄λ² κΈμμλ μ΄λ»κ² λ£¨νΈ κ³μ μ λΉνμ±ννκ³ μμ ν νλλ₯Ό λ§λλμ§ μμ..
μΏ λ²λ€ν°μ€μλ Audit μ΄λΌλ κΈ°λ₯μ΄ μμ΅λλ€. λ€λ€ λμΉ μ±μ ¨κ² μ§λ§, Kube Api Server μ μ΄λ€ API λ₯Ό νΈμΆνλμ§ κ°μνλ κΈ°λ₯μ΄μ£ . μΏ λ²λ€ν°μ€λ₯Ό μ€μΉνλ©΄ κΈ°λ³Έμ μΌλ‘ μ 곡 λμ§ μκΈ° λλ¬Έμ μΆκ°μ μΌλ‘ Audit κΈ°λ₯μ νμ±ν ν΄μ£Όμ΄μΌ ν©λλ€. κ·Έλμ μ΄λ² κΈμμλ Audit κΈ°λ₯μ νμ±νν΄μ λκ°, μ΄λ€ νμλ‘, μ΄λ€ 리μμ€λ₯Ό νΈμΆ νλμ§ κ°μν΄λ³΄κ² μ΅λλ€! λ μΈ λλμ½λ! Audit κΈ°λ₯ νμ±ν control plane & data plane v1.26.1 μμ μ§νλμμ΅λλ€ μΏ λ²λ€ν°μ€ 곡μ λ¬Έμλ₯Ό μ΄λν ν Audit μ κ²μν΄μ€λλ€. κ·Έλ¦¬κ³ ν΄λ¦ν΄μ λ¬Έμλ₯Ό νμΈν©λλ€. λ°μΌλ‘ μμ λ΄λ €μ λ‘κ·Έ λ°±μλ μΉμ μΌλ‘ μ΄λν©λλ€. /etc/kubernetes/manifests/kube-apis..
맀μ°λ§€μ°λ§€μ° μ€μ! Karpenter v0.32 λ²μ λΆν° 리μμ€ μ΄λ¦λ€μ΄ λ³κ²½λμ΄ μ°Έκ³ λ°λλλ€. κ°λ μ λκ°μ΅λλ€. (ex. Provisioners -> NodePools) AWS EKS λ₯Ό ν΅ν΄ ν΄λ¬μ€ν°λ₯Ό ꡬμΆνλ©΄ Data Plane (μ΄ν Node) λ₯Ό λ€μν λ°©μμΌλ‘ ꡬμΆν μ μμ΅λλ€. Managed Node Group, Fargate κ·Έλ¦¬κ³ μ΄λ¬ν 리μμ€λ₯Ό μ μ°νκ² κ΄λ¦¬ν μ μκ² ν΄μ£Όλ AWS Auto Scaling, Karpenter κ° μμ΅λλ€. μ΄λ² κΈμμλ Karpenter λ₯Ό ν΅ν΄ AWS Auto Scaling λ³΄λ€ μ μ°νκ² Node λ₯Ό κ΄λ¦¬νλ λ°©λ²μ μμλ³΄κ³ μ ν©λλ€. μ°μ κ°λ¨νκ² μμ보λλ‘ νμ£ . λ μΈ λλμ½λ! Karpenter κ° λμ£ ? μ¬κΈ°μ λ§νλ λ Έλ == μΈμ€ν΄μ€ ..
λꡬλ νλ² μ―€μ μλ’°λ©κ±°μ κ³ μμ΄μ λν΄μ λ€μκ±°λ κ΄λ ¨ λ°μ λ³΄μ ¨μ κ²λλ€. κ·Έλλ νΉμ λͺ¨λ₯΄μλ λΆλ€μ μν΄ κ°λ¨ν μλ €λλ¦¬μ£ . κ³ μμ΄λ₯Ό 보μ΄μ§ μλ μμμ λ£κ³ , κ·Έ μμ 50:50 νλ₯ λ‘ κ³ μμ΄λ₯Ό μ£½μ΄λ λ κ·Ήλ¬Όμ λ£μμ λ κ³ μμ΄λ μ£½μκΉμ? μ΄κΉμ? μΌλ° μΈκ³μμλ μ£½μλ€, μ΄μλ€ λΌκ³ νννμ§λ§ μμμν μΈκ³μμλ μ΄λ₯Ό μ£½μκ³Ό μΆμ΄ μ€μ²©λ μνλΌκ³ ννν©λλ€. μ¦, μ΄μμμΌλ©΄μ μ£½μ΄μλ€ λΌκ³ ν©λλ€. μ€λ κΈμμ μκ°ν Fargate (νκ²μ΄νΈ) λν μλ’°λ©κ±°μ κ³ μμ΄μ λΉμ·ν κ°λ μ λλ€. (λλ§ κ·Έλ κ² μκ°ν μλ..) Fargate λ 무μμΌκΉ? μ°λ¦¬λ λ³΄ν΅ AWS λ₯Ό μ΄μ©ν΄μ μ ν리μΌμ΄μ μ λ°°ν¬νλ€κ³ νλ©΄ EC2 λ₯Ό ν΅ν΄ μΈμ€ν΄μ€λ₯Ό μμ±νκ³ , κ·Έ μΈμ€ν΄μ€ λ΄λΆμ 컨ν μ΄λλ μ§μ νλ‘μΈμ€λ‘..
μ€μ!! ARC κ° Github Official νλ‘μ νΈκ° λ¨μ λ°λΌ μλμμ 보μ¬λλ¦° ARC κ΄λ ¨ν 리μμ€λ€μ μ λΆ κ΅¬ λ²μ μ λλ€. μ¬κΈ°λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ! Action Controller Runner (μ΄ν ARC) λ νλ λ¨μ Self Hosted Runner μ λλ€. μ¦, μΏ λ²λ€ν°μ€ νκ²½μμ νλλ₯Ό Self Hosted Runner λ‘ μ§μ ν μ μκ² ν΄μ£Όλ μ€νμμ€μ£ . ARC μ λν μ 보λ μ¬κΈ°λ₯Ό νμΈν΄μ£ΌμΈμ. κ·Όλ° ARC λ₯Ό μ¬μ©νλ κ²½μ° νλ κ³ λ €ν΄μΌ ν μ¬νμ΄ μμ΅λλ€. λ°λ‘ ARC μ μν΄ λ§λ€μ΄μ§λ νλλ Github Action μ Job μ΄ μ’ λ£λ κ²½μ° μ κ±°λκ³ λ€μ μμ±λ©λλ€. λ°λΌμ HostPath λ EFS λ₯Ό μ¬μ©νμ§ μμΌλ©΄ Job μ μ€νν λ μμ±νλ Java SDK, N..
νΌλΈλ¦ ν΄λΌμ°λ νκ²½μμ μΏ λ²λ€ν°μ€λ₯Ό μ΄μν λ μ¨νλ‘λ―Έμ€λ³΄λ€ νΈν μ μ€ νλκ° λ°λ‘ λ³Όλ₯¨ κ΄λ¦¬ λΌκ³ μκ°ν©λλ€. EBS CSI Driver λ₯Ό μ€μΉ ν Storage Class, PV κ·Έλ¦¬κ³ PVC λ₯Ό ν΅ν΄ μ½κ² AWS EBS λ₯Ό ν΅ν΄ λ³Όλ₯¨μ μΈμ μ΄λμλ κ°μ Έλ€ μΈ μ μμ£ . ννΈ, μΏ λ²λ€ν°μ€μμ λ€μν λ°©λ²μΌλ‘ λ³Όλ₯¨μ μ¬μ©ν μ μλλ°μ. 컨ν μ΄λκ° κ³΅μ λ₯Ό κ°λ₯μΌ ν΄μ£Όλ EmptyDir, λ Έλμ λ³Όλ₯¨μ ν΅ν΄ νλκ° κ³΅μ λ₯Ό κ°λ₯μΌ ν΄μ£Όλ HostPath, NFS μλ²λ₯Ό μ¬μ©νλ NFS κΈ°λ₯ λ±μ΄ μμ΅λλ€. κ·ΈλΌνλλ₯Ό λ Έλμ λ°°ν¬ν λ, κ·ΈλΌνλμ μ€μ νμΌμ κ·ΈλΌνλκ° λ°°ν¬λ λ Έλμ λ³Όλ₯¨μ μ μ₯μ΄ λ©λλ€. λ°λΌμ λ§μ½ κ·ΈλΌνλ νλκ° λ€λ₯Έ λ Έλμ λ°°ν¬κ° λ κ²½μ° μ΄μ μ κ°μ§κ³ μλ κ·ΈλΌνλ μ€μ μ ..
Istio λ νν K8S ν΄λ¬μ€ν° λ΄μμ μλΉμ€ λ©μ μν μ ν΄μ€λλ€. μλΉμ€ λ©μ λΏλ§ μλλΌ Nginx Ingress, ELB Ingress μ²λΌ Ingress μν λν ν΄μ€λλ€. Istio Ingress Gateway κ° μ μ λͺ μΉμ΄λ μ½κ² Istio Ingress λ‘ μ§μΉνλλ‘ νμ£ π€ EKS μ κ°μ νΌλΈλ¦ ν΄λΌμ°λλ₯Ό μ΄μ©ν΄μ Load Balancer Service λ₯Ό μμ±ν΄μ£Όλ©΄ μλμΌλ‘ CLB κ° ν λΉλ©λλ€. λ°λΌμ Istio Ingress λν CLB λ‘ ν λΉμ΄ λ©λλ€. CLB λ μμΌλ‘ AWS μμ deprecated λκΈ° λλ¬Έμ Network Load Balancer(μ΄ν NLB) λ Application Load Balancer(μ΄ν ALB) λ‘ λ체λμ΄μΌ ν©λλ€. κ·Έλμ μ΄λ² κΈμ..
μΏ λ²λ€ν°μ€λ λ€λ₯Έ νλ«νΌμ²λΌ μΈμ¦(Authentication)/μΈκ°(Athorization) λ₯Ό μ 곡ν΄μ€λλ€. λ°λΌμ μΈμ¦λ°μ§ λͺ»ν μ¬μ©μλΌλ©΄ 401 (UnAuthorized) λ₯Ό μλ΅ λ°κ³ , μΈμ¦μ λμμ§λ§ κΆνμ΄ μλ€λ©΄ 403(Forbidden) μλ΅μ λ°κ² λμ£ . μμ£Ό νλ²ν μΈμ¦/μΈκ° νλ‘μΈμ€μ λλ€. κ·Έλ°λ° μΈμ¦/μΈκ°κ° μλ£λμλ€κ³ μΏ λ²λ€ν°μ€ νκ²½μ λ°λ‘ μ μ©ν μ μλ 건 μλλλ€. μ¬μ©μκ° λ³΄λΈ μμ²μ μ μ©νκΈ° μ§μ ν κ΅°λ°λ₯Ό λ λ€λ¦½λλ€. κ·Έκ²μ΄ λ°λ‘ Adimission Controller μ λλ€. μ΄λ² κΈμμλ Adimission Controller μ λν κ°λ μ κ°λ¨νκ² μ€λͺ νκ³ , Adimission Controller λ₯Ό ꡬνν΄λ³Ό μκ°μ λλ€. π Admission Controller κ°..
μΏ λ²λ€ν°μ€λ₯Ό 곡λΆνλ©΄μ μ²μ User Account μ Service Account λ₯Ό μ νμ λ λ¨μν μΏ λ²λ€ν°μ€ API μλ²μκ² μ격 μ¦λͺ νλ 리μμ€μΈκ°λ³΄λ€ νκ³ λμ΄κ°λ μ μ΄ μμ΅λλ€. μ΄ν΄κ° μλμ κ·Έλ₯ λμ΄κ°λ.. κ·Έλμ User Account λ Service Account λ λΉμ·νκ±° !! κ°μ κ±° !! λΌλ μκ°μ κ°μ§κ³ μμμ£ .. νμ§λ§ μ΄ λμ λΆλͺ λ€λ¦ λλ€. μΏ λ²λ€ν°μ€μλ μΏ λ²λ€ν°μ€ λ΄μ μ‘΄μ¬νλ μμμ λν μ κ·Όμ μν 2κ°μ§μ account νμ μ΄ μ‘΄μ¬ν©λλ€. User Account Service Account μΏ λ²λ€ν°μ€ 곡μ λ¬Έμμλ μ΄μ κ°μ΄ λμμμ΅λλ€. μ¬μ©μ μ΄μΉ΄μ΄νΈλ μ¬λμ μν κ²μ΄λ€. μλΉμ€ μ΄μΉ΄μ΄νΈλ νλμμ μ€νλλ νλ‘μΈμ€λ₯Ό μν κ²μ΄λ€. 100% λ§λ λ§μ΄μ§λ§..