λ‘œμΌ“πŸΎ
article thumbnail
[Kubernetes] "자 이제 λˆ„κ°€ μ§„μ§œ 리더지?" - 리더 μ„ μΆœ λ©”μ»€λ‹ˆμ¦˜
DevOps/Kubernetes 2024. 11. 9. 14:37

ν•΄λ‹Ή 글은 ν‹€λ¦° 뢀뢄이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 마음껏 μ§€μ ν•΄μ£Όμ„Έμš”! μΏ λ²„λ„€ν‹°μŠ€ μœ„μ— μžˆλŠ” λͺ¨λ“  νŒŒλ“œμ™€ λ…Έλ“œλŠ” ephermeral ν•˜κ²Œ λ””μžμΈ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ·Έμ— 따라 νŒŒλ“œμ™€ λ…Έλ“œλŠ” μ–Έμ œ κ°‘μžκΈ° 급사? 할지 λͺ¨λ¦…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 급사 ν•œλ‹€κ³  ν•΄μ„œ μ„œλΉ„μŠ€μ— 영ν–₯이 κ°€μ„  μ•ˆλ©λ‹ˆλ‹€. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μΏ λ²„λ„€ν‹°μŠ€λ₯Ό ꡬ성할 λ•Œ κ³ κ°€μš©μ„±(HA) 은 λ°˜λ“œμ‹œ λ™λ°˜λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ³ κ°€μš©μ„±μ„ μœ μ§€ν•˜μ§€ μœ„ν•΄μ„œλŠ” μ—¬λŸ¬ μ ˆμ°¨κ°€ λ™λ°˜λ˜μ–΄μ•Ό ν•˜λŠ”λ°, 이번 κΈ€μ—μ„œλŠ” κ·Έ 쀑 Stateful ν•œ μ„œλΉ„μŠ€μ˜ κ³ κ°€μš©μ„±μ„ μœ μ§€ν•˜λŠ” 방법 쀑 ν•˜λ‚˜μΈ '리더 μ„ μΆœ λ©”μ»€λ‹ˆμ¦˜(Leader Election Mechanism)' 에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€. κ·Έ 전에 Stateless ν•œ μ„œλΉ„μŠ€μ˜ κ³ κ°€μš©μ„±λΆ€ν„° μ•Œμ•„λ΄…μ‹œλ‹€. Stateless ν•œ νŒŒλ“œκ°€ μ—¬λŸ¬ 개 있고, Se..

article thumbnail
[Kubernetes] Controller 와 Operator, μ–΄λ””κΉŒμ§€ κΉŒλ΄€λ‹ˆ?
DevOps/Kubernetes 2024. 9. 3. 00:44

ν‹€λ¦° 뢀뢄이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. λ§Œμ•½ μžˆλ‹€λ©΄ μ§€μ ν•΄μ£Όμ„Έμš” :)  μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ ReplicaSet 을 톡해 3개의 νŒŒλ“œλ₯Ό λ°°ν¬ν–ˆλ‹€κ³  μƒκ°ν•΄λ΄…μ‹œλ‹€. μ΄λ•Œ ν•˜λ‚˜μ˜ νŒŒλ“œλ₯Ό μ‚­μ œν•˜κ²Œ 되면 곧 λ‹€μ‹œ νŒŒλ“œκ°€ μƒμ„±λ©λ‹ˆλ‹€. 즉, νŒŒλ“œκ°€ μ΅œμ†Œ 3개 이상이 μ‹€ν–‰λ˜λ„λ‘ ReplicaSet λ₯Ό λ°°ν¬ν–ˆκΈ° λ•Œλ¬Έμ— μ£½μ—ˆλ˜ νŒŒλ“œλ₯Ό μƒˆλ‘­κ²Œ μ†Œμƒμ‹œν‚΅λ‹ˆλ‹€. μ΄λŠ” μΏ λ²„λ„€ν‹°μŠ€μ˜ νŠΉμ§• 쀑 ν•˜λ‚˜μΈ Self Healing 이기도 ν•©λ‹ˆλ‹€.ReplicaSet, Deployment λ“±μ—μ„œ λͺ…μ‹œν•˜λŠ” Replica 의 κ°―μˆ˜λŠ” κ³ μ •/μ΅œλŒ€κ°€ μ•„λ‹Œ μ΅œμ†Œλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.3개라고 κ°€μ •ν–ˆμ„ λ•Œ, λ‘€λ§μ—…λ°μ΄νŠΈλ‚˜ λΉ„μžλ°œμ μΈ μ’…λ£Œμ— μ˜ν•΄ 3개 μ΄μƒμ˜ νŒŒλ“œκ°€ μ‘΄μž¬ν•  수 있기 λ•Œλ¬Έμ΄μ£ . κ·ΈλŸΌ 이걸 μ’€ 더 전문적?으둜 μ ‘κ·Όν•΄λ΄…μ‹œλ‹€. μš°λ¦¬κ°€ μ›ν–ˆλ˜(Desired) ReplicaS..

