λ‘œμΌ“πŸΎ
article thumbnail
[Container] 무심코 Dockerfile 에 λ³΅μ‚¬ν•œ credentials... μ•ˆμ „ν• κΉŒ?
DevOps/Container 2024. 3. 19. 22:42

κ°œλ°œμ„ ν•˜λŠ”λ° μžˆμ–΄ μ»¨ν…Œμ΄λ„ˆλŠ” 더 이상 빠질 수 없을 만큼 μ€‘μš”ν•œ κ°œλ…μ΄ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그리고 Docker λŠ” μ»¨ν…Œμ΄λ„ˆ λ§€λ‹ˆμ§€ 툴 쀑 κ°€μž₯ λŒ€ν‘œμ μ΄λΌκ³  λ³Ό 수 있죠. μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„  이미지가 ν•„μš”ν•˜κ³  보편적으둜 Docker λ₯Ό 톡해 이미지λ₯Ό λ§Œλ“€κ²Œ λ©λ‹ˆλ‹€. Dockerfile 에 μž‘μ„± ν•œ ν›„ Docker μ»€λ§¨λ“œλ₯Ό μ΄μš©ν•˜λ©΄ 이미지가 λ§Œλ“€μ–΄μ§€κ³  μ•„μ£Ό μ‰½κ²Œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이미지λ₯Ό λΉŒλ“œ ν•˜λŠ” 데 μžˆμ–΄μ„œ λ¬Όλ‘  κ²½λŸ‰ν™”λ„ μ€‘μš”ν•˜μ§€λ§Œ, κ·Έ λͺ»μ§€ μ•Šκ²Œ 이미지 λ³΄μ•ˆλ„ μ€‘μš”ν•©λ‹ˆλ‹€. --previliged κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” κ±Έ μ§€μ–‘ν•˜κ³ , Dockerfile 에 μ§μ ‘μ μœΌλ‘œ crendentials κ΄€λ ¨ν•œ 정보λ₯Ό μΆ”κ°€(COPY) ν•˜λŠ” κ±Έ μ£Όμ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. trivy λ₯Ό μ΄μš©ν•˜λ©΄ μ†μ‰½κ²Œ μ΄λ―Έμ§€μ˜ 취약점 검사..

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
[Terraform] -migrate-state vs. -reconfigure
DevOps/Terraform 2024. 2. 19. 23:28

ν…ŒλΌνΌμ„ 처음 μ‹œμž‘ν•˜λ©΄ ν—·κ°ˆλ¦¬λŠ” λͺ…λ Ήμ–΄ μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ terraform init λͺ…λ Ήμ–΄μ˜ -migrate-state 와 -reconfigure μ£ . 보톡 backend ꡬ성을 λ³€κ²½ν•˜λ©΄ ν•΄λ‹Ή μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λΌλŠ” λͺ…λ Ήμ–΄λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. λ‘œκ·Έμ—μ„œ -migrate-state 와 -reconfigure 에 λŒ€ν•œ μ„€λͺ…이 λ‚˜μ™€μžˆμ§€λ§Œ λ”±νžˆ μ™€λ‹Ώμ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. tfstate 의 λ°©ν–₯성을 μ’Œμ§€μš°μ§€ ν•˜λŠ” μ˜΅μ…˜μ΄κΈ° λ•Œλ¬Έμ— 잘λͺ» 썼닀간 인프라가 꼬일 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λΆ„λͺ… λ³€κ²½(0 to change)ν•˜λŠ” 건데 μƒˆλ‘­κ²Œ(1 to add) μƒμ„±ν•œλ‹€λŠ” 문ꡬλ₯Ό λ³Ό 수 있죠. 이런 κ²½μš°λŠ” 보톡 backend ꡬ성을 λ³€κ²½ν•˜κ³ , -reconfigure λ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ λ°œμƒν•©λ‹ˆλ‹€. μ˜ˆμ œμ—¬μ„œ λ”± ν•˜λ‚˜μ˜ state 만 μ‘΄μž¬ν•˜..

article thumbnail
[Cert manager] μ„œλΉ„μŠ€ 도메인 svc.cluster.local κ³Ό HTTPS ν†΅μ‹ ν•˜κΈ°
DevOps/Cert Manager 2024. 2. 5. 21:06

