앞선 게시물에서 Vault를 사용하기 위해 Role + Policy + Secrets을 생성하였다. 이제는 서비스에서 어떻게 Vault Secrets을 사용할 수 있는지 알아보도록 하자!! [Vault] Vault 서비스 사용 방법[1/2] 앞선 게시물로 Vault 배포 및 활성화 방법에 대해서 알아보았다. 설치하였으면 이제 사용해보아야하며, 본 게시물에서는 Vault 사용방법에 대해 알아보자! [Vault] Vault Helm 배포 및 활성화 방법 K8s를 dobby-isfree.tistory.com Vault Secrets 사용방법 Vault는 Sidecar 형태로 vault agent가 주입이 된다. 그렇기에 사용하는 Deployment에 특정 annotation 값을 설정해야 한다. Vault를 ..
기술 이모저모
앞선 게시물로 Vault 배포 및 활성화 방법에 대해서 알아보았다. 설치하였으면 이제 사용해보아야하며, 본 게시물에서는 Vault 사용방법에 대해 알아보자! [Vault] Vault Helm 배포 및 활성화 방법 K8s를 운영하다 보면 흔히들 비밀정보를 관리를 해야하는 경우가 생긴다. - 비밀정보 : DB 정보, ID/PW 등의 일반적으로 노출되면 안되는 정보들이다. 기본적으로 K8s에서는 Secrets Kind를 제공하고 있 dobby-isfree.tistory.com Vault 사용 방법 Vault를 배포하고 접속하게 되면 아래와 같이 접속 화면을 볼 수 있다. Method를 선택해보면 Okta등의 다양한 접속 방법이 있고, 필자는 Root Token으로 접속하므로 Token으로 접속을 한다. Vau..
K8s를 운영하다 보면 흔히들 비밀정보를 관리를 해야하는 경우가 생긴다. - 비밀정보 : DB 정보, ID/PW 등의 일반적으로 노출되면 안되는 정보들이다. 기본적으로 K8s에서는 Secrets Kind를 제공하고 있지만, 여러가지 사유에 의해서 재직중인 회사에서는 Vault를 사용하고 있고, Secrets과의 장/단점과 설치와 사용 방법에 대해 간략하게 리뷰하고자 한다! Vault vs K8s secrets 아래의 장/단점만 보면 크게 Vault를 사용해야되는 장점이 없어보일 수 있으나 가장 큰 장점은 UI가 있어서 사용이 간편하고, DDB 등으로 백업을 하고 있기 때문에 휴먼에러 등으로 비밀정보를 삭제하는 경우 복원이 쉽다. 다만, 반대로 가장 큰 단점은 Vault를 사용하기 위해서는 각 Pod에 S..
최근 회사에서 장애 상황이 있었다. 장애가 발생할 수 있지만 장애 처리가 미흡하여 장애 기준, 절차에 대해 재정의를 하려고 한다. 장애를 정의하기 앞서서 당사 서비스의 SLI, SLO 를 좀 살펴보았는데, 딱히 정의되어 있지 않은것 같다. 그래서 SLI, SLO가 무엇이고, 타사에서 많이들? 정의하는것을 기반으로 벤치마킹하고자 한다. - 아직 공부를 하는 단계이고, 최대한 이해하고 게시물을 작성하였지만, 일부 작성된 내용이 있을 수 있다. SLA 계약 또는 공표하기 위해서는 SLO가 사전 정의가 되어 있어야 하고, SLO를 정의하기 위해서는 SLI로 지표를 정의해야 한다. SLI(Service Level Indicator) 서비스 수준 척도라고도 불리며, 자세하게 말하면 서비스에 대한 수준을 측정하고 정..
Docs를 참고하고 최대한 경험한 내용을 토대로 기재하였으나, 혹시나.. 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 코멘트로 알려주시면 확인 후 반영하도록 하겠습니다 :) 최근 EKS 노드 관리를 위해 CAS -> Karpenter로 Migration 하였다. CAS, Karpenter의 장/단점을 정리하는 게시물이다! CAS/Karpenter 2가지 플러그인만 비교한것으로 비교 구분 CAS Karpenter 비고 노드 생성 시간 느리다. - Warmpool 도입 전 약 4분 - Warmpool 도입 후 약 36초 빠르다. - 약 1분 Karpenter - NotReady 상태에서도 Pod 할당이 가능하기 때문에 Pod 할당시간이 더 빠르다. 비용 효율화 미흡함 비용 효율 CAS - 미리 지정한 N..
많은 기사에서도 접할 수 있듯이 올해 스타트업의 시장이 좋지 않다. 그래서 현재 재직중인 회사에서도 불필요한 또는 비효율적인 AWS 인프라 비용을 줄이라는 특명이 내려왔다. 그래서 AWS 인프라 비용에서 가장 많은 부분을 차지하는 EKS Node 비용을 먼저 줄여보기로 했다. 가장 좋은 방법은 각 Deployment의 Request/Limit 사이즈를 조절하는 것이다. 하지만 이것은 개발팀에서 조절하는 부분이고 데브옵스팀에서는 관여하기 어렵기에 그럼 노드를 효율적으로 사용할 수 있는 부분을 찾아보기로 했다. 그러던 중 팀원이 좋은? 괜찮은? 오픈소스인 Karpenter를 공유해주었고 당사에 적용한 내용을 기술해보고자 한다. 먼저 대부분의 EKS를 운영하는 회사에서는 Cluster Auto Scaler(이..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근 쓰니가 재직중인 회사에서 Cluster Upgrade가 있었다. 근데 Upgrade 이후, 특정 Github 레포의 helm upgrade가 되지 않는 이슈가 있었고 이를 통해 새롭게 알게 된 내용을 정리하고자 한다. Github Action Helm upgrade Fail Error: UPGRADE FAILED: current release manifest contains removed kubernetes api(s) for this kubernetes version and it is therefore unable to buil..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근에 EKS 업데이트를 했었는데, k8s 버전에 맞는 coreDNS 업데이트도 했다. coreDNS가 이름만 들어보면 언뜻 DNS 서비스를 뜻하는것 같은데, 정확히 어떤 개념이고 어떤게 동작하는지 궁금했다. CoreDNS란 무엇인가? k8s docs를 보면 아래와 같이 쿠버네티스 클러스터의 DNS 역할을 수행하는 서버로 표현되어 있다. CoreDNS는 쿠버네티스 클러스터의 DNS 역할을 수행할 수 있는, 유연하고 확장 가능한 DNS 서버이다. 쿠버네티스와 동일하게, CoreDNS 프로젝트도 CNCF 가 관리한다. 어렵게 표현했지만 결..
처음부터 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) EKS를 운영하다 보면 많은 Worker node가 있고, 수많은 Pod가 생겨난다. 그리고 이때 운영자는 별도 작업이 없지만 EKS가 자동적으로 pod에 private ip를 할당해준다. 어떻게 되는걸까? EKS 네트워킹에 대한 기본 개념과 방법에 대해서 알아보자. EKS 네트워킹 기본 구조 가장 기본적인 EKS 네트워킹의 기본 구조이다. EKS node는 다수의 Pod을 생성해야 하고, 이때 많은 Private ip가 필요로 한다. 이때 AWS에서는 AWS VPC CNI 플러그인을 제공해주고 이것은 K8s과 AWS VPC간의 브릿지 ..