article thumbnail
[Kubernetes] IRSA 인증뢀터 κ°±μ‹ κΉŒμ§€ 쭈욱~
DevOps/Kubernetes 2024. 8. 12. 17:02

이번 κΈ€μ˜ 주제인 "IRSA" λŠ” μ΄ν•΄ν•˜κΈ°λ„ νž˜λ“€μ—ˆμ§€λ§Œ, 이걸 κΈ€λ‘œ μž‘μ„±ν•˜λŠ” 건 더 μ–΄λ €μ›Œμ„œ λ§Žμ€ λΈ”λ‘œκ·Έ κΈ€λ“€κ³Ό κ°•μ˜λ₯Ό μ°Έκ³ ν–ˆμŠ΅λ‹ˆλ‹€.ν‹€λ¦° 뢀뢄이 μžˆμ„ 수 있으며, μ•„λž˜μ— λͺ…μ‹œν•œ μ°Έκ³  λΈ”λ‘œκ·Έλ“€λ„ μ½μ–΄μ£Όμ„Έμš”!  IRSA λŠ” IAM Roles for Service Account 의 μ•½μžλ‘œ, Kubernetes μ—μ„œ AWS λ¦¬μ†ŒμŠ€μ— μ•ˆμ „ν•˜κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•œ λ©”μ»€λ‹ˆμ¦˜μž…λ‹ˆλ‹€. IRSA λ₯Ό μ‚¬μš©ν•˜λ©΄ μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„° λ‚΄μ˜ νŠΉμ • Service Account 에 AWS IAM Role 을 맀핑할 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 ν•΄λ‹Ή Service Account 이 AWS λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•  수 μžˆλŠ” κΆŒν•œμ„ μ–»μŠ΅λ‹ˆλ‹€.  IRSA λŠ” AWS μ—μ„œ μ œκ³΅ν•˜λŠ” OIDC 와 IAM Role 을 μ‚¬μš©ν•˜μ—¬ μΏ λ²„λ„€ν‹°μŠ€ νŒŒλ“œκ°€ AWS..

article thumbnail
μž‘κ³  κ·€μ—¬μš΄ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό 2λ…„κ°„ μš΄μ˜ν•˜λ©΄μ„œ μ•Œλ©΄ 쒋은 것듀
DevOps/Kubernetes 2024. 6. 26. 00:05

비둝 크지 μ•Šμ€ 규λͺ¨μ˜ μΏ λ²„λ„€ν‹°μŠ€μ§€λ§Œ 2λ…„ λ™μ•ˆ μš΄μ˜ν•˜λ©΄μ„œ λ§Žμ€ 것듀을 κ²½ν—˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ²½ν—˜μ†μ—μ„œ 배울 수 μžˆμ—ˆλ˜ μž‘μ€ νŒλ“€μ„ κ³΅μœ ν•˜κ³ μž ν•©λ‹ˆλ‹€. μ œκ°€ κ³΅μœ ν•˜κ³ ν”ˆ νŒλ“€μ€λ…Έλ“œ 및 νŒŒλ“œ μŠ€μΌ€μ€„λ§HA μœ μ§€μΏ λ²„λ„€ν‹°μŠ€ λ§€λ‹ˆνŽ˜μŠ€νŠΈ 관리IaCμž…λ‹ˆλ‹€. κ·ΈλŸΌ λ°”λ‘œ 본둠으둜 가보죠. λ ›μΈ λ‘λ”μ½”λ“œ~   λ…Έλ“œ 및 νŒŒλ“œ μŠ€μΌ€μ€„λ§ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό 처음 κ³΅λΆ€ν–ˆμ„ λ•Œ, λ…Έλ“œ 및 νŒŒλ“œ μŠ€μΌ€μ€„λ§ νŒŒνŠΈλŠ” κ·Έλ ‡κ²Œ μœ μ‹¬νžˆ 보지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ·Έλ ‡κ²Œ μ–΄λ €μ›Œ 보이지 μ•Šμ•˜κ±°λ“ μš”. κ·Έλƒ₯ Resource Request/Limit, NodeAffinity/PodAffinity/AntiAffinity λ“± yaml 에 μž‘μ„±ν•˜λ©΄ νŒŒλ“œλŠ” 그에 맞게 μ•Œμ•„μ„œ 배포가 λ˜λ‹ˆκΉμš”. λ‹Ήμ—°ν•œ 것이 곡뢀할땐 기껏해야 3개 μ •λ„μ˜ νŒŒλ“œλ‘œ μ§„ν–‰ν•˜λŠ”λ°, ν˜„μ‹€μ—μ„  μ΅œμ†Œ λͺ‡ 백개..

article thumbnail
[Kubernetes] HPA(Horizontal Pod Autoscaler) μ•Œκ³ λ¦¬μ¦˜
DevOps/Kubernetes 2024. 2. 25. 16:32

μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„°μ—λŠ” 3κ°€μ§€μ˜ AutoScaler κ°€ μžˆμŠ΅λ‹ˆλ‹€. HPA, VPA, CA μ£ . κ°„λ‹¨νžˆ μ„€λͺ…ν•΄λ³΄μžλ©΄, HPA : Horizontal Pod Autoscaler 의 μ€„μž„λ§λ‘œ, νŒŒλ“œμ˜ 갯수λ₯Ό ν™•μž₯/μΆ•μ†Œ ν•΄μ€Œ VPA : Vertical Pod Autoscaler 의 μ€„μž„λ§λ‘œ, νŒŒλ“œμ˜ κ°―μˆ˜κ°€ μ•„λ‹Œ μ§€μ •λœ λ¦¬μ†ŒμŠ€λ₯Ό ν™•μž₯/μΆ•μ†Œ ν•΄μ€Œ CA : Cluster Autoscaler 의 μ€„μž„λ§λ‘œ, λ…Έλ“œμ˜ 갯수λ₯Ό ν™•μž₯/μΆ•μ†Œ ν•΄μ€Œ HPA, VPA λŠ” Metrics Server κ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•˜λ©°, 또 VPC 같은 κ²½μš°λŠ” λ”°λ‘œ μ„€μΉ˜ν•΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. 그리고 CA λŠ” 보톡 Karpenter λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” HPA 에 λŒ€ν•΄ λ‹€λ€„λ³΄κ³ μž ν•˜λŠ”λ°, 사싀 HPA λŠ” μ–΄λ €μš΄ κ°œλ…μ΄ 크게 μ—†λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ”°..

article thumbnail
[Kubernetes] Control Plane κ³Ό Data Plane 이 μΉœκ΅¬κ°€ λ˜λŠ” 방법 - kubeadm init 편
DevOps/Kubernetes 2024. 1. 24. 23:06

EKS 와 같은 ν΄λΌμš°λ“œκ°€ μ œκ³΅ν•΄μ£ΌλŠ” μΏ λ²„λ„€ν‹°μŠ€κ°€ μ•„λ‹Œ, μ˜¨ν”„λ ˆλ―ΈμŠ€ ν™˜κ²½μ—μ„œ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ„€μΉ˜ν•œλ‹€κ³  ν•˜λ©΄ 보톡 kubeadm μ΄λΌλŠ” νˆ΄μ„ μ΄μš©ν•΄μ„œ κ΅¬μ„±ν•˜κ²Œ λ©λ‹ˆλ‹€. Control Plane 은 kubeadm init λ₯Ό 톡해 κ΅¬μ„±λ˜κ³ , Data Plane 은 kubeadm join 을 톡해 μΏ λ²„λ„€ν‹°μŠ€μ— μ‘°μΈν•˜κ²Œ λ©λ‹ˆλ‹€. kubeadm 툴 ν•˜λ‚˜λ©΄ API Server, Scheduler, Control Manager, ETCD λ“± Control Plane 에 ν•„μš”ν•œ λͺ¨λ“  것듀이 λ§ˆλ²•μ²˜λŸΌ μžλ™μœΌλ‘œ κ΅¬μ„±λ˜μ£ . λ¬Όλ‘  kubelet 그리고 containerd 와 같은 cri-κ΅¬ν˜„μ²΄λŠ” 이미 μ‹€ν–‰λ˜κ³  μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€! μžλ™μ΄λž€ 것이 ν™•μ‹€νžˆ νŽΈμ˜μ„±μ„ μ œκ³΅ν•΄μ£ΌκΈ΄ ν•˜μ§€λ§Œ, μžλ™μœΌλ‘œ κ΅¬μ„±λ˜κΈ° λ•Œλ¬Έμ— κ·Έ μ•ˆμ—μ„œ 무슨 일이 일어..

article thumbnail
[Kubernetes] 둜그 λ•Œλ¬Έμ— λ…Έλ“œ λ””μŠ€ν¬κ°€ λΆ€μ‘±ν•˜λ©΄? 이미지가 λ…Έλ“œ λ””μŠ€ν¬λ₯Ό μ „λΆ€ μ°¨μ§€ν•˜λ©΄ μ–΄λ–‘ν•˜μ§€? - Disk Pressure μ˜ˆλ°©ν•˜κΈ°
DevOps/Kubernetes 2024. 1. 9. 00:10