μΏ λ²„λ„€ν‹°μŠ€ 내뢀끼리 톡신을 ν•  λ•Œ 보톡 μ„œλΉ„μŠ€μ˜ 도메인 svc.cluster.local 을 μ΄μš©ν•˜μ—¬ ν†΅μ‹ ν•˜κ²Œ λ©λ‹ˆλ‹€. μ™ΈλΆ€μ—μ„œ λ‚΄λΆ€λ‘œ λ“€μ–΄μ˜€λŠ” 톡신에 λŒ€ν•΄μ„œλŠ” Ingress λ₯Ό μ΄μš©ν•΄ https 톡신을 ν•˜κ²Œλ˜μ£ . ν•˜μ§€λ§Œ Ingress λŠ” λ‚΄λΆ€ 톡신에 λŒ€ν•΄μ„œλŠ” https 톡신을 보μž₯해주진 μ•Šμ£ . 이 뢀뢄에 λŒ€ν•΄μ„œλŠ” Istio 의 mTLS λ₯Ό μ΄μš©ν•΄μ„œ νŒŒλ“œμ™€μ˜ 톡신은 λͺ¨λ‘ https 톡신을 ν•˜κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Istio 의 mTLS κ°€ κΆκΈˆν•˜λ‹€λ©΄? [Istio] μ‰Ώ! 우리만의 비밀이야 - mTLS (ν™•μΈνŽΈ) [Istio] μ‰Ώ! 우리만의 비밀이야 - mTLS (κ²€μ¦νŽΈ) κ·Έλ ‡λ‹€λ©΄ mTLS λ₯Ό μ΄μš©ν•˜μ§€ μ•Šκ³  λ‚΄λΆ€ 톡신은 μ–΄λ–»κ²Œ https 톡신을 ν•  수 μžˆμ„κΉŒμš”? 정닡은 κ°„λ‹¨ν•©λ‹ˆλ‹€. νŒŒλ“œ λ§ˆλ‹€ certifica..

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
[Github Action] MacOS.. λ„Œ μ™œ ARC 지원이 μ•ˆλ˜μ„œ... - Runner with MacOS
DevOps/Github Action 2023. 11. 12. 18:11

μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ—μ„  ARC λ₯Ό μ΄μš©ν•˜λ©΄ 어렡지 μ•Šκ²Œ λ‹€μ–‘ν•œ OS μœ„μ— μ˜€ν† μŠ€μΌ€μΌλ§μ— κΈ°λ°˜ν•œ Runner κ΅¬ν˜„μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. Karpenter 와 ν•¨κ»˜λΌλ©΄ 더 효율적이죠. (Karpenter κ³Ό κΆκΈˆν•˜λ‹€λ©΄ μ—¬κΈ° μ°Έκ³ , ARC κ°€ κΆκΈˆν•˜λ‹€λ©΄ μ—¬κΈ° μ°Έκ³ ) λ˜ν•œ EKS μ—μ„œ Linux 와 Windows 기반의 λ…Έλ“œλ₯Ό 지원해주기 λ•Œλ¬Έμ— λ„μš°κΈ°λ§Œ ν•œλ‹€λ©΄ νŒŒλ“œ λ‹¨μœ„λ‘œ Runner λ₯Ό 배포할 수 μžˆμŠ΅λ‹ˆλ‹€. (EKS μ—μ„œ Windows λ₯Ό ν™œμ„±ν™” ν•˜λŠ” 방법이 κΆκΈˆν•˜λ‹€λ©΄ μ—¬κΈ° μ°Έκ³ ) ν•˜μ§€λ§Œ MacOS λŠ” μ–˜κΈ°κ°€ λ‹¬λΌμš”.. EKS μ—μ„œ 지원을 μ•ˆν•΄μ€λ‹ˆλ‹€.. κ·Έλž˜μ„œ λ§Œμ•½ MacOS 기반의 μ›Œμ»€ λ…Έλ“œλ₯Ό ν”„λ‘œλΉ„μ €λ‹ ν•˜λ €κ³  ν•œλ‹€λ©΄, μ•„λ§ˆ MacOS 기반의 μΈμŠ€ν„΄μŠ€λ₯Ό λ„μš΄ ν›„ κ±°κΈ°μ„œ μˆ˜λ™μœΌλ‘œ EKS ν΄λŸ¬μŠ€ν„°μ— 쑰인해야 ν•  κ²ƒμž…λ‹ˆλ‹€...