μ˜ˆμ „λΆ€ν„° μΏ λ²„λ„€ν‹°μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 데 μžˆμ–΄μ„œ κΆκΈˆν•œ 점이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. "μ—„μ²­ λ‚˜κ²Œ λ§Žμ€ 둜그λ₯Ό μƒμ„±ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€λ‘œ 인해 λ…Έλ“œμ˜ λ””μŠ€ν¬κ°€ 뢀쑱해지면 μ–΄λ–‘ν•˜μ§€?" "계속 μƒˆλ‘œμš΄ μ»¨ν…Œμ΄λ„ˆ 이미지λ₯Ό λ‹€μš΄ λ°›μ•„μ„œ 그둜 인해 λ…Έλ“œμ˜ λ””μŠ€ν¬κ°€ 뢀쑱해지면 μ–΄λ–‘ν•˜μ§€?" λ…Έλ“œμ˜ λ””μŠ€ν¬κ°€ λΆ€μ‘±ν•˜κ²Œ 되면 λ…Έλ“œμ—μ„œ DiskPressure λΌλŠ” λ©”μ‹œμ§€λ₯Ό λ±‰κ²Œ 될 κ²ƒμž…λ‹ˆλ‹€. 그런데 κΆκΈˆν•œ μš”μ μ€ λ””μŠ€ν¬κ°€ λΆ€μ‘±ν•  λ•Œ "μ–΄λ–»κ²Œ ν•΄κ²°ν•˜λƒ" κ°€ μ•„λ‹ˆκ³  "μ–΄λ–»κ²Œ μ˜ˆλ°©ν•˜λƒ" μž…λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 κΈ€μ—μ„œλŠ” μ˜ˆλ°©ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ μž ν•©λ‹ˆλ‹€. λ ›μΈ λ‘λ”μ½”λ“œ~ μ €λŠ” 개인적으둜 μΏ λ²„λ„€ν‹°μŠ€λ₯Ό κ΄€λ¦¬ν•˜λ©΄μ„œ κ°€μž₯ μ€‘μš”μ‹œν•˜κ²Œ μƒκ°ν•˜λŠ” ν‚€μ›Œλ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ μΌμ‹œμ (empheral) κ³Ό 동적(Dynamic) μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μΏ λ²„λ„€ν‹°μŠ€μ˜ κ°€μž₯ κΈ°λ³Έ..

article thumbnail
[Kubernetes] λ„ˆ λ‚΄ λ…Έλ“œκ°€ 되라! - EKS Windows ν™œμ„±ν™”
DevOps/Kubernetes 2023. 10. 25. 01:26

μš°λ¦¬λŠ” 보톡 EKS 의 μ›Œμ»€ λ…Έλ“œλ‘œ x86 이든, arm64 이든 λ¦¬λˆ…μŠ€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 특히 EKS ν™˜κ²½μ΄λΌλ©΄ μ•„λ§ˆμ‘΄ λ¦¬λˆ…μŠ€2λ₯Ό μ‚¬μš©ν•˜κ² μ§€μš”. 근데 κ°„ν˜Ή μ›Œμ»€ λ…Έλ“œλ‘œ μœˆλ„μš°λ₯Ό ν•„μš”λ‘œ ν•˜λŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 라이브러리λ₯Ό λ§Œλ“€μ—ˆλŠ”λ°, λ¦¬λˆ…μŠ€ 뿐만 μ•„λ‹ˆλΌ μœˆλ„μš° ν™˜κ²½μ—μ„œλ„ 이 라이브러리λ₯Ό ν•„μš”λ‘œ ν•©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ 이 라이브러리λ₯Ό μ΄λ―Έμ§€λ‘œ λΉŒλ“œν•˜λ €λ©΄ λ¦¬λˆ…μŠ€κ°€ μ•„λ‹Œ μœˆλ„μš° ν™˜κ²½μ—μ„œ λ§Œλ“€μ–΄μ•Ό ν•˜μ£ . λ‹€ν–‰νžˆ EKS λŠ” μœˆλ„μš°λ₯Ό μ§€μ›ν•΄μ€λ‹ˆλ‹€. λ˜ν•œ Karpenter μ—μ„œλ„ μœˆλ„μš°λ₯Ό 지원해주죠. 그럼 μ–΄λ–»κ²Œ EKS ν™˜κ²½μ—μ„œ μœˆλ„μš°λ₯Ό ν™œμ„±ν™” ν•˜λŠ”μ§€, 이후 Karpenter μ—μ„œ μœˆλ„μš°λ₯Ό μ–΄λ–»κ²Œ ν”„λ‘œλΉ„μ €λ‹ ν•˜λŠ”μ§€ ν•œλ²ˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜μ£ . 참고둜 μ§„ν–‰ν•œ μΏ λ²„λ„€ν‹°μŠ€ 버전은 1.23 이고, Karpenter λŠ” 0.31..

article thumbnail
[Kubernetes] AWS EFS Access Points μ™€λŠ” ꢁ합도 μ•ˆλ΄!
DevOps/Kubernetes 2023. 7. 21. 15:05

μŠ€ν† λ¦¬μ§€μ™€ κ΄€λ ¨λœ μΏ λ²„λ„€ν‹°μŠ€ λ¦¬μ†ŒμŠ€μ—λŠ” StorageClass, PersistentVolume 이 μžˆμŠ΅λ‹ˆλ‹€. 보톡 동적인 μŠ€ν† λ¦¬μ§€λŠ” μ›ν•œλ‹€λ©΄ StorageClass (μ΄ν•˜ SC) λ₯Ό, 정적인 μŠ€ν† λ¦¬μ§€λ₯Ό μ›ν•œλ‹€λ©΄ PersistentVolume (μ΄ν•˜ PV) 을 μ‚¬μš©ν•©λ‹ˆλ‹€. ν•œνŽΈ, νŒŒλ“œμ—μ„œ μŠ€ν† λ¦¬μ§€ 연결을 ν•˜λ €λ©΄ PersistentVolumeClaim (μ΄ν•˜ PVC) 을 μ΄μš©ν•΄μ„œ SC λ‚˜ PV λ₯Ό Bound ν•΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. AWS EBS λ₯Ό μ‚¬μš©ν•˜κ²Œ 될 텐데, EBS λ§ŒμœΌλ‘œλŠ” ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ ν•˜λ‚˜μ˜ EBS λŠ” 닀쀑 μΈμŠ€ν„΄μŠ€ 연결이 λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점이죠. 예λ₯Ό λ“€μ–΄ EBS 에 데이터λ₯Ό μ €μž₯ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ Deployment Replica 2 둜 λ°°ν¬ν•œλ‹€κ³  가정해보죠. 그리고 νŒŒλ“œλ“€μ€ μ„œλ‘œ λ‹€λ₯Έ μ›Œ..

article thumbnail
[Kubernetes] μ•”ν˜Έν™”ν•˜μ§€ μ•Šμ€ μ‹œν¬λ¦Ώμ€ 물가에 내놓은 아이 - Encrypt ETCD (μƒνŽΈ)
DevOps/Kubernetes 2023. 5. 14. 19:20

μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ λ―Όκ°ν•œ λ°μ΄ν„°λŠ” μ‹œν¬λ¦Ώμ„ 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€. μƒμ„±λœ μ‹œν¬λ¦Ώμ€ mount fs λ˜λŠ” env var 을 ν†΅ν•΄μ„œ νŒŒλ“œμ— μ‹œν¬λ¦Ώ 데이터λ₯Ό λ„˜κ²¨μ€„ 수 있죠. μ‹œν¬λ¦Ώμ„ μƒμ„±ν•œ ν›„, kubectl create secret generic secret1 --from-literal user=admin kubectl create secret generic secret2 --from-literal user=12345678 μ•„λž˜μ™€ 같이 yaml 을 μž‘μ„±ν•΄μ„œ μ‚¬μš©ν•  수 있죠. apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: pod name: pod spec: containers: - image: nginx name: pod resourc..

article thumbnail
[Kubernetes] νŒŒλ“œλ„ κ²°κ΅­ ν‰λ²”ν•œ ν”„λ‘œμ„ΈμŠ€λΌκ΅¬μš§!
DevOps/Kubernetes 2023. 5. 9. 22:44

μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ μ‹€ν–‰ 쀑인 νŒŒλ“œμ˜ λ‚΄μš©μ„ μˆ˜μ •ν•˜λ €λ©΄ 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..

article thumbnail
[Kubernetes] μ‹œν¬λ¦Ώμ„ μ‚¬μš©ν•˜λŠ” λ‹€μ–‘ν•œ 방법 - Secrets
DevOps/Kubernetes 2023. 5. 1. 14:12

μΏ λ²„λ„€ν‹°μŠ€μ—μ„œλŠ” ν™˜κ²½ λ³€μˆ˜λ‚˜ μƒˆλ‘­κ²Œ μž‘μ„±ν•œ νŒŒμΌμ„ μ»¨ν…Œμ΄λ„ˆ 내뢀에 전달해주기 μœ„ν•΄μ„œ Configmap, Secret 을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λ¦„μ—μ„œ μœ μΆ”ν•  수 μžˆλ“― Configmap 은 λ³΄μ•ˆμ μœΌλ‘œ μ€‘μš”μΉ˜ μ•Šμ€ 데이터듀을 μ‚¬μš©ν•  λ•Œ, Secret 은 λ³΄μ•ˆμ μœΌλ‘œ μ€‘μš”ν•œ 데이터λ₯Ό μ‚¬μš©ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. λ”°λΌμ„œ Configmap 은 Plain Text 둜 데이터가 μ €μž₯λ˜λŠ” 반면, Secret 은 인코딩 λ˜μ–΄ μ €μž₯λ©λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 κΈ€μ—μ„œλŠ” Secret 을 생성 ν›„ μ–΄λ–»κ²Œ νŒŒλ“œμ—κ²Œ μ „λ‹¬ν•˜λŠ” 지λ₯Ό μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€. μ—¬λ‹΄μœΌλ‘œ Secret 의 인코딩 λ˜λŠ” 방법은 사싀 λ””μ½”λ”© ν•˜λ©΄ μ–΄λ–€ 값인지 μ•Œ 수 있기 λ•Œλ¬Έμ— λ³΄μ•ˆμ μœΌλ‘œ μ•ˆμ „ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. μΏ λ²„λ„€ν‹°μŠ€λŠ” μ΄λ ‡κ²Œ ꡳ이 Secret 의 값을 μΈμ½”λ”©ν•΄μ„œ μ €μž₯ν•˜λŠ” μ΄μœ λŠ” 해컀에..