article thumbnail
[Github Action] EKS, Karpenter 그리고 Window Runner
DevOps/Github Action 2023. 11. 6. 23:09

λ“€μ–΄κ°€κΈ° μ•žμ„œ μ €λŠ” Windows λ₯Ό 많이 닀뀄보지 μ•Šμ•˜κΈ° λ•Œλ¬Έμ— λΆ€μ‘±ν•˜κ±°λ‚˜ ν‹€λ¦° 뢀뢄이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€! μΏ λ²„λ„€ν‹°μŠ€λŠ” v1.23 버전, Karpenter λŠ” v0.31 λ²„μ „μž…λ‹ˆλ‹€. μΏ λ²„λ„€ν‹°μŠ€(EKS) ν™˜κ²½μ— μœˆλ„μš°μ™€ Karpenter λ₯Ό ν™œμ„±ν™” ν•˜λŠ” 방법에 λŒ€ν•΄μ„  μ—¬κΈ°λ₯Ό μ°Έκ³ ν•˜μ„Έμš”. Karpenter 에 λŒ€ν•΄ κΆκΈˆν•˜λ‹€λ©΄ μ—¬κΈ°λ₯Ό μ°Έκ³ ν•˜μ„Έμš”. 그럼 λ ›μΈ λ‘λ”μ½”λ“œ~ μš°λ¦¬κ°€ μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 방법은 λ°”λ‘œ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜μ„ μœ„ν•¨μ΄μ£ . ν•˜λ‚˜μ˜ λ§ˆμŠ€ν„° ν”Œλ ˆμΈμœΌλ‘œ μ—¬λŸ¬ λ…Έλ“œμ˜ μ—¬λŸ¬ νŒŒλ“œλ₯Ό μ’€ 더 μ‰½κ²Œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œμž…λ‹ˆλ‹€. Action Runner μ—­μ‹œ μ˜ˆμ™ΈλŠ” μ•„λ‹ˆμ£ . Action Runner Controller λ₯Ό μ΄μš©ν•˜λ©΄ μ‰½κ²Œ μΏ λ²„λ„€ν‹°μŠ€ ν™˜κ²½μ—μ„œ νŒŒλ“œ λ‹¨μœ„μ˜ Runner 배포가 κ°€λŠ₯ν•©λ‹ˆλ‹€. 맨 처음 Action..

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
[Github Action] cmake 와 일곱 파이썬
DevOps/Github Action 2023. 10. 6. 18:10

κ°œλ°œμ„ ν•˜λ‹€λ³΄λ©΄ ν•œκ°€μ§€ λ²„μ „λΏλ§Œ μ•„λ‹ˆλΌ λ‹€μ–‘ν•œ 버전을 μ§€μ›ν•΄μ€˜μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ νŒŒμ΄μ¬μ„ μ‚¬μš©ν•œλ‹€λ©΄ 3.8, 3.9, 3.10 버전 λͺ¨λ‘ 지원해주어야 ν•˜μ£ . λ²„μ „λΏλ§Œ OS 도 Linux x86, arm, Window, MacOS λ“± λ‹€μ–‘ν•˜κ²Œ 지원해주어야 ν•©λ‹ˆλ‹€. C/C++ 둜 λ§Œλ“€μ–΄μ§„ ν”„λ‘œμ νŠΈλ₯Ό swig λ₯Ό 톡해 파이썬, μžλ°”, Go λ“± λ‹€μ–‘ν•œ μ–Έμ–΄κ³Ό λ‹€μ–‘ν•œ λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” νŒ¨ν‚€μ§€λ₯Ό λ§Œλ“€μ–΄μ•Ό ν–ˆλ˜ 적이 μžˆμŠ΅λ‹ˆλ‹€. C/C++ ν”„λ‘œμ νŠΈμ— μ‚¬μš©λ˜λŠ” CMakeLists.txt(cmake) 와 Github Action 의 matrix λ₯Ό μ΄μš©ν•˜λ©΄ 어렡지 μ•Šκ²Œ λ‹€μ–‘ν•œ λ²„μ „μ˜ νŒ¨ν‚€μ§€λ₯Ό λ§Œλ“€ 수 μžˆμ„ κ±° κ°™μŠ΅λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” 파이썬과 Linux x86 만 닀루며, 3.8, 3.9, 3.10 λ²„μ „μ˜ 파이..

article thumbnail
[Github Action] λ„ˆ cache λœκ±°μ•Ό! - ccache λ₯Ό μ΄μš©ν•œ c/c++ λΉŒλ“œ
DevOps/Github Action 2023. 10. 5. 22:16

C/C++ 기반의 ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜λŠ”λ° μžˆμ–΄ 보톡 cmake 와 make λ₯Ό μ΄μš©ν•΄μ„œ λΉŒλ“œλ₯Ό ν•˜κ²Œ λ©λ‹ˆλ‹€. κ°„λž΅ν•˜κ²Œ cmake λŠ” CMakeList.txt λ₯Ό 기반으둜 Makefile λ₯Ό λ§Œλ“€μ–΄μ£Όκ³ , make λŠ” Makefile λ₯Ό 톡해 ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•©λ‹ˆλ‹€. cmake λŠ” λΉŒλ“œλ₯Ό μœ„ν•œ ν”„λ‘œμ„ΈμŠ€μ΄κ³ , make λŠ” μ‹€μ œλ‘œ λΉŒλ“œλ₯Ό ν•΄μ£ΌλŠ” ν”„λ‘œμ„ΈμŠ€μΈ μ…ˆμ΄μ£ . 그런데 C/C++ ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜λŠ”λ°, λΉŒλ“œ μ‹œκ°„μ΄ λŒ€λž΅ 1μ‹œκ°„ 정도 μ†Œλͺ¨λ©λ‹ˆλ‹€. λ„ˆλ¬΄ μ˜€λž˜κ±Έλ €μš”.. μ§„ν–‰ν•œ runner λŠ” 2GB Memory 의 μΈμŠ€ν„΄μŠ€μž…λ‹ˆλ‹€. λΉŒλ“œ μ‹œκ°„μ„ λ‹¨μΆ•μ‹œν‚€κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λΉŒλ“œ μ‹œκ°„μ„ λ‹¨μΆ•μ‹œν‚€κΈ° μœ„ν•œ λ°©λ²•μœΌλ‘œ κ°€μž₯ λ¨Όμ € λ– μ˜€λ₯΄λŠ” 것은 λ°”λ‘œ 캐싱 μž…λ‹ˆλ‹€. 맀번 같이 νŒŒμΌμ„ λΉŒλ“œν•˜μ§€ 말고, λ°˜λ³΅λ˜λŠ” λΉŒλ“œ νŒŒμΌμ„ μΊμ‹±ν•΄λ†“μœΌλ©΄ μ‹œκ°„μ΄..

article thumbnail
[Cert manager] Let's Encrypt λ₯Ό μ΄μš©ν•΄μ„œ Istio Gateway 에 TLS 을 μ μš©ν•΄λ³΄μž! - Route53
DevOps/Cert Manager 2023. 9. 13. 23:52

μ§€λ‚œ κΈ€μ—μ„œ Cloudflare μ—μ„œ μƒμ„±ν•œ 도메인과 Let's Encrypt λ₯Ό μ΄μš©ν•΄μ„œ TLS λ₯Ό httpbin 에 μ μš©ν–ˆμ—ˆμŠ΅λ‹ˆλ‹€. μ΄λ²ˆμ—λŠ” Cloudflare 보닀 더 λŒ€μ€‘μ μΈ Route53 μ—μ„œ μƒμ„±ν•œ 도메인에도 TLS λ₯Ό μ μš©ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. Route53 μ—μ„œ κ΅¬λ§€ν•œ 도메인에 λŒ€ν•΄μ„œλŠ” AWS ACM 을 μ΄μš©ν•΄μ„œ 무료둜 TLS λ₯Ό λ°œκΈ‰λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 λ°œκΈ‰λ°›μ€ TLS λ₯Ό AWS ALB 에 λ°”λ‘œ μ μš©ν•˜κ²Œ 되면 μ•„μ£Ό μ‰½κ²Œ TLS 톡신이 κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ ALB 와 Istio λ₯Ό μ΄μš©ν•˜κ²Œ 되면 λŒ€λž΅ μ•„λž˜ κ·Έλ¦Όκ³Ό κ°™μ£ . ν•˜μ§€λ§Œ μ™ΈλΆ€λ§Œ TLS λ₯Ό 톡신이 κ°€λŠ₯ν•˜λ―€λ‘œ 내뢀에선 TLS 톡신이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. ACM 을 톡해 도메인에 λŒ€ν•œ Cert λ₯Ό λ°œκΈ‰λ°›μ„ 수 μžˆλŠ”λ°, 이 값은 λ‹€μš΄λ°›μ•„μ„œ μ‚¬μš©λΆˆκ°€λŠ₯..