article thumbnail
[Kubernetes] νŒŒλ“œλ₯Ό 보닀 μ•ˆμ „ν•˜κ²Œ - SecurityContext
DevOps/Kubernetes 2023. 4. 16. 19:53

μΏ λ²„λ„€ν‹°μŠ€ λ³΄μ•ˆ κ΄€λ ¨ λͺ¨λ²” 사둀λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ μ•„λ§ˆ κ°€μž₯ 기본적이고, κ°€μž₯ 많이 λ³΄μ΄λŠ” 것이 ν•˜λ‚˜ μžˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆ μΏ λ²„λ„€ν‹°μŠ€ 뿐만 μ•„λ‹ˆλΌ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•˜λŠ” ν™˜κ²½μ΄λΌλ©΄ λͺ¨λ‘κ°€ 신경써야 ν•˜λŠ” 뢀뢄이죠. λ°”λ‘œ 루트 계정 λΉ„ν™œμ„±ν™” μž…λ‹ˆλ‹€. 즉, μ»¨ν…Œμ΄λ„ˆ λ‚΄ ν”„λ‘œμ„ΈμŠ€μ—μ„œ 루트 κΆŒν•œμ„ λͺ¨λ‘ λΉ„ν™œμ„±ν™” ν•˜λŠ” 것이죠. μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ—μ„œ μ•„λ¬΄λ‚˜ 루트 κΆŒν•œμ„ μ‚¬μš©ν•˜κ²Œ ν•œλ‹€λŠ” 것은 λͺ¨λ₯΄λŠ” μ‚¬λžŒμ—κ²Œ 집 λΉ„λ°€λ²ˆν˜Έλ₯Ό μ•Œλ €μ£ΌλŠ” 것과 닀름이 μ—†μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ»¨ν…Œμ΄λ„ˆμ— μ ‘μ†ν•œ ν›„ uname -a λͺ…λ Ήμ–΄λ₯Ό 쳐보면 호슀트의 OS 버전을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 루트 κΆŒν•œ λΉ„ν™œμ„±ν™”λŠ” 이미지λ₯Ό λ§Œλ“€ λ•Œλ„ μ„€μ •ν•  수 있고, k8s 둜 νŒŒλ“œλ₯Ό 배포할 λ•Œλ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” μ–΄λ–»κ²Œ 루트 계정을 λΉ„ν™œμ„±ν™”ν•˜κ³  μ•ˆμ „ν•œ νŒŒλ“œλ₯Ό λ§Œλ“œλŠ”μ§€ μ•Œμ•„..

article thumbnail
[Kubernetes] μ§€λ‚œ λ°€ λ„ˆκ°€ ν•œ 짓을 μ•Œκ³  μžˆλ‹€! - Audit
DevOps/Kubernetes 2023. 4. 2. 13:21

μΏ λ²„λ„€ν‹°μŠ€μ—λŠ” Audit μ΄λΌλŠ” κΈ°λŠ₯이 μžˆμŠ΅λ‹ˆλ‹€. λ‹€λ“€ 눈치 μ±„μ…¨κ² μ§€λ§Œ, Kube Api Server 에 μ–΄λ–€ API λ₯Ό ν˜ΈμΆœν–ˆλŠ”μ§€ κ°μ‹œν•˜λŠ” κΈ°λŠ₯이죠. μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ„€μΉ˜ν•˜λ©΄ 기본적으둜 제곡 λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μΆ”κ°€μ μœΌλ‘œ Audit κΈ°λŠ₯을 ν™œμ„±ν™” ν•΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 κΈ€μ—μ„œλŠ” Audit κΈ°λŠ₯을 ν™œμ„±ν™”ν•΄μ„œ λˆ„κ°€, μ–΄λ–€ ν–‰μœ„λ‘œ, μ–΄λ–€ λ¦¬μ†ŒμŠ€λ₯Ό 호좜 ν–ˆλŠ”μ§€ κ°μ‹œν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€! λ ›μΈ λ‘λ”μ½”λ“œ! Audit κΈ°λŠ₯ ν™œμ„±ν™” control plane & data plane v1.26.1 μ—μ„œ μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€ μΏ λ²„λ„€ν‹°μŠ€ 곡식 λ¬Έμ„œλ₯Ό μ΄λ™ν•œ ν›„ Audit 을 κ²€μƒ‰ν•΄μ€λ‹ˆλ‹€. 그리고 ν΄λ¦­ν•΄μ„œ λ¬Έμ„œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. λ°‘μœΌλ‘œ μ­‰μ­‰ λ‚΄λ €μ„œ 둜그 λ°±μ—”λ“œ μ„Ήμ…˜μœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€. /etc/kubernetes/manifests/kube-apis..