article thumbnail
[Cert manager] Let's Encrypt λ₯Ό μ΄μš©ν•΄μ„œ Istio Gateway 에 TLS 을 μ μš©ν•΄λ³΄μž! - Cloudflare
DevOps/Cert Manager 2023. 9. 7. 21:48

이 글은 TLS 에 λŒ€ν•œ 기초적인 κ°œλ…μ΄ ν•„μš”ν•©λ‹ˆλ‹€. μ΅œμ†Œν•œ HTTPS κ°€ μ–΄λ–»κ²Œ λ™μž‘ν•˜λ©°, CA, CSR, tls.cert λ“±κ³Ό 같은 것이 무엇인지 μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. λ―Έλ‹ˆ PC μ—μ„œ μΏ λ²„λ„€ν‹°μŠ€ ν΄λŸ¬μŠ€ν„°λ₯Ό κ΅¬μ„±ν•˜μ—¬ 이것저것 해보고 μžˆλŠ”λ°, 늘 ν•˜λ‚˜ λ§ˆμŒμ— κ±Έλ¦¬λŠ” 것이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ 도메인과 TLS μž…λ‹ˆλ‹€! 도메인 같은 경우 λ§₯ /etc/host 에 μΆ”κ°€ν•΄μ„œ μ‚¬μš©ν•˜κ³  μžˆμ—ˆκ³ , TLS κ°€ μ μš©λ˜μ§€ μ•Šλ‹€λ³΄λ‹ˆ 늘 주의 μš”ν•¨μ„ 달고 μžˆμ—ˆμ£ . AWS ALB λ₯Ό μ‚¬μš©ν•˜λ©΄ Route53 κ³Ό ACM 을 ν†΅ν•΄μ„œ TLS μ μš©ν•˜κΈ° μ‰½μ§€λ§Œ, AWS 없이 TLS λ₯Ό μ μš©ν•˜λ €λ©΄ κ²°κ΅­ TLS λ₯Ό ꡬ맀해야 ν•©λ‹ˆλ‹€. TLS λŠ” 보톡 유료인데, Let's Ecrypt λŠ” 무료둜 TLS 을 μ œκ³΅ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— 이번 κΈ€μ—μ„œλŠ” 둜컬 ν™˜κ²½μ—μ„œ ..

article thumbnail
[Istio] μ‰Ώ! 우리만의 비밀이야 - mTLS (κ²€μ¦νŽΈ)
DevOps/Istio 2023. 8. 17. 22:52

μ§€λ‚œ κΈ€μ—μ„œ Istio mTLS 에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜κ³ , μ μš©λ„ ν•΄λ΄€μŠ΅λ‹ˆλ‹€. 또 Kiali λ₯Ό ν†΅ν•΄μ„œ μ‹€μ œ mTLS κ°€ 적용 λ˜μ—ˆλŠ” 지도 μ•Œμ•„λ΄€μ£ . Kiali μ—μ„œ mTLS κ°€ μ μš©λλ‹€κ³  μ•„μ΄μ½˜μœΌλ‘œ ν‘œμ‹œλ₯Ό ν•΄μ£ΌκΈ΄ ν•˜λŠ”λ° 제 눈으둜 직접 μ•”ν˜Έν™”κ°€ λ˜λŠ”μ§€ ν™•μΈν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 κΈ€μ—μ„œλŠ” Istio 곡식 λ¬Έμ„œμ—μ„œ μ œκ³΅ν•΄μ£ΌλŠ” μ˜ˆμ œμ™€ tcpdump λ₯Ό μ΄μš©ν•΄μ„œ ν•œλ²ˆ 확인해보죠! λ ›μΈ λ‘λ”μ½”λ“œ~ λ“€μ–΄κ°€κΈ° μ•žμ„œ μ£Όμ˜ν•  점이 μžˆμŠ΅λ‹ˆλ‹€! istio-proxy container μ—μ„œ tcpdump λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ sudo λ₯Ό κΆŒν•œμ„ κ°€μ§ˆ 수 μžˆλ„λ‘ privilege λ₯Ό true 둜 μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€. λ”°λΌμ„œ μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό 톡해 istio λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€. $ istioctl install --set values.global...

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
[Istio] μ‰Ώ! 우리만의 비밀이야 - mTLS (ν™•μΈνŽΈ)
DevOps/Istio 2023. 7. 2. 13:37