article thumbnail
[Kubernetes] μŠˆλ’°λ”©κ±°μ˜ λ…Έλ“œ? λ…Έλ“œκ°€ μžˆμ—ˆλŠ”λ° μ—†μ–΄μš” - EKS Fargate
DevOps/Kubernetes 2023. 3. 12. 21:18

λˆ„κ΅¬λ‚˜ ν•œλ²ˆ 쯀은 μŠˆλ’°λ”©κ±°μ˜ 고양이에 λŒ€ν•΄μ„œ λ“€μ—ˆκ±°λ‚˜ κ΄€λ ¨ λ°ˆμ„ 보셨을 κ²λ‹ˆλ‹€. κ·Έλž˜λ„ ν˜Ήμ‹œ λͺ¨λ₯΄μ‹œλŠ” 뢄듀을 μœ„ν•΄ κ°„λ‹¨νžˆ μ•Œλ €λ“œλ¦¬μ£ . 고양이λ₯Ό 보이지 μ•ŠλŠ” μƒμžμ— λ„£κ³ , κ·Έ 속에 50:50 ν™•λ₯ λ‘œ 고양이λ₯Ό μ£½μ΄λŠ” 독극물을 λ„£μ—ˆμ„ λ•Œ κ³ μ–‘μ΄λŠ” μ£½μ„κΉŒμš”? μ‚΄κΉŒμš”? 일반 μ„Έκ³„μ—μ„œλŠ” μ£½μ—ˆλ‹€, μ‚΄μ•˜λ‹€ 라고 ν‘œν˜„ν•˜μ§€λ§Œ μ–‘μžμ—­ν•™ μ„Έκ³„μ—μ„œλŠ” 이λ₯Ό 죽음과 삢이 μ€‘μ²©λœ μƒνƒœλΌκ³  ν‘œν˜„ν•©λ‹ˆλ‹€. 즉, μ‚΄μ•„μžˆμœΌλ©΄μ„œ μ£½μ–΄μžˆλ‹€ 라고 ν•©λ‹ˆλ‹€. 였늘 κΈ€μ—μ„œ μ†Œκ°œν•  Fargate (파게이트) λ˜ν•œ μŠˆλ’°λ”©κ±°μ˜ 고양이와 λΉ„μŠ·ν•œ κ°œλ…μž…λ‹ˆλ‹€. (λ‚˜λ§Œ κ·Έλ ‡κ²Œ μƒκ°ν• μˆ˜λ„..) Fargate λŠ” λ¬΄μ—‡μΌκΉŒ? μš°λ¦¬λŠ” 보톡 AWS λ₯Ό μ΄μš©ν•΄μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•œλ‹€κ³  ν•˜λ©΄ EC2 λ₯Ό 톡해 μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³ , κ·Έ μΈμŠ€ν„΄μŠ€ 내뢀에 μ»¨ν…Œμ΄λ„ˆλ‚˜ 직접 ν”„λ‘œμ„ΈμŠ€λ‘œ..

article thumbnail
[Kubernetes] PVC둜 λ§ˆμŒλŒ€λ‘œ λ–Όμ—ˆλ‹€ λΆ™μ΄λŠ” AWS EBS
DevOps/Kubernetes 2023. 3. 6. 15:59

퍼블릭 ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μš΄μ˜ν•  λ•Œ μ˜¨ν”„λ‘œλ―ΈμŠ€λ³΄λ‹€ νŽΈν•œ 점 쀑 ν•˜λ‚˜κ°€ λ°”λ‘œ λ³Όλ₯¨ 관리 라고 μƒκ°ν•©λ‹ˆλ‹€. EBS CSI Driver λ₯Ό μ„€μΉ˜ ν›„ Storage Class, PV 그리고 PVC λ₯Ό 톡해 μ‰½κ²Œ AWS EBS λ₯Ό 톡해 λ³Όλ₯¨μ„ μ–Έμ œ μ–΄λ””μ„œλ“  κ°€μ Έλ‹€ μ“Έ 수 있죠. ν•œνŽΈ, μΏ λ²„λ„€ν‹°μŠ€μ—μ„  λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ λ³Όλ₯¨μ„ μ‚¬μš©ν•  수 μžˆλŠ”λ°μš”. μ»¨ν…Œμ΄λ„ˆκ°„ 곡유λ₯Ό κ°€λŠ₯μΌ€ ν•΄μ£ΌλŠ” EmptyDir, λ…Έλ“œμ˜ λ³Όλ₯¨μ„ 톡해 νŒŒλ“œκ°„ 곡유λ₯Ό κ°€λŠ₯μΌ€ ν•΄μ£ΌλŠ” HostPath, NFS μ„œλ²„λ₯Ό μ‚¬μš©ν•˜λŠ” NFS κΈ°λŠ₯ 등이 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλΌνŒŒλ‚˜λ₯Ό λ…Έλ“œμ— 배포할 λ•Œ, κ·ΈλΌνŒŒλ‚˜μ˜ μ„€μ • νŒŒμΌμ€ κ·ΈλΌνŒŒλ‚˜κ°€ 배포된 λ…Έλ“œμ˜ λ³Όλ₯¨μ— μ €μž₯이 λ©λ‹ˆλ‹€. λ”°λΌμ„œ λ§Œμ•½ κ·ΈλΌνŒŒλ‚˜ νŒŒλ“œκ°€ λ‹€λ₯Έ λ…Έλ“œμ— 배포가 될 경우 이전에 가지고 있던 κ·ΈλΌνŒŒλ‚˜ 섀정을 ..