μΏ λ²„λ„€ν‹°μŠ€ μœ„μ—λŠ” λ‹€μ–‘ν•œ μ„œλΉ„μŠ€λ“€μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. 이 μ„œλΉ„μŠ€λ“€μ΄ ν•˜λ‚˜ν•˜λ‚˜ μƒκ²¨λ‚˜λ‹€ 보면 μ–΄λŠ μƒˆ λͺ‡ 백개, λͺ‡ 천개의 μ„œλΉ„μŠ€λ“€μ΄ μ‘΄μž¬ν•˜κ²Œ λ©λ‹ˆλ‹€. 이런 μ„œλΉ„μŠ€λ“€μ„ μ‰½κ²Œ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ μ΄μŠ€ν‹°μ˜€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄μŠ€ν‹°μ˜€λŠ” μ„œλΉ„μŠ€ 메쉬 μ„œλΉ„μŠ€ λΌλŠ” 타이틀에 걸맞게 λ‹€μ–‘ν•œ κΈ°λŠ₯듀을 μ œκ³΅ν•΄μ£ΌλŠ”λ° 이번 κΈ€μ—μ„œλŠ” κ·Έ 쀑 핡심 κΈ°λŠ₯ 쀑 ν•˜λ‚˜μΈ mTLS (Mutual TLS) 에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ μž ν•©λ‹ˆλ‹€. λ¨Όμ € mTLS κ°€ 무엇인지 μ•Œμ•„λ³΄κΈ° 전에 μ™œ ν•„μš”ν•˜μ§„ λΆ€ν„° μ•Œμ•„λ³΄μ£ . μ΄μŠ€ν‹°μ˜€ 인그레슀 κ²Œμ΄νŠΈμ›¨μ΄λ₯Ό 톡해 μš°λ¦¬λŠ” μΏ λ²„λ„€ν‹°μŠ€ 내뢀에 접근이 κ°€λŠ₯ν•©λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈκ°€ 데이터λ₯Ό 전솑할 λ•Œ μ•”ν˜Έν™”λ₯Ό ν•œ ν›„ μ „μ†‘ν•˜κ²Œ λ˜λŠ”λ° (HTTPS), λ¬Έμ œλŠ” 인그레슀 κ²Œμ΄νŠΈμ›¨μ΄ κΉŒμ§€λ§Œ 데이터가 μ•”ν˜Έν™”κ°€ 되고 μΏ λ²„λ„€ν‹°μŠ€ λ‚΄λΆ€μ—μ„œλŠ” HTTPS κ°€..

article thumbnail
[Karpenter] NVIDIA GPU κ°€ μ‚¬λΌμ§€μ§ˆ μ•Šμ•„μš”!
DevOps/Karpenter 2023. 6. 19. 20:17

Karpenter λŠ” AWS μ—μ„œ 진행 쀑인 μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈλ‘œ μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ AWS ASG 보닀 ν•œ 차원 높은 μˆ˜μ€€μ˜ μŠ€μΌ€μΌλ§μ„ μ œκ³΅ν•΄μ€λ‹ˆλ‹€. Karpenter κ°€ 무엇인지 λͺ¨λ₯΄κ² λ‹€λ©΄ μ—¬κΈ°λ₯Ό μ°Έκ³ ! Karpenter λ₯Ό μ΄μš©ν•˜λ©΄ CPU μΈμŠ€ν„΄μŠ€ 뿐만 μ•„λ‹ˆλΌ GPU μΈμŠ€ν„΄μŠ€ λ˜ν•œ 정말정말 μœ λ™μ μœΌλ‘œ ν”„λ‘œλΉ„μ €λ‹ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Karpenter λ₯Ό μ“°λ©΄ μ“Έ 수둝 "와 이거 μ§„μ§œ 짱인데?" λΌλŠ” 생각이 많이 λ“­λ‹ˆλ‹€. μ•„μ£Ό μœ μš©ν•œ ν”„λ‘œμ νŠΈμΈκ±° κ°™μ•„μš”. CPU μΈμŠ€ν„΄μŠ€ 같은 κ²½μš°μ—λŠ” Karpenter 만 μ„€μΉ˜ν•˜λ©΄ ν”„λ‘œλΉ„μ €λ‹, λ””ν”„λ‘œλΉ„μ €λ‹ λͺ¨λ‘ 잘 λ™μž‘ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ GPU μΈμŠ€ν„΄μŠ€ 경우 ν”„λ‘œλΉ„μ €λ‹μ€ μž˜λ˜μ§€λ§Œ, λ””ν”„λ‘œλΉ„μ €λ‹μ€ λ™μž‘ν•˜μ§€ μ•Šμ•„μš”. μ²˜μŒμ—λŠ” 아직 메이저 λ²„μ „μ΄λΌμ„œ GPU κ΄€λ ¨ν•œ κΈ°λŠ₯이 개발이 μ•ˆλœ ..