article thumbnail
[Kubernetes] 인증/인가와 ETCD 사이 κ·Έ 녀석 - Admission Controller
DevOps/Kubernetes 2023. 1. 24. 18:42

μΏ λ²„λ„€ν‹°μŠ€λŠ” λ‹€λ₯Έ ν”Œλž«νΌμ²˜λŸΌ 인증(Authentication)/인가(Athorization) λ₯Ό μ œκ³΅ν•΄μ€λ‹ˆλ‹€. λ”°λΌμ„œ 인증받지 λͺ»ν•œ μ‚¬μš©μžλΌλ©΄ 401 (UnAuthorized) λ₯Ό 응닡 λ°›κ³ , 인증은 λ˜μ—ˆμ§€λ§Œ κΆŒν•œμ΄ μ—†λ‹€λ©΄ 403(Forbidden) 응닡을 λ°›κ²Œ 되죠. μ•„μ£Ό ν‰λ²”ν•œ 인증/인가 ν”„λ‘œμ„ΈμŠ€μž…λ‹ˆλ‹€. 그런데 인증/인가가 μ™„λ£Œλ˜μ—ˆλ‹€κ³ μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ— λ°”λ‘œ μ μš©ν•  순 μžˆλŠ” 건 μ•„λ‹™λ‹ˆλ‹€. μ‚¬μš©μžκ°€ 보낸 μš”μ²­μ„ μ μš©ν•˜κΈ° 직전 ν•œ ꡰ데λ₯Ό 더 λ“€λ¦½λ‹ˆλ‹€. 그것이 λ°”λ‘œ Adimission Controller μž…λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” Adimission Controller 에 λŒ€ν•œ κ°œλ…μ„ κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•˜κ³ , Adimission Controller λ₯Ό κ΅¬ν˜„ν•΄λ³Ό μƒκ°μž…λ‹ˆλ‹€. 😎 Admission Controller κ°€..

article thumbnail
[Kubernetes] User Account λž‘ Service Account κ°€ λ‹€λ₯Έκ±°μ˜€μ–΄?
DevOps/Kubernetes 2022. 11. 20. 14:42

μΏ λ²„λ„€ν‹°μŠ€λ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ 처음 User Account 와 Service Account λ₯Ό μ ‘ν–ˆμ„ λ•Œ λ‹¨μˆœνžˆ μΏ λ²„λ„€ν‹°μŠ€ API μ„œλ²„μ—κ²Œ 자격 증λͺ…ν•˜λŠ” λ¦¬μ†ŒμŠ€μΈκ°€λ³΄λ‹€ ν•˜κ³  λ„˜μ–΄κ°”λ˜ 적이 μžˆμŠ΅λ‹ˆλ‹€. 이해가 μ•ˆλ˜μ„œ κ·Έλƒ₯ λ„˜μ–΄κ°”λ˜.. κ·Έλž˜μ„œ User Account λž‘ Service Account λŠ” λΉ„μŠ·ν•œκ±° !! 같은 κ±° !! λΌλŠ” 생각을 가지고 μžˆμ—ˆμ£ .. ν•˜μ§€λ§Œ 이 λ‘˜μ€ λΆ„λͺ… λ‹€λ¦…λ‹ˆλ‹€. μΏ λ²„λ„€ν‹°μŠ€μ—λŠ” μΏ λ²„λ„€ν‹°μŠ€ 내에 μ‘΄μž¬ν•˜λŠ” μžμ›μ— λŒ€ν•œ 접근을 μœ„ν•œ 2κ°€μ§€μ˜ account νƒ€μž…μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. User Account Service Account μΏ λ²„λ„€ν‹°μŠ€ 곡식 λ¬Έμ„œμ—λŠ” 이와 같이 λ‚˜μ™€μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž μ–΄μΉ΄μš΄νŠΈλŠ” μ‚¬λžŒμ„ μœ„ν•œ 것이닀. μ„œλΉ„μŠ€ μ–΄μΉ΄μš΄νŠΈλŠ” νŒŒλ“œμ—μ„œ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μœ„ν•œ 것이닀. 100% λ§žλŠ” λ§μ΄μ§€λ§Œ..

profile on loading

Loading...