article thumbnail
[Github Action] 데이터 μ’€ 맑길게! λ‚˜μ€‘μ— κ·ΈλŒ€λ‘œ λ‹€μ‹œμ€„λž˜? - action cache
DevOps/Github Action 2023. 6. 3. 14:27

μ§€λ‚œ κΈ€μ—μ„œλŠ” Action Controller Runner (μ΄ν•˜ ARC) λ₯Ό μ‚¬μš©ν•  λ•Œ AWS EFS λ₯Ό λ§ˆμš΄νŠΈν•΄μ„œ νŠΉμ • κ²½λ‘œμ— build 에 ν•„μš”ν•œ 데이터λ₯Ό μΊμ‹±ν–ˆμŠ΅λ‹ˆλ‹€. 근데 λ§Œμ•½ AWS EFS 와 같은 데이터λ₯Ό μ €μž₯ν•  수 μžˆλŠ” μŠ€ν† λ¦¬μ§€κ°€ μ—†λ‹€λ©΄ μ–΄λ–¨κΉŒμš”? λ‹€ν–‰νžˆ μΆ©λΆ„νžˆ 쒋은 λŒ€μ±…μ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ Github Action μ—μ„œ μ œκ³΅ν•΄μ£ΌλŠ” Action Cache μ΄λΌλŠ” λ…€μ„μž…λ‹ˆλ‹€. Github Action 을 μ‚¬μš©ν•œλ‹€λ©΄ μ•„λ§ˆ 이미 λ‹€λ“€ 잘 μ•„μ‹€ μˆ˜λ„ μžˆκ² κ΅°μš”. Action Cache λŠ” μ’‹μ•„μš” 3.7k λ₯Ό 받을 만큼 λ§Žμ€ μ‚¬λž‘?을 λ°›κ³  μžˆλŠ” μ•‘μ…˜ μ€‘μ˜ ν•˜λ‚˜μž…λ‹ˆλ‹€. λ„νλ¨ΌνŠΈλ₯Ό 보면 κ½€ μžμ„Έν•˜κ²Œ μ„€λͺ…이 λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. 예제 μ½”λ“œλ„ μ‘΄μž¬ν•˜λ©°, 각 ν•„μš”ν•œ with 에 λŒ€ν•΄μ„œλ„ μΉœμ ˆν•˜κ²Œ μ„€λͺ…ν•΄μ£Όκ³  μžˆμŠ΅λ‹ˆλ‹€...

article thumbnail
[Istio] IngressGateway 에 TLS λ₯Ό μ μš©ν•΄λ³΄μž!
DevOps/Istio 2023. 5. 18. 22:47

Istio (μ΄ν•˜ μ΄μŠ€ν‹°μ˜€) λŠ” μΏ λ²„λ„€ν‹°μŠ€μ˜ λŒ€ν‘œμ μΈ μ„œλΉ„μŠ€ 메쉬 μ†ŒμŠ€μž…λ‹ˆλ‹€. 뿐만 μ•„λ‹ˆλΌ μ΄μŠ€ν‹°μ˜€λŠ” 인그레슀 μ»¨νŠΈλ‘€λŸ¬λ„ μ œκ³΅ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— Nginx 와 같은 λ³„λ„μ˜ 인그레슀 μ»¨νŠΈλ‘€λŸ¬κ°€ ν•„μš” μ—†μ–΄μš”. 이번 κΈ€μ—μ„œ Istio 의 핡심 μžμ›μΈ IngressGateway 에 TLS λ₯Ό μ μš©μ‹œμΌœ 보고자 ν•©λ‹ˆλ‹€! Istio λ₯Ό μ„€λͺ…ν•˜λŠ” 글이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— Gateway, VirtualService 와 같은 λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ„€λͺ…은 ν•˜μ§€ μ•Šκ² μŠ΅λ‹ˆλ‹€. 그럼 λ ›μΈ λ‘λ”μ½”λ“œ~ μ‹€μŠ΅ ν™˜κ²½μ€ μ•„λž˜μ™€ κ°™μ•„μš”. μΏ λ²„λ„€ν‹°μŠ€ v1.26.2 μ΄μŠ€ν‹°μ˜€ v1.17.2 곡식 λ¬Έμ„œμ— λ‚˜μ™€μžˆλŠ” μ˜ˆμ œλŠ” λΆˆν•„μš”ν•œ λ‚΄μš©μ΄ λ§Žμ•„μ„œ λ”± ν•„μš”ν•œ λΆ€λΆ„λ§Œ μ‹€μŠ΅ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ§Œμ•½ 더 μžμ„Έν•œ 정보가 κΆκΈˆν•˜λ‹€λ©΄ μ—¬κΈ°λ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”. TLS λ₯Ό 적용 ν•  것이기 λ•Œλ¬Έ..

article thumbnail
[Karpenter] λ…Έλ“œμ˜ Deprovisioning 을 μ’€ 더 μ•„λ¦„λ‹΅κ²Œ~
DevOps/Karpenter 2023. 5. 17. 00:04

맀우맀우맀우 μ€‘μš”! Karpenter v0.32 버전뢀터 λ¦¬μ†ŒμŠ€ 이름듀이 λ³€κ²½λ˜μ–΄ μ°Έκ³  λ°”λžλ‹ˆλ‹€. κ°œλ…μ€ λ˜‘κ°™μŠ΅λ‹ˆλ‹€. (ex. Provisioners -> NodePools) Karpenter 의 κ°œλ…μ„ μ•Œκ³  μ‹Άλ‹€λ©΄ μ—¬κΈ° μ°Έκ³ ! Karpenter λ₯Ό 파면 νŒ”μˆ˜λ‘ 정말 μœ μš©ν•œ μ˜€ν”ˆμ†ŒμŠ€μΈκ±° κ°™μ•„μš”. ASG λ₯Ό λ„˜μ–΄μ„œ 훨씬 효율적이고 μœ λ™μ μœΌλ‘œ λ…Έλ“œμ™€ νŒŒλ“œλ₯Ό 관리할 수 있게 ν•΄μ£Όκ±°λ“ μš”. μŠ€μΌ€μ€„λ§ μ‹œμŠ€ν…œμ„ κ°œλ°œν•˜κ³  μžˆλŠ”λ°, Karpenter κ°€ μ—†μ—ˆλ‹€λ©΄ 많이 νž˜λ“€μ—ˆμ„ κ²λ‹ˆλ‹€... 이번 κΈ€μ—μ„œλŠ” Karpenter 의 Deprovisioning 에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€. κ°€μž₯ 핡심이라고 λ³Ό 수 있죠. Deprovisioning κ΄€λ ¨ μ˜΅μ…˜μ€ 크게 2κ°€μ§€λ‘œ λ‚˜λˆŒ 수 μžˆμ–΄μš”. - ttlSecondsAfterEmpty ..

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
[Karpenter] λ…Έλ“œλ₯Ό μ€„μ˜€λ‹€κ°€ λŠ˜λ Έλ‹€κ°€ ν•©μ³€λ‹€κ°€ μ—†μ•΄λ‹€κ°€ ~
DevOps/Karpenter 2023. 3. 19. 12:19

맀우맀우맀우 μ€‘μš”! 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 κ°€ 뭐죠? μ—¬κΈ°μ„œ λ§ν•˜λŠ” λ…Έλ“œ == μΈμŠ€ν„΄μŠ€ ..

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

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

article thumbnail
[Github Action] ARC λ₯Ό μ΄μš©ν•œ Gradle Build Cache
DevOps/Github Action 2023. 3. 6. 22:39

μ€‘μš”!! 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..

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
[Istio] Istio Ingress 에 ALB λ₯Ό λΆ™μ—¬λ³΄μž !
DevOps/Istio 2023. 2. 12. 19:10

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) 둜 λŒ€μ²΄λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 글에..

profile on loading

Loading...